87 Commits

Author SHA1 Message Date
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