Verified and done for the overlays in 8658ec05: all 11 seasonal overlays (particles + their vanilla-extract keyframes) were in the main JS and the main CSS year-round. Each is now a `React.lazy…
Shipped in 84c906fe, with one deliberate deviation from the design's measurement source:
Measurement — not the Date header. Synapse's CORS policy only exposes `Synapse-Trace-Id, Server,…
Done in 2e7915d0: a visually hidden aria-live="polite" region rendered by CallEmbedProvider (outside the embed, so "Call ended" is still spoken) announces joins/leaves — batched over 1.5 s…
Fixed in 464951ed, option (a): an own non-relation/non-state/non-reaction live event always brings the live end into view — advance the range + smooth scroll when the window is at the live end,…
Fixed in 60076a48. rateLimitedActions now returns { failures } (non-429 errors, plus a 429 that exhausted its retries) instead of swallowing them; existing callers ignore the return. /kick…
Fixed in 6df160a7: describeUploadError() maps the failure to one sentence — 413/M_TOO_LARGE → "This file is larger than the server allows (limit 52.4 MB)." (limit from m.upload.size when…
Not a seasonal button — it's the TanStack Query devtools floating toggle (<ReactQueryDevtools> in App.tsx, button.tsqd-open-btn, "Open Tanstack query devtools"; its logo is the…