mirror of
https://github.com/vector-im/element-call.git
synced 2026-09-22 22:29:30 +00:00
Say when there is no microphone rather than showing one at rest
With no microphone attached the menu drew a level indicator resting at zero, announcing "No sound detected" — which is exactly what a working but silent microphone draws. The two states people most need to tell apart looked the same. The level state now distinguishes a microphone that is absent from one that is merely quiet, and the microphone group names the absence where the indicator would be, as it already does for a denied permission. A microphone that is merely slow to open still draws at rest, so the indicator is on screen as soon as the menu is. The product spec listed this as an edge case but no requirement carried it, so no acceptance criterion covered it either. Added as AC28 with the owner's authorisation, and the product spec's edge case reworded to say what the menu does rather than that it shows nothing. Spec: FEATURES_SPEC/2026-09_Audio_Quick_Menu.md — AC28. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -150,6 +150,9 @@ Test names are the anchor; tests are created with exactly these names.
|
||||
- AC27 [SC-003] — Every menu control is reachable and operable by keyboard alone in
|
||||
Chromium and Firefox.
|
||||
- check: `pnpm test:playwright --project=chromium --project=firefox -g "audio menu is keyboard operable in a real browser"`
|
||||
- AC28 [review: #4254] — With no microphone present, the menu names the absence in place
|
||||
of the level indicator, rather than an indicator at rest.
|
||||
- check: `pnpm vitest run --project=unit -t "audio menu says when there is no microphone"`
|
||||
|
||||
## Rejected alternatives
|
||||
|
||||
@@ -298,6 +301,15 @@ is what holds it there.
|
||||
container, which Compound does not expose today. Raised separately. The audio menu behaves
|
||||
as specified standalone and as a widget, which is where its acceptance criteria are checked.
|
||||
|
||||
### 2026-09-11 — review finding: a missing microphone read as a silent one (#4254)
|
||||
- The product spec's edge case for no microphone mapped to no FR and so to no acceptance
|
||||
criterion, and the menu drew a level indicator at rest, which is what a working but
|
||||
silent microphone draws. The owner chose a hint in the indicator's place, as FR-018
|
||||
requires for a denied permission, over omitting the microphone group entirely. The level
|
||||
state now tells a microphone that is absent from one that is silent.
|
||||
- Added as AC28 and the product spec's edge case reworded to match, both with the owner's
|
||||
authorisation, since acceptance criteria and the product spec are human-owned.
|
||||
|
||||
## PRs
|
||||
|
||||
- #4254 — draft, one commit per slice — AC1–AC27 (AC6, AC21, AC24 manual by the reviewer;
|
||||
|
||||
@@ -63,7 +63,7 @@ Join and leave chimes and reaction sounds are too loud during a call. The partic
|
||||
|
||||
- The menu is opened while muted: the operating system's "microphone in use" indicator turns on even though the participant is muted. No disclosure in the menu is required — that indicator is expected to behave the same whether the participant is muted or not, and mute state and microphone sampling are independent of one another.
|
||||
- The active microphone or speaker is unplugged while the menu is open — the menu must settle on a device that exists rather than showing a stale selection.
|
||||
- No microphone is present at all: the microphone section and the level indicator have nothing to show.
|
||||
- No microphone is present at all: the menu says so where the level indicator would be. An indicator at rest is what a working but silent microphone shows, so the two must not look alike.
|
||||
- Microphone permission has not been granted yet — most likely when the menu is opened in the lobby before joining.
|
||||
- Another application or browser tab holds the microphone exclusively, so the level indicator receives no signal even though the device is fine. Rare on current operating systems, which share the microphone between applications; where it does happen, the indicator shows a greyed-out state.
|
||||
- Sound-effects volume is set to zero: effects are silent but the rest of the call audio is unaffected.
|
||||
|
||||
Reference in New Issue
Block a user