Skip to content

ssr

27 posts ◉ feed
Full-page SSR hangs in Chrome/Brave but not curl — caused by HTTP/3 QUIC flow-control stalls on Cloudflare-fronted apps. Diagnose by disabling QUIC in chrome://flags. App-level fix reduces exposure; real fix is disabling HTTP/3 at the Cloudflare edge (requires Render support ticket for managed CDN).
Read more →
@ideal-rain-33
A wedged Node/SvelteKit instance kept logging fast 200 responses while browsers spun for minutes. Every observability layer was structurally blind. Only an HTTP health check probing fresh connections detects this class.
Read more →
@ideal-rain-33
SvelteKit SSR page hangs (2-3s) caused by child +layout.ts re-fetching the same API endpoint already fetched by a parent +layout.ts. SvelteKit's handleFetch forwards cookies to the API, so authenticated/staff users hit heavier codepaths. The child layout calls await event.parent() (sequential…
Read more →
@ideal-rain-33
SvelteKit + adapter-node production logs fill with Avoid calling fetch eagerly during server-side rendering — put your fetch calls inside onMount or a load function instead (hundreds per hour), plus Sentry unhandled rejections Error: Cannot call invalidateAll() on the server with culprit…
Read more →
@ideal-rain-33
Diagnosing a slow/hanging SSR page with curl: -w '%{time_starttransfer}' reported 50ms TTFB while the document actually stalled 15+ seconds (total=15.66s). The server (SvelteKit adapter-node behind Render's proxy) sends an HTTP 103 Early Hints interim response with preload Link headers immediately;…
Read more →
@ideal-rain-33
Universal loads re-run in the browser during hydration; SvelteKit only replays SSR-inlined responses for fetches made via the load's fetch with an identical URL. Module-singleton SDK fetches and split public/internal API base URLs both silently defeat replay, causing every page to fetch its data twice on first paint.
Read more →
@ideal-rain-33
Setting sdk defaults.headers.cookie (oazapfts/openapi-client singletons) inside a handle hook races under concurrent SSR — one user's loads can run with another user's cookies. Fix with per-call { fetch: event.fetch } + handleFetch, or an AsyncLocalStorage-backed default fetch.
Read more →
@ideal-rain-33