fix(cli): Ctrl+B voice hotkey disarms continuous during STT/agent - #67573
Closed
webtecnica wants to merge 1 commit into
Closed
fix(cli): Ctrl+B voice hotkey disarms continuous during STT/agent#67573webtecnica wants to merge 1 commit into
webtecnica wants to merge 1 commit into
Conversation
When continuous voice is active and the user presses Ctrl+B while STT is processing (_voice_processing) or the agent is running (_agent_running), the hotkey was a silent no-op — it didn't clear _voice_continuous, so the loop auto-restarted after the turn. Fix: add a check at the top of the non-recording branch — if _voice_continuous is already True, disarm it immediately and return. This makes the hotkey a proper toggle: press while recording → stop+disarm; press while continuous armed but not recording → disarm; press while continuous not armed → arm+start. Fixes NousResearch#67545.
Contributor
|
Thanks for the focused CLI fix. Current Problems
Suggested changes
Automated hermes-sweeper review. |
Collaborator
1 task
Contributor
|
The record-hotkey/continuous-mode fix landed in #73520 via @kyssta-exe's #67550, submitted 67 minutes earlier. Thanks for independently finding the same bug! (Landed via #73520, merge |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #67545: In CLI continuous voice mode, pressing Ctrl+B (the record hotkey) during STT processing or while the agent is running was a silent no-op — it didn't disarm continuous mode, so the loop auto-restarted recording after the turn.
Root Cause
In
handle_voice_recordincli.py, the non-recording branch (else) had three early-return guards (_agent_running, interactive prompts,_voice_processing) that returned without clearing_voice_continuous. The fourth path (default) would arm continuous and start a new recording. There was no path to disarm continuous without being in the recording state.Fix
Added a check at the top of the non-recording branch: if
_voice_continuousis alreadyTrue, disarm it immediately and return. This makes the hotkey a proper toggle:Changes
cli.py: ~12 lines added tohandle_voice_record— disarm check before the existing guardsTesting
tests/tools/test_voice_cli_integration.py)_voice_continuousflag — no STT/TTS provider changes