Critical bug-fix for 1.4.0 / 1.4.1
If you upgraded to 1.4 and your Jellyfin web UI now renders as a wall of random garbage characters — this fixes it.
Root cause
Our IndexHtmlInjectionMiddleware reads the /web/ response as UTF-8 to inject a <script> tag. When Kestrel serves the pre-compressed index.html.gz static asset (Content-Encoding: gzip), we were reading the compressed bytes as text, corrupting them, and writing garbage back. The browser tried to render the binary gzip payload as HTML, producing mojibake.
Fix
Strip Accept-Encoding on the incoming /web/ request before the response is generated, so the static file handler responds with identity-encoded HTML. Applied only to the three paths this middleware intercepts; other assets (JS, CSS, images) continue to be gzipped normally. Trivial size cost — only the ~50KB index page.
Upgrade
Manifest auto-update or https://raw.githubusercontent.com/ZL154/JellyfinSecurity/main/manifest.json.
No config change needed. No re-pair. Just upgrade and hard-reload the browser.