600c8dec2e
refactor: replace HMAC proxy tokens with in-memory store
2026-06-08 08:32:10 +02:00
b9ad50b67a
refactor: dedupe repo tx
2026-06-08 08:32:09 +02:00
b9e1cc9aeb
refactor: dedupe proxy handlers
2026-06-08 08:32:09 +02:00
f818bd4395
docs: add package comments to playback packages
2026-06-08 08:32:09 +02:00
faf0a4db9f
fix: preserve watchlist progress on complete and status update
2026-06-08 08:32:09 +02:00
bf28c307c9
refactor: extract CurrentUser and CurrentUserID helpers
2026-06-08 08:32:09 +02:00
7ff407bafa
refactor: update playback module imports for flattened package structure
2026-06-08 08:32:09 +02:00
198786d743
refactor: move playback service from subdirectory
2026-06-08 08:32:09 +02:00
d6b96068fb
refactor: move playback repository from subdirectory
2026-06-08 08:32:09 +02:00
2091f0f365
refactor: update playback handler imports for flattened pkg/net
2026-06-08 08:32:09 +02:00
d528f6b372
feat: add transactional InTx to playback and watchlist repos
2026-06-08 08:32:09 +02:00
4a4ed6ef02
refactor: switch playback to AnimePlaybackService interface
2026-06-08 08:32:08 +02:00
eb9e682b75
chore: formatting
2026-05-26 22:51:50 +02:00
e9576d7584
refactor: domain anime type
2026-05-26 22:45:16 +02:00
65a7b0f50d
refactor: typed proxy key
2026-05-26 22:40:09 +02:00
9938bf6c57
fix: stop swallowing errors
2026-05-26 22:36:41 +02:00
28df1fc5f7
chore: drop empty fxtags
2026-05-26 22:28:57 +02:00
cce840e7f5
fix: harden subtitle cache
2026-05-26 22:25:22 +02:00
57be9a5d70
feat: record audit events for watch progress and completion
2026-05-26 16:14:37 +02:00
118c028873
feat: add structured error response helpers
2026-05-26 15:57:29 +02:00
28251876e1
fix: handle mac.Write errors in proxy token signing
2026-05-26 15:56:55 +02:00
1e9874a482
refactor: migrate env-var reads to config package
2026-05-26 15:38:14 +02:00
f8ba6db3d6
fix: use constant-time comparison for proxy token signature
2026-05-26 15:31:37 +02:00
4606c790f1
fix: handle backend errors and driver import
2026-05-24 22:46:02 +02:00
23246e2326
fix: surface segment save errors in editor
2026-05-22 16:43:15 +02:00
51355a4dbc
fix: render segment overrides and skip progress
2026-05-22 16:34:38 +02:00
812dcd2448
feat: typed anime and playback payloads
2026-05-21 16:19:58 +02:00
285367ad84
refactor: rename SkipSegmentOverride to SkipSegmentOverrideRow to avoid sqlc conflict
2026-05-19 11:29:40 +02:00
1a9e1d60bc
feat: add skip segment overrides backend
2026-05-19 11:02:54 +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
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
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
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
b7f91f3b1b
feat: save progress to continue_watching_entry only
...
Replace SaveWatchProgress (UPDATE watch_list_entry) with
UpsertContinueWatchingEntry so progress persists for any anime
without creating watchlist entries.
2026-05-13 18:16:02 +02:00
a5b0aeca98
fix: fetch both sub and dub streams on watch page load
...
Previously the backend only fetched streams for the single requested
mode (defaulting to sub), so modeSources never had a dub entry.
The frontend's switchMode showed visual feedback but streamUrlForMode
returned an empty string since no dub token existed.
Now both modes are fetched and availableModes is derived from what
actually resolved.
2026-05-13 17:53:12 +02:00
e7dfaaf8c0
chore: format with prettier
2026-05-13 13:36:22 +02:00
846fe9ccd9
feat: add proxy transport with dns caching, subtitle handler, and stream pre-warm
2026-05-13 13:35:27 +02:00
8006868fe2
fix: improve video title matching and segments null error
2026-05-13 13:23:54 +02:00
14b7668afa
chore: formatting
2026-05-13 13:01:39 +02:00