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…
Done in a475531b: the room-list "N Live" badge now has a folds tooltip (300 ms) listing the members' display names — deduped per user, capped at 6 + "and N more" — and an aria-label "2 in…
Fixed in a9e0b893: the PiP container gets the surface colour (color.Surface.Container) while in PiP mode; the full-size embed keeps the wallpaper. Verified headless — container `background-col…
Fixed in 070a1ea0. Measured first: answering a DM call from the in-call banner while in Voice Lounge left alice's m.call.member in the lounge for 17 s (until the delayed leave expired).
No…
Re-measured on the current stack (guard ee5f78b + fork 0.25.0-lotus.4), polling the sharer's client every second after an admin sets allow_screenshare:false:
+2s: host="Stop Screenshare"…
0.20.1-lotus.2, bump the pin and delete the CallControl.ts .muted DOM fallback
Done in bbcbdad5 (pin is now 0.25.0-lotus.4, which is well past the lotus.2 gate):
CallControl.setSound()/applyScreenshareAudioMuted()no longer touch<audio>.mutedinside the EC…
0.20.1-lotus.2, bump the pin and delete the CallControl.ts .muted DOM fallback
L1 verified (with a nuance). Instrumented getUserMedia in both the host page and the EC iframe during a call with AFK auto-mute enabled:
joined, unmuted: host gUM=0 liveAudio=0