Files
amethyst/amethyst
Claude ed89e2d542 fix(nests): UI polish — Stop button, unjoinable state, hand queue, DST
Audit-driven UI fixes that don't fit the perf bucket:

* NestActionBar — wire StopBroadcastButton between MicMuteToggle and
  LeaveStageButton while broadcasting. The doc table at the top of
  the file already advertised [Mute] [Stop] [Leave the Stage] but the
  button was defined and never used; speakers had to leave the stage
  to stop sending audio.

* NestActivityContent — render an explicit loading spinner while the
  kind-30312 resolves and a clear "this room can't be opened" page
  with a Back button when the event is missing service/endpoint.
  Replaces the previous black-screen dead end.

* HandRaiseQueueSection — wrap filter+sort in remember so a heartbeat
  doesn't rebuild the queue on every recompose, swap to LazyColumn
  so a long queue doesn't render every row every frame, and show
  UsernameDisplay instead of the raw 8-char hex prefix.

* CreateNestSheet schedule picker — compute the timezone offset at
  the picked instant rather than at Instant.now(); the previous
  variant was off by one hour for rooms scheduled across a DST
  transition.

* NestViewModelFactory — pass OkHttpNestsClient's httpClient via
  named parameter so the (String) -> OkHttpClient function reference
  doesn't get bound to the Long callTimeoutMs slot. Fixes the
  pre-existing :amethyst:compilePlayDebugKotlin failure on the
  branch base.

Adds three strings (loading, unjoinable title/body, back).

https://claude.ai/code/session_01DMeCvWyBYVVVPez2hwqCs4
2026-05-01 19:25:36 +00:00
..