soulsync/webui/static/video
BoulderBadgeDad e1e0e29432 video 'capture everything' (phase 1): stills, genres, ratings, tagline
Captures the richer metadata the media server already exposes (schema v2;
idempotent migrations + CREATE IF NOT EXISTS, so an existing DB upgrades on
restart with no wipe):
- movies: tagline, rating (audience), rating_critic; shows: tagline, rating,
  first/last air date; episodes: still_url + rating.
- Genres as a normalised many-to-many (genres + movie_genres/show_genres link
  tables — no comma-blob), deduped, replace-on-upsert.
- Plex (.genres/.tagline/.audienceRating/.rating/.thumb) + Jellyfin (Genres/
  Taglines/CommunityRating/CriticRating/Premiere+EndDate/episode Primary) both
  extract them; episode stills served via /api/video/poster/episode/<id>.
- Detail payloads return genres/tagline/rating/air-dates + per-episode has_still;
  the billboard shows a tagline, ★ score, genre chips, and episode rows render
  REAL stills (no more orange placeholder once scanned).

Seam tests for genre dedup/replace, show+episode capture, episode still ref.
Cast/crew (people + credits) is the next phase.
2026-06-14 17:17:20 -07:00
..
video-dashboard.js video dashboard: Library card is a live scan tool (parity with music) 2026-06-14 09:28:14 -07:00
video-detail.js video 'capture everything' (phase 1): stills, genres, ratings, tagline 2026-06-14 17:17:20 -07:00
video-enrichment-manager.js video enrichment: distinguish transient 'error' from 'not_found' (match music) 2026-06-14 15:34:45 -07:00
video-enrichment.js video: isolated worker-orbs idle animation on the video dashboard 2026-06-14 13:34:10 -07:00
video-library.js video: TV-show detail page (hero + season/episode tree), isolated 2026-06-14 15:59:29 -07:00
video-scan.js video Tools: rehydrate scan state on page refresh (parity with music) 2026-06-14 07:59:44 -07:00
video-settings.js video settings: per-connection Test button (mirrors music's testConnection) 2026-06-14 12:26:15 -07:00
video-side.css video 'capture everything' (phase 1): stills, genres, ratings, tagline 2026-06-14 17:17:20 -07:00
video-side.js video: TV-show detail page (hero + season/episode tree), isolated 2026-06-14 15:59:29 -07:00
video-worker-orbs.js video: isolated worker-orbs idle animation on the video dashboard 2026-06-14 13:34:10 -07:00