Skip to content

Surface realtime voice catalog failures in the TUI - #49073

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

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

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Surface realtime voice catalog failures in the TUI

Why

Failed thread/realtime/listVoices requests silently fell back to the built-in catalog, allowing voice selection and conversation startup to proceed without the server's voice catalog.

What changed

  • Propagate catalog errors and show an error instead of opening the voice picker or starting a realtime conversation.
  • If the catalog lookup fails after saving a preference, report that the preference was saved but the effective voice could not be confirmed. Leave the in-memory voice settings unchanged.

Testing

Extend remote voice tests and snapshots to cover catalog failures when opening the picker, saving a preference, and starting a conversation. Verify that the preference is persisted, in-memory settings stay unchanged, and failed startup clears realtime state without sending thread/realtime/start.

## Why

Failed `thread/realtime/listVoices` requests silently fell back to the built-in catalog, allowing voice selection and conversation startup to proceed without the server's voice catalog.

## What changed

- Propagate catalog errors and show an error instead of opening the voice picker or starting a realtime conversation.
- If the catalog lookup fails after saving a preference, report that the preference was saved but the effective voice could not be confirmed. Leave the in-memory voice settings unchanged.

## Testing

Extend remote voice tests and snapshots to cover catalog failures when opening the picker, saving a preference, and starting a conversation. Verify that the preference is persisted, in-memory settings stay unchanged, and failed startup clears realtime state without sending `thread/realtime/start`.

GitOrigin-RevId: ba40800d6f9002e02e2b33de8dc858188c3cddd7
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/ba40800d6f9002e02e2b33de8dc858188c3cddd7 branch from 1b76f84 to 15c08be Compare September 28, 2026 20:34
@copyberry
copyberry Bot merged commit 15c08be into main Sep 28, 2026
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/ba40800d6f9002e02e2b33de8dc858188c3cddd7 branch September 28, 2026 20:34
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 28, 2026
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.

1 participant