Files
amethyst/amethyst
Claude be227fc966 feat(audio-rooms): host hand-raise queue UI (T1 #5)
Surfaces audience members who raised their hand (kind-10312
presence with `hand=1`) and gives the host a one-tap "Approve"
button that promotes them to SPEAKER via
RoomParticipantActions.setRole.

  HandRaiseQueueSection — Compose section visible host-only.
  Filters the VM's `presences` map to entries where
  handRaised=true AND the pubkey isn't already a host / moderator /
  speaker (they wouldn't have raised their hand if they could
  already speak). Hidden when the queue is empty so a quiet room
  doesn't gain a placeholder.

  AudioRoomFullScreen — gates the section on `isHost` and stitches
  it in below the audience row.

  Strings: `audio_room_hand_raise_queue_title`,
           `audio_room_hand_raise_approve`.

Approve flow:
  presence.hand=1 → RoomParticipantActions.setRole(event, target,
  ROLE.SPEAKER) → account.signAndComputeBroadcast → relay sees
  same `d`-tag → kind-30312 replaced. The promoted user's
  participant tag now reports canSpeak() == true; their VM's
  startBroadcast() gating in commons unblocks them automatically
  on the next render.
2026-04-26 22:41:54 +00:00
..