From eb8f803c36aebabdabdecd77e686cb25b464b8cd Mon Sep 17 00:00:00 2001 From: BoulderBadgeDad Date: Wed, 17 Jun 2026 19:17:29 -0700 Subject: [PATCH] Channel rail: sharp season posters (maxres thumbnail, was a cropped hqdefault) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- webui/static/video/video-detail.js | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/webui/static/video/video-detail.js b/webui/static/video/video-detail.js index 3900e5e0..b5858a70 100644 --- a/webui/static/video/video-detail.js +++ b/webui/static/video/video-detail.js @@ -902,7 +902,14 @@ return '
' + data.seasons.map(function (s) { var art = seasonArt(s), p = pct(s); var on = s.season_number === selectedSeason ? ' vd-rcard--active' : ''; - var img = art ? '' : ''; + // YouTube posters carry a lower-res fallback (maxres → original) so a + // missing maxresdefault.jpg downgrades instead of vanishing. + var fb = (s.poster_fallback && s.poster_fallback !== art) ? s.poster_fallback : ''; + var oe = fb + ? 'var f=this.getAttribute(\'data-fb\');if(f){this.removeAttribute(\'data-fb\');this.src=f;}else{this.style.display=\'none\';}' + : 'this.style.display=\'none\''; + var img = art ? '' : ''; return '