jalendarreddy97
e4b0c53b3b
Add monthly rank tracking schedule ( #45 )
...
* feat: add monthly rank tracking schedule
* fix(ci): un-export ScheduledRankTrackingInterval to satisfy knip
---------
Co-authored-by: Ben Senescu <bensenescu@gmail.com>
2026-06-28 17:32:05 -04:00
Fishlex0
e4a90d6767
feat: add country combobox ( #43 )
...
* feat: add country combobox
* refactor: change to a switch statement
2026-06-28 16:29:53 -04:00
Ben Senescu
f8d5ffd285
Scheduled rank checks run through DataForSEO's task queue ( #268 )
2026-06-13 11:20:42 -04:00
Ben Senescu
ae2031bfad
Harden domain and backlinks validation before external calls ( #183 )
...
* Validate backlinks targets before calling DataForSEO
* Validate backlinks targets before provider calls
2026-05-12 19:15:51 -04:00
Ben Senescu
7f892ca433
Merge pull request #19 from every-app/split-modal-dismissal
...
fix: exit closes modal + accessible labels
2026-05-06 10:46:45 -04:00
Ben Senescu
17298da7ee
fix: capture DataForSEO errors with context ( #138 )
2026-04-24 00:16:20 -04:00
Ben Senescu
e78ef5e3dd
fix: accept full URLs in rank tracking domain input ( #117 )
...
Replace DOMAIN_REGEX with URL-based normalization so users can paste
full URLs (e.g. https://example.com/path ) into the domain config form
without getting a ZodError. The URL class handles protocol stripping,
hostname extraction, and validation natively.
2026-04-16 02:58:34 -04:00
Ben Senescu
86d3714846
feat: allow free plan users to set up rank tracking ( #116 )
2026-04-16 02:19:23 -04:00
Ben Senescu
aeafa5649d
feat: polish rank tracking UI ( #115 )
2026-04-16 00:42:10 -04:00
Ben Senescu
53a83996ef
feat: Rank Tracking MVP ( #91 )
2026-04-14 20:29:38 -04:00