Skip to content

Add local audio device selection to TUI voice settings - #49437

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/d48fb3a09fa9b982a408f5a7c96bdd81776af21d
Sep 30, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/d48fb3a09fa9b982a408f5a7c96bdd81776af21d

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Add local audio device selection to TUI voice settings

Why

Voice conversations previously opened the system-default microphone and speaker. Users need to choose which local devices to use, including when connected to a remote app server.

What changed

  • Add input and output device pickers alongside voice selection, with back navigation and a System default option.
  • Persist selections as audio.microphone and audio.speaker on the TUI's machine, excluding project configuration layers. Apply them to the next voice conversation.
  • Enumerate devices without opening audio streams and pass the selected names to the voice helper at startup.
  • Disable ambiguous device names in the picker and use the same eligibility filtering for discovery and named-device startup.

Testing

Add tests for device preference persistence across project and remote transitions, picker navigation and duplicate names, discovery without capture, and forwarding selected devices to the helper.

## Why

Voice conversations previously opened the system-default microphone and speaker. Users need to choose which local devices to use, including when connected to a remote app server.

## What changed

- Add input and output device pickers alongside voice selection, with back navigation and a System default option.
- Persist selections as `audio.microphone` and `audio.speaker` on the TUI's machine, excluding project configuration layers. Apply them to the next voice conversation.
- Enumerate devices without opening audio streams and pass the selected names to the voice helper at startup.
- Disable ambiguous device names in the picker and use the same eligibility filtering for discovery and named-device startup.

## Testing

Add tests for device preference persistence across project and remote transitions, picker navigation and duplicate names, discovery without capture, and forwarding selected devices to the helper.

GitOrigin-RevId: d48fb3a09fa9b982a408f5a7c96bdd81776af21d
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/d48fb3a09fa9b982a408f5a7c96bdd81776af21d branch from 877ef1f to fc81a71 Compare September 30, 2026 01:58
@copyberry
copyberry Bot merged commit fc81a71 into main Sep 30, 2026
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/d48fb3a09fa9b982a408f5a7c96bdd81776af21d branch September 30, 2026 01:58
@github-actions

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

This branch was previously deployed

1 inactive deployment
issue-triage — fc81a715 Deployed Sep 30, 2026 by OTTO-OTO via Identify potential duplicates (all issues) #49940
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants