d7fee6d518
fix: use seeded RNG for random anime fallback
2026-05-20 17:22:54 +02:00
0e16f9f720
fix: return 204 and log error on lazy load failure
2026-05-20 17:22:54 +02:00
abc2368842
fix: cast limit to int for slice capacity
2026-05-20 17:22:54 +02:00
2cfab673f6
feat: add request logger middleware
2026-05-20 17:22:54 +02:00
5482a40d47
refactor: extract watchlist map to service, optimize command palette queries
2026-05-20 17:22:54 +02:00
c4bd5cc395
feat: add batch watchlist and command palette db queries
2026-05-20 17:22:54 +02:00
575a7aa417
feat: add hot path indexes for watch list and cache queries
2026-05-20 17:22:54 +02:00
db654c8dee
fix: wrap datetime() in jikan cache expiry queries
2026-05-20 17:22:54 +02:00
285367ad84
refactor: rename SkipSegmentOverride to SkipSegmentOverrideRow to avoid sqlc conflict
2026-05-19 11:29:40 +02:00
80e441fc48
chore: remove unused SkipSegmentOverride struct
2026-05-19 11:26:28 +02:00
1a9e1d60bc
feat: add skip segment overrides backend
2026-05-19 11:02:54 +02:00
237b5f3004
feat: add API token authentication
2026-05-19 02:46:47 +02:00
ccfb469299
feat: add CORS middleware for API routes
2026-05-19 02:46:44 +02:00
3a4fa82f14
feat: add year field to quick search response
2026-05-19 02:46:41 +02:00
3230cf874f
fix: skip hop-by-hop headers in proxy stream
2026-05-18 15:08:43 +02:00
943285b356
feat: add shared size limit constants
2026-05-18 15:08:26 +02:00
56c8618f5f
chore: formatting
2026-05-18 14:08:17 +02:00
d258d9af27
feat: add lru+ttl subtitle cache
2026-05-18 14:07:53 +02:00
9859ddea42
feat: add shared user agent constants
2026-05-18 14:07:33 +02:00
825f481329
chore: formatting
2026-05-18 13:59:11 +02:00
a097410f40
refactor: use mock transport in watch order tests and harden server timeouts
2026-05-18 13:58:17 +02:00
493d69edae
feat: expose initial mode and mode switch info in episode data api
2026-05-17 21:16:55 +02:00
9414d3b51e
feat: use canonical episodes in watch data and wire episode service
2026-05-17 21:16:50 +02:00
c5ea265c46
feat: register episodes module in fx app
2026-05-17 21:16:44 +02:00
eb6bb3bbd4
feat: add episode service merge and broadcast tests
2026-05-17 21:16:39 +02:00
501dcb7d38
feat: add episode service with background refresh worker
2026-05-17 21:16:34 +02:00
daf4ec7923
feat: add episode availability querier interface methods
2026-05-17 21:16:19 +02:00
66333b335b
feat: add episode availability sql queries and generated code
2026-05-17 21:16:14 +02:00
cb143be35c
feat: add episode availability cache and provider mapping models
2026-05-17 21:16:09 +02:00
4126e56d69
feat: add episode domain types
2026-05-17 21:16:04 +02:00
dd2f7247f1
feat: add episode availability cache and provider mapping tables
2026-05-17 21:15:59 +02:00
9ba327d5c5
feat: add timeout and abort handling to command palette search
2026-05-17 20:38:08 +02:00
cf53ffdd77
feat: expand continue watching in command palette
2026-05-17 17:34:27 +02:00
66edd9c062
feat: replace quick search with command palette
2026-05-17 17:24:07 +02:00
0e5416aab3
feat: add reviews subpage with infinite scroll
2026-05-15 19:36:35 +02:00
59fb0ed7f8
feat: add statistics and themes lazy section dispatch
2026-05-15 19:36:27 +02:00
897d4a0c2e
feat: add formatDate template function and subdirectory glob support
2026-05-15 19:36:12 +02:00
ae64f39e2c
feat: add service implementations for staff, statistics, themes, reviews
2026-05-15 19:36:08 +02:00
df0aa52490
feat: add domain type aliases and service interface methods
2026-05-15 19:36:04 +02:00
4bd6e71e8c
fix: handle empty random anime response and improve surprise-me UX
2026-05-15 17:22:56 +02:00
0df43b6f51
feat: add HTMX-driven filter bar and browse fragments
2026-05-15 03:25:14 +02:00
88edf87178
fix: episode transition, progress save, and seek alignment
2026-05-15 02:22:43 +02:00
74e2aa50fd
feat: improve video seeking and range request handling
2026-05-15 01:39:29 +02:00
c8b189d0e7
feat: preserve fullscreen when autoplaying next episode
2026-05-15 00:24:05 +02:00
a47497f822
chore: go fixes
2026-05-14 13:38:42 +02:00
596e8265f7
refactor: remove noisy debug logging
2026-05-14 12:41:41 +02:00
eb173ac072
chore: formatting
2026-05-14 12:30:06 +02:00
b3c906a16e
fix: centralize watchlist dropdown js and fix page load timing
2026-05-13 19:05:10 +02:00
efbce87d5c
feat: set status to completed on anime completion
...
Check existing watchlist status — if already completed, just clear
progress and remove from continue watching. Otherwise upsert with
status 'completed'.
2026-05-13 18:28:33 +02:00
28e8b322d0
feat: add watch-complete endpoint
...
Removes continue_watching_entry and clears progress when the last
episode finishes so it no longer shows in Continue Watching.
2026-05-13 18:22:18 +02:00