fix(tui): clear TTS env var on voice off, and add TTS indicator to status bar

Bug 1: /voice off in TUI mode did not clear HERMES_VOICE_TTS,
leaving TTS stuck ON with no way to disable it (the voice.toggle
tts handler requires voice mode to be ON).

Bug 2: TUI status bar only showed 'voice on/off' without any
indication of whether TTS speech output is active, because the
frontend never tracked voiceTts state.

- tui_gateway/server.py: clear HERMES_VOICE_TTS when voice is turned off
- ui-tui/src/app/useMainApp.ts: add voiceTts state, thread setVoiceTts
  through voice contexts, display [tts] in status bar
- ui-tui/src/app/slash/commands/session.ts: sync tts from voice.toggle response
- ui-tui/src/app/interfaces.ts: add setVoiceTts to all voice context interfaces
This commit is contained in:
chyuwei
2026-05-23 22:36:08 +08:00
committed by Teknium
parent 2c34a7da87
commit 7de8cd4c5f
4 changed files with 15 additions and 4 deletions

View File

@ -5869,6 +5869,9 @@ def _(rid, params: dict) -> dict:
except Exception as e:
logger.warning("voice: stop_continuous failed during toggle off: %s", e)
# Clear TTS so it can be toggled independently after voice is off.
os.environ["HERMES_VOICE_TTS"] = "0"
return _ok(
rid,
{