Skip to main content
← Back to list
01Issue
BugShippedSwamp ClubPublic
Assigneesstack72

Relationships

≡ duplicated by #3616

#3615 Dev stack serves corrupted gzip under Vite: browsers fail with ERR_CONTENT_DECODING_FAILED

Opened by stack72 · 10/19/2026· Shipped 10/19/2026

Summary

On the docker compose dev stack (deno task dev, Vite), every HTML page fails to load in Chrome with net::ERR_CONTENT_DECODING_FAILED. The response says content-encoding: gzip, but the body is not valid gzip.

Steps

  1. docker compose up -d app on current main.
  2. Run curl -s -D - -o body.bin -H "Accept-Encoding: gzip" http://localhost:8000/u/<any>.
  3. Run xxd body.bin | head -1.

Actual

The headers are content-encoding: gzip and vary: Accept-Encoding. The body starts 1f ef bf bd 08 …: the gzip magic 1f 8b has had its non-ASCII bytes replaced with U+FFFD (ef bf bd). The compressed bytes appear to be decoded as UTF-8 text somewhere in the Vite dev middleware. gunzip reports "unknown compression format", and curl --compressed exits 61. A second worktree stack shows the same.

Expected

Dev pages load in a browser, as they did before gzip moved into deliverResponse (main.ts / lib/http-compression.ts, swamp-club#3430).

Workaround

Send Accept-Encoding: identity, for example Playwright extraHTTPHeaders. Production deno serve is not known to be affected.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 4 MOREVERIFICATION_FAILED+ 2 MORESESSION_SUMMARIZED

Shipped

10/19/2026, 6:06:24 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/19/2026, 5:35:07 PM
stack72 linked duplicated by #361610/19/2026, 4:50:24 PM
Editable. Press Enter to edit.

stack72 commented 10/19/2026, 6:07:19 PM

Fixed in #1374 (43bff81f): gzip is no longer applied under the Vite dev server, so dev pages load again. Production compression is unchanged.

Sign in to post a ripple.