sjdonado
aec073b696
fix: tests type errors
2025-11-02 10:16:19 +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
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
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
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
Juan Rodriguez
ea71d3825e
fix: generate slug by user + check existing link on update
2024-07-31 22:09:24 +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
cd9a44fcc9
fix: link controller preload + headers validation
2024-07-12 21:28:44 +02:00
Juan Rodriguez
0758bf4cee
fix: existing_links preload clicks
2024-07-12 20:26:43 +02:00
Juan Rodriguez
3050c2b100
feat: get link by id endpoint
2024-07-12 08:47:08 +02:00
Juan Rodriguez
a2aa586dae
feat: get all links clicks join
2024-07-12 07:58:21 +02:00
Juan Rodriguez
a1b67b8553
fix: avoid create links duplicates
2024-07-12 07:46:58 +02:00
Juan Rodriguez
dbc81796d6
feat: store click data on redirect
2024-07-12 07:46:49 +02:00
Juan Rodriguez
bac73f2a47
fix: stream is closed before call_next
2024-07-10 21:41:48 +02:00
Juan Rodriguez
0ad534065c
feat: user migration + model
...
- link belongs to user
- user api_key index
2024-05-13 22:33:38 +02:00
Juan Rodriguez
80feadfbd2
feat: delete link
2024-05-13 22:30:44 +02:00
Juan Rodriguez
ded84e7fa5
feat: update link
2024-05-13 10:15:08 +02:00
Juan Rodriguez
b20417d579
refactor: error handling return exception message
2024-05-13 09:22:36 +02:00
Juan Rodriguez
9564559610
refactor: rename src folder with app
2024-05-13 08:14:47 +02:00
Juan Rodriguez
720b70c6a0
chore: remove rails app
2024-05-12 15:07:56 +02:00
Juan Rodriguez
cebdfb35d7
fix: parsed_url + stripped_url
...
- store and redirect urls without protocol
- update README
- increment counter with SQL COALESCE
- add linksHelper
- update tests
2023-03-27 09:53:09 +02:00
Juan Rodriguez
73b674b613
refactor: ⚡ Username and slug unique indexes, before actions for set link and user
...
confirm_password_validation around action, unnecessary helpers removed, rubocop-rails suggestions applied
Add username index and unique slug index migrations
2021-06-15 15:24:34 -05:00
Juan Rodriguez
9204abf2e3
refactor: 🔥 Generate slug with attempts
...
Link short method removed, generate_slug test added, deleted unused files
2021-06-15 12:08:01 -05:00