diff --git a/docker-compose.yml b/docker-compose.yml index d7113e5..564707a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,6 +24,7 @@ services: - /home/docker/jellyfin/config:/config - /home/docker/jellyfin/cache:/cache - /home/user/media:/media:ro + - /opt/docker/jellyfin/web-overrides/index.html:/jellyfin/jellyfin-web/index.html:ro networks: - proxy labels: diff --git a/docs/04-theming-and-users.md b/docs/04-theming-and-users.md index 6301b18..3bdbda9 100644 --- a/docs/04-theming-and-users.md +++ b/docs/04-theming-and-users.md @@ -178,14 +178,59 @@ Jellyfin web caches aggressively in browsers. After applying: | Field | Value | |---|---| -| `LoginDisclaimer` | "Welcome to tv.s8n.ru — LAN-only. Be kind, rewind." (will swap to arrflix.s8n.ru when the new cert lands) | -| `CustomCss` | `@import` of **Cineplex v1.0.6** from jsDelivr — pinned tag `@v1.0.6` (immutable). Plus appended cast/crew hide rule. | +| `LoginDisclaimer` | "Welcome to ARRFLIX - Private invite only service" | +| `CustomCss` | `@import` of **Cineplex v1.0.6** from jsDelivr — pinned tag `@v1.0.6` (immutable). Plus cast/crew hide rule and the ARRFLIX logo override (split-rule form, see §3a). | | `SplashscreenEnabled` | `true` | `SplashscreenEnabled: true` makes Jellyfin auto-pick a backdrop from the library and serve it at `/Branding/Splashscreen`. The web client doesn't itself surface this; mobile/TV clients do. Harmless to leave on. +### 3a. ARRFLIX logo override — fix for triple-stacked wordmark (2026-05-08) + +Initial override copied Cineplex's three-selector group verbatim and +combined `content: url(...)` with `background-image: url(...)` on every +selector. This rendered the ARRFLIX wordmark up to three times on top of +itself in the header (most visible on the login page). Two root causes, +verified against the live `/jellyfin/jellyfin-web/` bundle: + +1. **`.imgLogoIcon` is a phantom selector.** A grep of every `*.js`, + `*.html` and `*.css` asset shipped with Jellyfin 10.10.3 returns zero + matches. Cineplex's upstream rule (`imgLogoIcon { content: url(...) }` + — note the missing leading dot) is itself a no-op typo. Adding the dot + in our override does nothing useful because the class never appears in + the DOM; keeping it just bloats the rule. +2. **`content: url(...)` on a `