Skip to content

voice: accept backend 'none'; shims bind loopback by default - #1093

Merged
dotdevdotdev merged 4 commits into
mainfrom
fix-voice-off-and-bind
Oct 15, 2026
Merged

dotdevdotdev merged 4 commits into
mainfrom
fix-voice-off-and-bind

Conversation

@dotdevdotdev

Copy link
Copy Markdown
Owner

Tests: new `tests/unit/test_voice_off_and_shim_bind.py` (mutated both fixes, all red); full fast suite 5525 passed. Live portal restart behavior not checked (no restarts per worker rules).

Closes #1083
Closes #1084

Built by dotdev.dev

…1084)

- tts/stt backend 'none' validates (runtime already handled it)
- tts/stt/kokoro start+serve+restart paths and the shim modules default to
  127.0.0.1; non-loopback binds warn via security.resolve_shim_host

Built by dotdev.dev
Built by dotdev.dev
….0 binds; LAN opt-in + doctor

- config.voice_enabled is the one predicate: say, voice status, doctor, portal
  speak, voice-status route use it; stop_managed_tts mirrors the STT stop (#679)
- tts_server.py __main__ binds loopback; stt.host / tts.host honored by all serves
- warn at the bind (serve) only; doctor flags exposed binds and remote-loopback TTS
- docs: LAN opt-in warning + off switch

Built by dotdev.dev
…o note, local-tts guard

- start paths (tts local/remote, stt, kokoro) warn before launching tmux
- doctor: lsof live check catches flag/env binds; remote-TTS reminder is info
  and gated on voice_enabled + custom; tier line extracted and tested
- POST /api/local-tts returns a clean disabled response under 'none'

Built by dotdev.dev
@dotdevdotdev
dotdevdotdev marked this pull request as ready for review October 15, 2026 23:09
@dotdevdotdev
dotdevdotdev merged commit b3a892a into main Oct 15, 2026
11 checks passed
@dotdevdotdev
dotdevdotdev deleted the fix-voice-off-and-bind branch October 15, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant