Summer '26 Stage 2 release notes Audience Mode, Reactions & Expandable Menu π Audience Mode + Raise Hand Per-room audience mode toggle. Audience members get canPublish=false, canPublishData=true (they can chat/react but not broadcast audio/video). Stage members (owner/mod/promoted speakers) keep full publish grants. Promote/demote uses LiveKit UpdateParticipant for live grant changes with no reconnect, AND persists stage membership to DB so grants survive reconnect/refresh/token regen. Toggling audience mode mid-room iterates current participants and updates their grants live, with a broadcast data message for immediate UI sync. β Raise Hand lk.raisehand topic carries { event, participant_identity, pubkey?, display_name? } β LiveKit identity is used for tile mapping and promote actions, pubkey only for profile display. β indicator on tiles + a moderator queue list in RoomControls with "Bring to stage" action. Twitter-Spaces-style layout: stage tiles in grid, audience as a compact avatar strip; verified on small mobile screens. π Emoji Reactions on Tiles lk.reactions topic { emoji, participant_identity } renders a floating emoji overlay on the sender's tile that fades over ~4s. Client-side rate-limited. Reuses the EmojiPickerPopover from Stage 1 with a limited reaction set. β Expandable "^" Vertical Menu New ExpandableMenu replaces the leave slot in the custom control bar. A chevron "^" expands upward into a vertical list: Raise Hand, Reactions (mini emoji popup), and Leave (red, destructive style). Sits above the video layer and transparent chat layer with top z-index; works within the existing mobile floating pill bar CSS. special thanks to @buttercup @yeghro Sooly, Tomekk , Reed, Tigs and AJ for helping out with testing #updates