Skip to content

Voice: status icons + live speaking indicator#325

Open
hardlygospel wants to merge 1 commit into
mpiorowski:mainfrom
hardlygospel:feat/voice-presence-icons
Open

Voice: status icons + live speaking indicator#325
hardlygospel wants to merge 1 commit into
mpiorowski:mainfrom
hardlygospel:feat/voice-presence-icons

Conversation

@hardlygospel
Copy link
Copy Markdown
Contributor

@hardlygospel hardlygospel commented Jun 7, 2026

What

The voice roster used to show each participant as @name <word> with the status as plain text, and the controls line was text-only. This adds status icons and a live speaking indicator:

  • Each participant row gets a status icon: 🟢 speaking · ⚪ listening · 🔇 muted · 🔕 deafened.
  • A speaking user's name pops green + bold while they're talking — a real-time "who's talking" cue.
  • The controls line gains matching icons: 🟢 live · ⏎ leave · 🎤 u mic · 🎧 d deafen.

How

Presence is factored into a small priority-ordered enum (deafened > muted > speaking > listening) with icon() / label() / color(), so the roster and the controls line stay in sync and the logic is unit-testable.

Tests

Two new unit tests cover the presence precedence and that every state has a distinct icon and label. cargo test -p late-ssh --lib voice is green; no new clippy warnings.

UI-only change, contained to voice/ui.rs. No service, schema, or config changes.

Thanks 🙏

  • mat (@mpiorowski) — for late.sh and the voice feature this builds on. Thank you for the foundation that makes polish like this possible.

The voice roster previously showed each participant as '@name <word>'
with the status as plain text. Give each row a status icon (green dot
speaking, white dot listening, muted-speaker, muted-bell deafened) and
make a speaking user's name pop green+bold as a live indicator. The
controls line gains matching icons (mic / headphones / enter).

Presence is factored into a small priority-ordered enum (deafened >
muted > speaking > listening) with unit tests covering the precedence
and icon/label distinctness.

Signed-off-by: Tony Hosaroygard <tasmaniamate@gmail.com>
@hardlygospel hardlygospel requested a review from mpiorowski as a code owner June 7, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant