diff --git a/docs/26-incident-2026-05-09-page-unresponsive-and-playback.md b/docs/26-incident-2026-05-09-page-unresponsive-and-playback.md index f9fde99..b8ff56a 100644 --- a/docs/26-incident-2026-05-09-page-unresponsive-and-playback.md +++ b/docs/26-incident-2026-05-09-page-unresponsive-and-playback.md @@ -1304,6 +1304,59 @@ that the device profile doesn't DirectPlay). **Repo commit:** `web-overrides/index.html` updated under git so the repo state matches the deployed file (no drift). +### INC5 scrollbar grey strip (2026-05-09 ~02:05 UTC) + +**Symptom.** Owner reported thin grey horizontal strip at very bottom +of page on https://arrflix.s8n.ru/web/#/home.html when scrolled. Strip +about 15px tall, full-width. Should be black to match ARRFLIX dark +theme. + +**Root cause.** Chrome native scrollbar default track color = grey +(`#f5f5f5`-ish on light, mid-grey on dark sites). Visible as the +bottom-row scrollbar gutter even when no horizontal overflow exists, +because Chrome renders the gutter under the page's `overflow: scroll` +container. BLACK-PASS rules covered every visible content surface but +missed browser native UI chrome. `::-webkit-scrollbar` pseudo-elements +are the only path to style it. + +**Fix.** Add `::-webkit-scrollbar*` rules to `branding.xml` CustomCss +painting track `#000000`, thumb `#2a2a2a` (lighter grey for visibility +on hover `#3a3a3a`), corner `#000000`, plus `scrollbar-color` for +Firefox. Apply server-wide so all scrollbars (page, carousels, dialogs) +match. + +**Patch (idempotent, marked INC5):** + +```css +*::-webkit-scrollbar { + background: #000000 !important; + width: 10px; + height: 10px; +} +*::-webkit-scrollbar-track { background: #000000 !important; } +*::-webkit-scrollbar-thumb { + background: #2a2a2a !important; + border-radius: 5px; +} +*::-webkit-scrollbar-thumb:hover { background: #3a3a3a !important; } +*::-webkit-scrollbar-corner { background: #000000 !important; } +* { scrollbar-color: #2a2a2a #000000; } +html, body { scrollbar-color: #2a2a2a #000000; } +``` + +**Verified.** Applied to `/home/docker/jellyfin/config/config/branding.xml` +on prod, `docker restart jellyfin`. Owner-side hard-reload removes grey +strip. + +**Lesson learned.** BLACK-PASS rules covered all visible content +surfaces but missed browser native UI chrome. When designing a +fully-black theme, audit scrollbars + form controls + native +context menus + select dropdowns separately — they bypass site CSS +and use UA defaults unless explicitly styled. + +**Repo:** patch added to `bin/apply-26-incident-fixes.sh` so re-applies +include INC5 scrollbar. + ### INC5 MNS playback verify (post-fix end-to-end test) Closes the loop on Iteration-3 INC5 fixes (AV1 source re-encode +