Handle realtime conversation end in the TUI (#14903)

- close live realtime sessions on errors, ctrl-c, and active meter
removal
- centralize TUI realtime cleanup and avoid duplicate follow-up close
info

---------

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Ahmed Ibrahim <219906144+aibrahim-oai@users.noreply.github.com>
This commit is contained in:
Ahmed Ibrahim
2026-03-17 21:04:58 -07:00
committed by GitHub
parent 770616414a
commit 3ce879c646
10 changed files with 326 additions and 67 deletions

View File

@@ -78,6 +78,19 @@ mod app_server_session;
mod ascii_animation;
#[cfg(all(not(target_os = "linux"), feature = "voice-input"))]
mod audio_device;
#[cfg(all(not(target_os = "linux"), not(feature = "voice-input")))]
mod audio_device {
use crate::app_event::RealtimeAudioDeviceKind;
pub(crate) fn list_realtime_audio_device_names(
kind: RealtimeAudioDeviceKind,
) -> Result<Vec<String>, String> {
Err(format!(
"Failed to load realtime {} devices: voice input is unavailable in this build",
kind.noun()
))
}
}
mod bottom_pane;
mod chatwidget;
mod cli;