Internal
Public Access
fetch() only rejects on true network failures, not bad status codes, so a reverse proxy (Nginx Proxy Manager) returning 502/503 while the app server itself is down was passed through as-is instead of falling back to the offline experience. Now a >=500 response is treated the same as a network error. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>