sjdonado
aec073b696
fix: tests type errors
2025-11-02 10:16:19 +01:00
sjdonado
6e587f0176
ci: update parsers workflow
2025-11-02 08:55:34 +01:00
sjdonado
0c89fad713
refactor: improve click buffer performance
2025-11-02 08:48:10 +01:00
sjdonado
9fa7142ea7
feat: improve performance with dynamic batch capacity
2025-03-23 22:04:38 +01:00
sjdonado
a68259a0f4
fix: click_channel decrease buffer size and processor batch size
2025-03-23 13:33:17 +01:00
sjdonado
136e4d44c9
refactor: link controller buffered channel to hold click data
2025-03-23 13:30:34 +01:00
sjdonado
660d536618
fix: replace user_agent_parser with UserAgent + pre compiled regexes
2025-03-23 12:27:52 +01:00
sjdonado
e1d3ec480d
refactor: IpLookup lazy load reader
2025-03-23 12:25:19 +01:00
sjdonado
0180f36a62
refacgor: move cors handler to middlewares
2025-03-23 12:10:12 +01:00
sjdonado
4500c89904
fix: convert IpLookup to struct and remove reader instance
2025-03-23 11:55:34 +01:00
sjdonado
e67ed7165b
feat: click controller performance improvements
...
- return tuple directly from the block
- avoid to parse remote_address in the main thread
- avoid to replace headers, add only
- avoid separate variables for one-single use
2025-03-20 20:43:15 +01:00
sjdonado
4ae6ef39d5
refactor: replace ClickController class with struct
2025-03-20 20:42:51 +01:00
sjdonado
f2b63c00a3
chore: run benchmark
2025-03-20 13:03:15 +01:00
sjdonado
6a151301b8
refactor: replace click tracker with direct spawn
2025-03-20 13:02:38 +01:00
sjdonado
bf717dc38f
fix: return inserted_link on create
2025-03-20 08:50:55 +01:00
sjdonado
73ee4c4479
fix: user id and link id int64 types
2025-03-20 08:13:07 +01:00
sjdonado
38f9cfd48e
fix: replace uuid columns with rowid aliases
2025-03-20 07:34:33 +01:00
sjdonado
e14fc266bb
chore: cleanup
2025-03-19 06:11:04 +01:00
sjdonado
3983102caa
refactor: click tracker remove unused imports
2025-03-18 11:07:34 +01:00
sjdonado
fba2039efc
refactor: request thread safety context
2025-03-18 11:04:50 +01:00
sjdonado
eb0db67358
refactor: LinkController remove unnecessary overhead
2025-03-18 09:39:39 +01:00
sjdonado
1f41d13667
refactor: ClickTracker service
2025-03-18 08:53:03 +01:00
sjdonado
67c27d3056
feat: performance improvement replace spawn with Async::Future.execute
2025-03-18 07:51:51 +01:00
sjdonado
6bd0d195bf
refactor: link get raw query
2025-03-17 09:46:41 +01:00
sjdonado
68e00e7c85
feat: database pool_size
2025-03-17 09:40:42 +01:00
sjdonado
21f53f257c
chore: upgrade version to 1.5.1
2025-03-16 18:56:33 +01:00
sjdonado
7d617bbb30
feat: api links/:id/clicks endpoint
2025-03-16 18:34:46 +01:00
sjdonado
cd6dfa345b
feat: links all cursor pagination
2025-03-16 18:30:52 +01:00
sjdonado
1967cc2c22
fix: get remote address cloudfare proxy
2025-03-16 18:04:36 +01:00
sjdonado
60ebac7150
chore: update API docs
2025-03-16 14:22:32 +01:00
sjdonado
cd8e2433a5
feat(cli): --update-data download UA Parser and GeoLite2
2025-03-16 13:40:33 +01:00
sjdonado
8cab7a51ad
feat: country ip lookup
2025-03-16 11:42:01 +01:00
sjdonado
ece74226d4
feat: add country to clicks
2025-03-16 11:26:20 +01:00
sjdonado
d26aa2f18a
feat: links redirect forward client ip
2025-03-16 10:20:01 +01:00
sjdonado
a271e7c35d
chore: bump version
2024-11-27 22:51:52 +01:00
sjdonado
dc8c359bfc
test: admin env variables cases
2024-11-27 22:51:18 +01:00
sjdonado
dfb6b10caf
feat: setup admin user via env variables
2024-11-27 22:27:17 +01:00
Juan Rodriguez
98dedc4494
refactor: powered_by_header kemal config
2024-10-27 11:07:59 +01:00
Juan Rodriguez
ea71d3825e
fix: generate slug by user + check existing link on update
2024-07-31 22:09:24 +02:00
Juan Rodriguez
98f103f5cf
fix: url validate format
2024-07-31 21:38:57 +02:00
Juan Rodriguez
6fc48dae83
refactor: replace slug generation with CRC32 + base62
2024-07-31 21:38:36 +02:00
Juan Rodriguez
37e14ec2f8
refactor: sha256 slug generation
2024-07-31 08:07:08 +02:00
Juan Rodriguez
80cebe3357
fix: update slug size after 2nd attempt
2024-07-14 22:30:15 +02:00
Juan Rodriguez
451a5fbf0f
fix: link email validate format regex
2024-07-14 14:33:34 +02:00
Juan Rodriguez
aeb6d1164b
fix: remove X-Powered-By header
2024-07-14 14:33:19 +02:00
Juan Rodriguez
2f14cd82dd
fix: error handling override kemal default response
2024-07-14 11:19:59 +02:00
Juan Rodriguez
faedd0bc7a
fix: missing errors content type
2024-07-14 09:26:38 +02:00
Juan Rodriguez
1d207fae64
fix: log level error for production env
2024-07-14 09:26:25 +02:00
Juan Rodriguez
a71f345f66
refactor: APP_URL + DATABASE_URL default values
2024-07-14 08:46:29 +02:00
Juan Rodriguez
7cc6c1197f
refactor: auto run migrations on startup
2024-07-14 08:46:11 +02:00