Commit Graph

62 Commits

Author SHA1 Message Date
2ed03a667b refactor: split BuildWatchData into focused helpers 2026-06-11 14:45:15 +02:00
188eec58a2 refactor: reduce cyclomatic complexity of UpsertSkipSegmentOverride 2026-06-11 12:59:58 +02:00
b72bace16a refactor: use url.Values in proxy token url 2026-06-11 12:29:29 +02:00
f8cf4579af test: add HLS playlist rewrite and detection tests 2026-06-08 02:13:41 +02:00
1a1189d035 feat: add HLS playlist rewriting to proxy stream 2026-06-08 02:13:32 +02:00
db4dc20603 refactor: replace HMAC proxy tokens with in-memory store 2026-06-08 02:13:21 +02:00
625c3bbe25 refactor: dedupe repo tx 2026-06-01 22:22:14 +02:00
bfe23276ba refactor: dedupe proxy handlers 2026-06-01 22:14:15 +02:00
e146b0320a docs: add package comments to playback packages 2026-06-01 12:55:43 +02:00
aebdd75942 fix: preserve watchlist progress on complete and status update 2026-05-29 00:03:47 +02:00
5dd49e585a refactor: extract CurrentUser and CurrentUserID helpers 2026-05-28 12:51:11 +02:00
cdebd407e4 refactor: update playback module imports for flattened package structure 2026-05-28 12:39:55 +02:00
8b405845a1 refactor: move playback service from subdirectory 2026-05-28 12:38:34 +02:00
ceec637a43 refactor: move playback repository from subdirectory 2026-05-28 12:38:26 +02:00
9695d7772d refactor: update playback handler imports for flattened pkg/net 2026-05-28 12:36:31 +02:00
dd4c7f80f3 feat: add transactional InTx to playback and watchlist repos 2026-05-28 12:17:19 +02:00
6cc25af18a refactor: switch playback to AnimePlaybackService interface 2026-05-28 12:12:09 +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