Hello,
I'm experiencing a persistent response decoding issue with JSON API endpoints on Vercel Preview deployments. Static assets and the UI load correctly, but HTTP 200 JSON responses fail to decode in Chrome.
Environment
- Plan: Hobby
- Deployment environment: Preview
- Observed: October 25, 2026, approximately 14:57 KST (05:57 UTC)
- Browser: Chrome on Windows
Observed behavior
GET /api/v1/auth returns:
- HTTP status: 200 OK
- Content-Type:
application/json; charset=utf-8 - Content-Encoding:
br - Cache-Control:
no-store - X-Vercel-Cache:
MISS
However, Chrome reports:
net::ERR_CONTENT_DECODING_FAILED 200 (OK)
The page displays no JSON body. Another JSON endpoint, /api/records, exhibits the same behavior, while the static dashboard, map clustering, and filters work.
Application authentication is disabled at this stage. The /api/v1/auth endpoint returns fixed JSON without contacting Supabase.
The application uses res.end(JSON.stringify(value)) and does not manually configure compression or Content-Encoding, Content-Length, or Transfer-Encoding headers.
Previous investigation
We reproduced similar behavior in a separate, minimal diagnostic Vercel project:
- Preview HTTP 200 JSON responses failed with Vercel Authentication both enabled and disabled.
- HTTP 422 JSON responses worked.
- Production JSON responses worked in previous tests.
- Preview deployment protection has since been restored.
The current Preview's response bytes under identity/gzip/br negotiations have not yet been independently verified.
Request
Has anyone experienced a similar issue with HTTP 200 JSON responses on Vercel Preview deployments?
I'd appreciate any insights into possible causes or recommended troubleshooting steps.
Thank you.