# ROLLBACK — emergency revert procedures > When something breaks, follow these recipes. Each is one shell block + verify step. ## When to use this Any of: - Live users report black screens, missing UI, can't login - Headless probe shows `darkPct > 50%` during playback - `/Branding/Css.css` returns 0 bytes - Container won't start or stays unhealthy - `curl -s https://arrflix.s8n.ru/web/index.html | grep -c ARRFLIX-MIDDLE-THEME-BEGIN` returns 0 - Owner says "rollback" — don't debate, restore first, diagnose after ## ROLLBACK 1 — overlay (most common) Symptom: theme regression, wrong colors, missing features after a deploy. Login or home page renders but looks wrong. Source: every prod deploy creates a `.bak.pre-.` file in `/opt/docker/jellyfin/web-overrides/`. Pick the most recent (or the one matching the last-known-good state — e.g. `index.html.bak.pre-favfix.1778318089` is pre-v6+favfix). ```bash ssh user@nullstone 'set -e TS=$(ls /opt/docker/jellyfin/web-overrides/index.html.bak.* 2>/dev/null | sort -V | tail -1) echo "Restoring from: $TS" docker run --rm --userns=host -v /opt/docker/jellyfin/web-overrides:/d:rw alpine sh -c "cp $TS /d/index.html && chown root:root /d/index.html && md5sum /d/index.html" docker restart jellyfin && sleep 12 docker exec jellyfin md5sum /jellyfin/jellyfin-web/index.html' ``` Verify: `curl -s https://arrflix.s8n.ru/web/index.html | grep -c ARRFLIX-MIDDLE-THEME-BEGIN` returns `1`. Then hard-refresh the browser (`Ctrl+Shift+R`) — defeats Service Worker + HTTP cache. ## ROLLBACK 2 — branding.xml Symptom: `/Branding/Css.css` returns 0 bytes (Cineplex theme stops loading site-wide). Usually caused by an unescaped `