Commit Graph

792 Commits

Author SHA1 Message Date
cb1423f843 feat: add Jikan client methods for staff, statistics, themes, reviews 2026-05-15 19:36:01 +02:00
4827573e41 feat: add isEmptyResult cases for new response types 2026-05-15 19:35:57 +02:00
3e3b96053c feat: add Jikan response types for staff, statistics, themes, reviews 2026-05-15 19:35:54 +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
391569166c style: remove unnecessary parentheses in arrow functions 2026-05-15 02:52:09 +02:00
8ab6cf4986 feat: add search dialog with keyboard shortcut 2026-05-15 02:51:55 +02:00
4982b69c17 style: trim padding on watch page and base layout 2026-05-15 02:45:08 +02:00
de672db44e chore: changing accent color 2026-05-15 02:39:59 +02:00
88edf87178 fix: episode transition, progress save, and seek alignment 2026-05-15 02:22:43 +02:00
aa8df4fd54 feat: natural toast messages with anime title 2026-05-15 02:22:20 +02:00
74e2aa50fd feat: improve video seeking and range request handling 2026-05-15 01:39:29 +02:00
604a9ab382 fix: removed rounded corners except for inputs 2026-05-15 01:15:46 +02:00
598e842b2c feat: tweak theme colors and streamline sidebar chrome 2026-05-15 01:15:00 +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
25ac7f20ad Merge pull request 'refactor/significant-changes' (#4) from refactor/significant-changes into main
Reviewed-on: mkelvers/mal#4
2026-05-14 11:37:04 +00:00
35c1d3da1a Merge pull request 'refactor/significant-changes' (#3) from refactor/significant-changes into main
Reviewed-on: mkelvers/mal#3
2026-05-14 11:25:25 +00:00
b31ef97204 chore: tidy go dependencies 2026-05-14 12:42:17 +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
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