boban
3568e67ca0
fix(api): use DeleteLink action for cache invalidation, fix validation, add delete tests
2026-05-16 07:42:56 +02:00
boban
1375519cdb
feat(api): REST API v1 — links CRUD with Sanctum auth
...
Adds /api/v1/workspaces/{ulid}/links endpoints (index, store, destroy)
protected by Sanctum token auth; adds HasApiTokens to User model and
AuthorizesRequests to base Controller; wires routes/api.php into bootstrap.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 07:38:45 +02:00
boban
86f767a626
fix(analytics): UTM from query string, iOS before macOS detection, remove dead referer fallback
2026-05-16 01:00:10 +02:00
boban
66e559173c
feat(analytics): click recording job with IP hashing, device detection, Redis counters
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 00:56:52 +02:00
boban
ebdcd141bb
feat(redirect): hot-path redirect controller with Redis cache, 302/404/410
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 00:52:16 +02:00
boban
25dddf5293
feat: initial Nimuli scaffold with Laravel 12, Livewire 3, Octane, Reverb, Docker
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 23:51:57 +02:00