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
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
6f1b4db4f5
fix: enforce authentication by redirecting unauthenticated users to login
2026-05-13 15:23:37 +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
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
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
0f8d1c7dc0
fix: lint warnings - errcheck and switch style
2026-05-13 12:59:37 +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
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
71c3d4b68b
feat: add proxy token key provider to playback module
2026-05-13 12:43:02 +02:00
cc74b6720e
feat: update provider interface for title-based search
2026-05-13 12:42:47 +02:00
3ab9edd256
feat: add GetAllEpisodes to anime domain and service
2026-05-13 12:42:41 +02:00
458ee52604
fix: remaining domain interface and repository return types
2026-05-13 11:20:53 +02:00
345853406c
refactor: general architectural cleanup and bug fixes
2026-05-13 11:20:49 +02:00
1b88c4597c
feat: implement auth middleware using domain service
2026-05-13 11:20:48 +02:00
4d1fd2834b
feat: migrate playback domain to modular architecture
2026-05-13 11:20:46 +02:00
ab31cf4c4c
cleanup: remove redundant and old architectural files
2026-05-13 10:34:16 +02:00
0d6c7613a9
feat: migrate playback module to modular domain pattern
2026-05-13 10:34:01 +02:00
c94a2fed04
feat: migrate watchlist module to modular domain pattern
2026-05-13 10:33:24 +02:00
c32ffd54de
feat: migrate anime module to modular domain pattern
2026-05-13 10:32:44 +02:00
34aeb91252
feat: migrate auth module to modular domain pattern
2026-05-13 10:31:46 +02:00
424434a2a5
feat: add modular template renderer
2026-05-13 10:30:47 +02:00
4dd27d6d52
feat: add jikan integration module
2026-05-13 10:30:26 +02:00
83da0b3c25
feat: scaffold fx app and gin server
2026-05-13 10:29:50 +02:00
2167955bb2
feat: setup goose and database module
2026-05-13 10:29:34 +02:00
b03e90fc47
fix: handle close errors
2026-05-12 16:05:36 +02:00
459e4d30b3
refactor: cleanup db helpers, ratelimit and base template padding
2026-05-12 12:34:42 +02:00
790a384f58
chore: formatting
2026-05-10 20:03:35 +02:00
e48d95cb4e
feat: add comments and cleanup unused imports across codebase
2026-05-10 20:00:04 +02:00
c51382055b
refactor: remove global auth service pattern
2026-05-10 18:13:14 +02:00
d021a8eadd
feat: bound in-memory caches with LRU eviction
2026-05-10 18:04:29 +02:00
cc81347ace
chore: sqlc versioning
2026-05-08 17:13:44 +02:00
4f173ad83b
fix: don't update watchlist order when saving progress
2026-05-08 17:12:51 +02:00
334b05c6e0
chore: go fixes
2026-05-08 09:28:30 +02:00
ccc40d8d9d
chore: remove not implemented stubs
2026-05-08 09:27:49 +02:00
caf84740fc
chore: sqlc versioning
2026-05-07 17:07:37 +02:00
c77bcca7ba
fix: downgrade sqlc to v1.30.0 for go 1.25 compatibility
2026-05-07 14:59:01 +02:00