soulsync/api/video
BoulderBadgeDad 8bbdd712f9 video: per-title accent on preview + person pages (same-origin image proxy)
Owned detail pages sample the poster for the per-title glow, but preview/person
pages fell back to the theme accent because their TMDB images are cross-origin
(canvas taint). Added /api/video/img — a same-origin proxy restricted to
image.tmdb.org (SSRF-safe) — so:
- preview (tmdb) detail samples its poster via the proxy → real accent;
- the person page samples the portrait → per-person accent on the ring/glow/role.
Tests: route registered + proxy rejects non-tmdb URLs.
2026-06-15 11:46:49 -07:00
..
__init__.py video: in-app Search + TMDB-backed (preview) detail + person pages 2026-06-14 23:31:35 -07:00
dashboard.py video Tools: server-prefix the scan title (Plex/Jellyfin Library Scan) 2026-06-14 07:47:40 -07:00
detail.py video: in-app Search + TMDB-backed (preview) detail + person pages 2026-06-14 23:31:35 -07:00
enrichment.py video: OMDb worker survives a bad/expired API key gracefully 2026-06-15 09:20:00 -07:00
libraries.py video side: library mapping backend (pick Movies/TV library) 2026-06-14 00:24:01 -07:00
library.py video Library: server-side paging + sort/filter + card badges (music parity) 2026-06-14 08:57:25 -07:00
poster.py video: per-title accent on preview + person pages (same-origin image proxy) 2026-06-15 11:46:49 -07:00
scan.py video Tools: match music Database Updater (stats, cancel, real progress) 2026-06-14 07:35:57 -07:00
search.py video: smart multi-layer back button + next-level search/person 2026-06-15 08:30:17 -07:00