ui: loading states, player failure overlay + retry, toasts, back nav, full history page with delete

Bundle 1-4+7 from PLAN.md: skeleton loaders, player Loading/Buffering/fatal overlay with Retry, action toasts, back-to-home crumb + logo fix, ?history full-history view with per-entry delete (GET /api/history?all=1, DELETE /api/history). 14/14 tests green.
This commit is contained in:
jozamudi committed 2026-08-19 18:20:42 +00:00
1 parent 19e878800c
commit 2ec0f8a034
10 files changed
+414 -20

No files matched your search

+7 -4
View File
@@ -41,11 +41,14 @@ the app or CLI are rejected immediately, even with an old cookie.
PBKDF2-SHA256 hashes in `server/data/users.json` (0600).
- Per-user watch history (`server/data/history/<user>.json`): position
saved every ~10s, resume where you left off, top-5 "recently played"
on the home page. Nothing stored in the browser — new devices pick
up your watch state after login, isolated per account.
In-header chip shows the user, with logout + delete-account.
on the home page, full history page with per-entry delete. Nothing
stored in the browser — new devices pick up your watch state after
login, isolated per account. In-header chip shows the user, with logout
+ delete-account (hamburger menu).
- Search with poster grid, detail view with synopsis + season tabs
- HLS playback (vendored hls.js), browser ABR across 1080/720/360p
- HLS playback (vendored hls.js), browser ABR across 1080/720/360p;
loading/buffering overlay, and a failure overlay with Retry when a
stream can't be played
- Dub/sub toggle
- Fast repeat navigation: upstream data is TTL-cached and HLS
playlists/segments are LRU-cached, so re-opening a show or re-seeking is