feat: replace single microphone selector with prioritized device list#1070
feat: replace single microphone selector with prioritized device list#1070i-kozlov wants to merge 2 commits intocjpais:mainfrom
Conversation
|
ill check this out when I have time, I think its probably a good change you didnt give any screenshots though... we need to have good and obvious UI for this, and it's where I am most hesitant to pull in. carefully think about the UI and UX, it needs to be very good to be pulled in. |
a2b1e3c to
99e634f
Compare
- Local OpenAI-compatible API server on /v1/audio/transcriptions (cjpais#509) - GNOME system shortcuts via gsettings for Wayland (cjpais#572) - Wake word detection infrastructure with settings (cjpais#618) - Live transcription mode settings (overlay/clipboard) (cjpais#832) - Qwen3-ASR engine type placeholder for future transcribe-rs (cjpais#957) - Prioritized microphone device list with fallback (cjpais#1070) - Flatpak detection helper (cjpais#548) - Storybook dev script (cjpais#784)
99e634f to
b9cf377
Compare
|
updated to resolve conflicts |
|
I don't think you reviewed my earlier comment... |
|
my bad. i missed that. |
|
The UI doesn't really fit nicely into the styling of the app. Please consider this. Also consider how other apps have done this |
|
much better looking imo, ill have a think about this too. im wondering if the ordering is an advanced setting? im not quite sure what the behavior is for this. im not sure how many people will use this, or just certain people. like for myself I wont use it, but I do see the value |
|
Thanks, i think i got the idea now: |
6e19841 to
649f133
Compare
|
@VirenMohindra curious for some opinions here I more or less like this directionally @i-kozlov I want to think about it a bit more the exact flow |
|
yeah me too. i have a couple questions though
should also fix these ones if possible~
and some other nits which are non-blocking~
and finally, rebase if you have a sec, will take a closer look! |
…ttings Add Multiple Microphones toggle in Advanced > Input that enables a prioritized device list with automatic failover. When enabled, the General > Microphone dropdown is disabled with an inline explanation. Backend: multi_microphone_enabled and prioritized_microphones fields in AppSettings, priority-based device selection in audio manager with fallback chain: clamshell → prioritized → selected_microphone → OS default.
- Auto-seed selected_microphone into prioritized list on toggle enable - Add input validation in set_prioritized_microphones (filter empty/dupes) - Guard focus event listener with multi-mic enabled check - Add focus:opacity-100 for keyboard accessibility on add button - Add multipleMicrophones translations to all 17 non-English locales - Extract select_microphone_name() and add 7 unit tests for fallback chain
649f133 to
1b86455
Compare





Before Submitting This PR
Human Written Description
I have a USB microphone connected through a docking station, but it is not set as the default device. Setting it as default is not very useful because connecting AirPods always overrides the default input device.
Because of this, I cannot use the "use system default input" setting. At the same time, I also cannot configure this USB microphone as the fixed input device for Handy, because the docking station may be disconnected, which would make the microphone unavailable.
What I would like instead is the ability to set this USB microphone as a priority device, with an automatic fallback to the MacBook built-in microphone if the USB microphone is not available.
Related Issues/Discussions
Discussion: #1069
Community Feedback
See discussion: #1069
Testing
selected_microphonesetting is automatically moved to position 0 of the newprioritized_microphoneslist on first launchclamshell_microphonestill takes priority over the list when lid is closedScreenshots/Videos
UI with two prioritized devices (first one active):
The settings page now shows two sections:
AI Assistance
If AI was used: