Commit Graph
3 Commits
Author SHA1 Message Date
Jinjing ca9777093b test(e2e): stabilize release triage coverage (#14328)
* test(e2e): stabilize release triage coverage

* test(e2e): avoid post-selection remount race

* test(e2e): wait for New tab search focus

* test(e2e): focus New tab search without pointer input

* test(e2e): reopen voice settings after device change
2026-08-13 12:38:08 -07:00
Jinjing 1d2b8c7f42 test(e2e): stabilize triaged release failures (#14242)
* test(e2e): stabilize triaged release failures

* rm file
2026-08-13 08:58:04 -07:00
7c7167028c feat(voice): allow selecting a microphone for dictation (#12119)
* feat(voice): allow selecting a microphone for dictation

Persist a preferred audioinput device in Voice settings and pass it into
getUserMedia, falling back to the system default when the device is gone.

* fix(voice): resolve mic preference by label and detect mid-capture loss

Drop Chromium's 'default'/'communications' aliases from the picker — pinning
one behaved exactly like system default and silently defeated the setting.

Resolve a stored preference against the live device list before capturing:
a unique label match heals an id that Chromium re-salted, a known-missing
device skips the doomed getUserMedia attempt that clipped the first words,
and an unreadable list no longer reads as "unplugged".

Surface the input ending mid-dictation instead of feeding silent zeros, add
a permission affordance so the picker is not empty before mic access, and
toast the fallback once per preference rather than once per utterance.

Co-authored-by: Orca <help@stably.ai>

* add e2e tests

* add e2e tests

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
Co-authored-by: Orca <help@stably.ai>
2026-08-02 16:25:56 -07:00