|
|
b32873fc76
|
feat: add episode titles api endpoint
|
2026-07-06 07:37:06 +02:00 |
|
|
|
bf13a4a1f8
|
feat: add episode title enrichment to playback service
|
2026-07-06 07:37:01 +02:00 |
|
|
|
73b4436f61
|
feat: wire tvmaze as episode title provider
|
2026-07-06 07:36:58 +02:00 |
|
|
|
522a99ddf8
|
test: add episode title enrichment tests
|
2026-07-06 07:36:54 +02:00 |
|
|
|
5679be866a
|
feat: add episode title enrichment with cache update
|
2026-07-06 07:36:51 +02:00 |
|
|
|
51bdf5c53a
|
feat: wire title provider and singleflight into episode service
|
2026-07-06 07:36:46 +02:00 |
|
|
|
f3b6489d03
|
refactor: accept episode provider interface in provider mapping
|
2026-07-06 07:36:42 +02:00 |
|
|
|
9487ff124a
|
feat: add playback episode title service interface
|
2026-07-06 07:36:39 +02:00 |
|
|
|
dbda4b96a4
|
feat: add episode title provider and service interfaces
|
2026-07-06 07:36:36 +02:00 |
|
|
|
a4bc38990d
|
test: add tvmaze client tests
|
2026-07-06 07:36:33 +02:00 |
|
|
|
05ede20893
|
feat: add tvmaze api client
|
2026-07-06 07:36:29 +02:00 |
|
|
|
03e1990f11
|
test: add player loading and source resolution tests
|
2026-07-06 07:10:08 +02:00 |
|
|
|
5a3797b5df
|
test: add player accessibility assertion
|
2026-07-06 07:10:02 +02:00 |
|
|
|
61900a508c
|
feat: add loading ui and aria attributes to video template
|
2026-07-06 07:10:00 +02:00 |
|
|
|
413759c454
|
feat: integrate loading state into player init and remove metadata fetch
|
2026-07-06 07:09:56 +02:00 |
|
|
|
7215b1a4ee
|
feat: use loading state machine in episode navigation
|
2026-07-06 07:09:53 +02:00 |
|
|
|
6b6256b839
|
feat: wire loading state into video source loading
|
2026-07-06 07:09:50 +02:00 |
|
|
|
28bb28c5e5
|
refactor: split source module into resolve and refresh paths
|
2026-07-06 07:09:47 +02:00 |
|
|
|
65358aa809
|
feat: add aria-labels to player controls
|
2026-07-06 07:09:44 +02:00 |
|
|
|
e39e73bc6b
|
feat: add player loading state machine with perf tracking
|
2026-07-06 07:09:40 +02:00 |
|
|
|
f5b38c519b
|
test: add tests for deferred mode sources and local anime lookup
|
2026-07-06 07:09:32 +02:00 |
|
|
|
a595ade533
|
refactor: split watch data build into focused helper functions
|
2026-07-06 07:09:27 +02:00 |
|
|
|
8ec647943e
|
test: replace episode metadata tests with deferred playback test
|
2026-07-06 07:09:23 +02:00 |
|
|
|
722f936734
|
feat: defer provider resolution in watch page handler
|
2026-07-06 07:09:18 +02:00 |
|
|
|
8e11afb3b5
|
test: update episode service tests for provider-only flow
|
2026-07-06 07:09:14 +02:00 |
|
|
|
80b5aec448
|
feat: remove jikan fallback from episode refresh
|
2026-07-06 07:09:10 +02:00 |
|
|
|
d06d6de4c4
|
feat: bump availability version to 4 and drop jikan-only cache paths
|
2026-07-06 07:09:06 +02:00 |
|
|
|
1110cb1809
|
feat: merge provider titles into canonical episodes
|
2026-07-06 07:09:02 +02:00 |
|
|
|
0d2459fa3c
|
feat: fetch episode titles from allanime provider
|
2026-07-06 07:08:57 +02:00 |
|
|
|
9f370448ed
|
feat: add deferred playback data context helpers
|
2026-07-06 07:08:54 +02:00 |
|
|
|
6a7cd55b47
|
feat: add title field to episode availability domain
|
2026-07-06 07:08:48 +02:00 |
|
|
|
217478c894
|
refactor: reduce cyclomatic complexity in template tests
|
2026-07-05 23:27:11 +02:00 |
|
|
|
137c6ab644
|
test: use wg.Go in concurrent resolve test
|
2026-07-05 23:25:17 +02:00 |
|
|
|
539dd917f8
|
chore: remove stale audit fix documents
|
2026-07-05 23:24:26 +02:00 |
|
|
|
1317bbb532
|
chore: move static assets from assets/source to static/assets
|
2026-07-05 23:22:45 +02:00 |
|
|
|
d3ddf5d228
|
chore: remove audit screenshots and report, keep fix documents
|
2026-07-05 23:17:16 +02:00 |
|
|
|
3c82c32e87
|
feat: prefetch next episode and hover-preload in player
|
2026-07-05 23:09:04 +02:00 |
|
|
|
7d59674649
|
test: add forced source refresh and manifest cache integration tests
|
2026-07-05 23:08:50 +02:00 |
|
|
|
7278676a2e
|
refactor: sanitize proxy error messages and observability
|
2026-07-05 23:08:44 +02:00 |
|
|
|
0abee703a1
|
feat: wire source cache and manifest cache into playback pipeline
|
2026-07-05 23:08:39 +02:00 |
|
|
|
8c2562496a
|
feat: add HLS manifest cache with TTL-based expiry
|
2026-07-05 23:08:34 +02:00 |
|
|
|
a0d11e3a7b
|
feat: add source cache with stale-while-revalidate
|
2026-07-05 23:08:26 +02:00 |
|
|
|
a9bb16d8b5
|
style: use range-over-int in sequel test
|
2026-07-05 22:08:34 +02:00 |
|
|
|
a31d71bca6
|
refactor: use strings.SplitSeq in static delivery
|
2026-07-05 22:08:29 +02:00 |
|
|
|
11ec256e18
|
refactor: use strings.SplitSeq in cookie Forwarded parsing
|
2026-07-05 22:08:25 +02:00 |
|
|
|
7dfc54b3e3
|
refactor: use slices.Contains for season validation
|
2026-07-05 22:08:21 +02:00 |
|
|
|
d2d94b919d
|
refactor: use maps.Copy for watchlist map clone
|
2026-07-05 22:08:17 +02:00 |
|
|
|
a3cfae33f2
|
test: add shared cache test for top pick/top picks
|
2026-07-05 22:06:06 +02:00 |
|
|
|
04a9b0b0bd
|
feat: share cache between top pick and top picks endpoints
|
2026-07-05 22:06:00 +02:00 |
|
|
|
57a6aa8f7a
|
test: fix port default test to match behavior
|
2026-07-04 05:20:36 +02:00 |
|