Commit Graph

922 Commits

Author SHA1 Message Date
eb173ac072 chore: formatting 2026-05-14 12:30:06 +02:00
2619dc2c94 fix: autoplay video instantly on watch page load 2026-05-13 23:48:09 +02:00
e675f125d4 fix: replace revealed sentinel with intersect once for infinite scroll 2026-05-13 20:55:45 +02:00
4f6b534093 refactor: extract watchlist remove button into shared component 2026-05-13 19:08:13 +02:00
b3c906a16e fix: centralize watchlist dropdown js and fix page load timing 2026-05-13 19:05:10 +02:00
950e143faf fix: clean up completion flow and watch page dropdown 2026-05-13 18:44:08 +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
6c45a80623 fix: pass watchlist status to anime detail page
Anime detail page never looked up or passed the user's watchlist
status, so the dropdown always showed 'Add to Watchlist'. Now
queries watch_list_entry and passes Status and WatchlistIDs.
2026-05-13 18:18:22 +02:00
413ee70923 feat: use saved progress for watch button on anime page
Check continue_watching_entry to find the episode to resume from.
Show 'Continue Episode N' instead of 'Watch Now' when progress exists.
2026-05-13 18:16:25 +02:00
851c9d701f feat: link continue watching cards to saved episode
Include ?ep=N in the watch links so clicking a continue watching
card loads the correct episode and resumes from saved progress.
2026-05-13 18:16:19 +02:00
89e0120ca6 feat: add GetContinueWatchingEntry to watchlist service
Expose continue watching entry lookup so other handlers can check
saved progress for an anime without needing the playback service.
2026-05-13 18:16:14 +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
699394e2e9 fix: add linker flags to server build 2026-05-13 16:09:20 +02:00
1b20fa9d32 fix: enhance entrypoint diagnostics and ensure server binary is executable 2026-05-13 16:07:22 +02:00
b625f024f3 fix: allow static and dist paths to bypass auth middleware 2026-05-13 16:04:50 +02:00
9077dbbfcf fix: remove unused os import in database.go 2026-05-13 15:55:58 +02:00
239957d261 fix: use DATABASE_FILE env var consistently and update Dockerfile 2026-05-13 15:55:19 +02:00
afbfc59452 feat: set DB_PATH to /app/data/mal.db and ensure directory exists 2026-05-13 15:54:45 +02:00
299553a878 fix: revert sqlc schema to migrations/ matching main branch 2026-05-13 15:50:21 +02:00
ce9dde3af7 fix: sqlc schema path to absolute path for Docker build 2026-05-13 15:38:38 +02:00
6f1b4db4f5 fix: enforce authentication by redirecting unauthenticated users to login 2026-05-13 15:23:37 +02:00
037137f48a fix: update dist paths to include static/ subdirectory matching Bun output 2026-05-13 15:07:32 +02:00
7dfae428e5 fix: entrypoint now logs dist contents instead of clearing 2026-05-13 14:58:28 +02:00
00fb8b3b2f fix: ensure dist files are cleared at container startup 2026-05-13 14:12:02 +02:00
3f6da13299 fix: remove explicit transaction from migration 012
Goose wraps each migration in a transaction automatically.
Explicit BEGIN TRANSACTION/COMMIT caused a nested transaction
error in SQLite.
2026-05-13 13:46:44 +02:00
27a1017c5d fix: update migration paths in Dockerfile and sqlc config 2026-05-13 13:42:32 +02:00
e7dfaaf8c0 chore: format with prettier 2026-05-13 13:36:22 +02:00
d00f9493af fix: cast cloneNode to DocumentFragment for firstElementChild access 2026-05-13 13:35:53 +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
d7ee662bb0 fix: delete button removes correct watchlist item 2026-05-13 13:14:20 +02:00
ff15a82f10 fix: watchlist 500 from missing UUID and toast classList error 2026-05-13 13:10:04 +02:00
14b7668afa chore: formatting 2026-05-13 13:01:39 +02:00
5f7d82fc0b chore: move test-only helpers to test file 2026-05-13 13:00:59 +02:00
0f8d1c7dc0 fix: lint warnings - errcheck and switch style 2026-05-13 12:59:37 +02:00
0a5ed4ae76 fix: add missing test helpers and fix interface assertion 2026-05-13 12:59:05 +02:00
5a4d48f1b7 chore: remove unreachable middleware package 2026-05-13 12:57:17 +02:00
cca1f0c68d chore: remove unreachable worker package 2026-05-13 12:56:45 +02:00
ec664a6d07 chore: remove unreachable auth middleware and context package 2026-05-13 12:54:16 +02:00
10295a239f chore: remove unreachable middleware package 2026-05-13 12:52:37 +02:00
a99b8b3844 chore: remove unreachable functions 2026-05-13 12:51:47 +02:00
c814e1d391 fix: align template data keys with template expectations 2026-05-13 12:49:56 +02:00
862961d262 feat: add ResolveProxyToken to PlaybackService interface 2026-05-13 12:43:39 +02:00
77ad87bbd8 fix: use exported field names for EpisodeData in watch template 2026-05-13 12:43:29 +02:00
0e25f98f37 refactor: update watch route in watchlist_actions template 2026-05-13 12:43:24 +02:00
2f47dfce94 refactor: update watch route in continue_watching template 2026-05-13 12:43:18 +02:00
687ab64e5e feat: add episode thumbnails and proxy stream handlers, update watch route 2026-05-13 12:43:13 +02:00
28a1723166 feat: add proxy tokens, skip segments, and title-based search to playback service 2026-05-13 12:43:08 +02:00