- Thread focus mode: threads open centered in the main pane (expand
button, room-list thread rows, and any ShowThread while focus mode is
active); back bar / Escape / channel click return to the timeline.
Centering strips the sidebar's thread cards so no duplicate remains.
- Room list: active-thread rows under channels (unread threads plus the
one currently open), collapsible section headers with per-space
persistence, live space-membership DM filtering (fixes the DM section
capping at ~6 rooms after a space switch).
- CSS: Compound token overrides now also target the body theme class so
remapped tokens stop shadowing back to green; reply-quote restyle;
min-width on the room body so the message action bar can't render
off-pane with a thread panel open in narrow windows (edit "did
nothing").
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ship our own Element Call fork build instead of the stock embedded package
(webpack copy repointed to ../element-call/dist, with npm-package fallback), and
rework the in-call room layout to match the Blap design:
- Chat stays in the main pane with the call as a compact right-hand column;
when someone shares a screen the call takes prominence in the main pane and
chat moves to the side column (never hidden). Driven by a same-origin
screenshare signal from the EC fork.
- Camera-off: pass the `blapVideoMuted` flag to EC and drop the old (unreliable)
widget-action mute code.
- Room list already lists in-call members under voice channels; add an
"IN THE CALL" header to the call column.
- Hide redundant RTC call-notification ("Video call") pings from the timeline.
- Room header: remove the now-redundant chat, threads and member-facepile
buttons; keep info working over the call (call stays mounted).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>