soulsync/webui/static/video
BoulderBadgeDad eb8f803c36 Channel rail: sharp season posters (maxres thumbnail, was a cropped hqdefault)
The rail 'season poster' is a video thumbnail shown in a 2:3 portrait slot
(object-fit: cover), but InnerTube hands us hqdefault (480x360, often sqp-shrunk)
— so it got crop-zoomed and looked soft. Now the poster pulls maxresdefault
(1280x720; ~300KB vs ~23KB) via the image proxy, with a fallback chain
(maxres → original thumbnail → hide) so videos without a maxres thumb still
render. Only the big rail poster is upgraded; the small episode stills already
downscale crisply.
2026-06-17 19:17:29 -07:00
..
video-calendar.js Calendar: keep hero side panels >=10% wide + make Compact the default view 2026-06-17 00:03:49 -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 Channel rail: sharp season posters (maxres thumbnail, was a cropped hqdefault) 2026-06-17 19:17:29 -07:00
video-discover.js Discover: fix grid pagination + session cache + responsive pass 2026-06-16 15:44:36 -07:00
video-enrichment-manager.js Video Manage-Workers modal: realign to the music modal's exact design 2026-06-17 14:18:43 -07:00
video-enrichment.js YouTube worker: push status over the socket like the others (stop polling) 2026-06-17 11:59:39 -07:00
video-get-modal.js Wishlist: episode synopsis + clickable cards + FIFO/newest sort 2026-06-16 18:21:26 -07:00
video-library.js Video: airing shows get BOTH the watchlist eye AND the get/download button 2026-06-16 11:07:53 -07:00
video-person.js Video: wire the eye/get button onto every card surface 2026-06-16 10:41:07 -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-search.js YouTube channels: follow = watchlist only (clean toast) + drop the misleading '90 videos' 2026-06-17 13:37:15 -07:00
video-settings.js Video side: own server connection (Plex/Jellyfin), music-style picker, isolated 2026-06-15 16:42:22 -07:00
video-side.css Channel page: search + sort within the channel (restores the lost browse controls) 2026-06-17 18:45:40 -07:00
video-side.js Video: deep-link every sidebar page (URL parity with the music side) 2026-06-17 16:52:58 -07:00
video-watchlist-btn.js Watchlist eye: confirm before removing (the standard yes/no dialog) 2026-06-16 09:29:31 -07:00
video-watchlist.js YouTube next-level (UI): channel detail page + wishlist YouTube tab = TV nebula 2026-06-17 01:20:13 -07:00
video-wishlist.js YouTube: proxy channel/video images so avatars + thumbnails always load 2026-06-17 08:40:33 -07:00
video-worker-orbs.js Dashboard: YouTube date enricher as a 4th worker orb + Follow→Watchlist consistency 2026-06-17 11:05:59 -07:00
video-youtube.js YouTube channels: follow = watchlist only (clean toast) + drop the misleading '90 videos' 2026-06-17 13:37:15 -07:00