You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Zerm 2.1.2: fix recording drops, stuck state, and terminal text selection (#244)
Three user-reported issues:
1. Long recordings dropped mid-dictation with no warning.
The silence auto-stop window was 1.1s — short enough that a normal
thinking pause in long-form speech tripped it and cut the recording.
Raised the default to 2.5s, which tolerates natural pauses while still
stopping promptly when the user is done.
2. After a drop, the app reported the recording was "already running" and
required mashing the hotkey before dictation worked again.
When the audio unit dies mid-recording (device unplugged, render error),
CoreAudio's input callback stops firing while the engine still believes
it is recording: the capture is silently lost and the state machine gets
stuck. CoreAudioRecorder now exposes the time since the last input
callback, and the recording monitor runs a dropped-capture watchdog
(always, regardless of the auto-stop setting): if no audio arrives for
3s after the unit was delivering, it notifies the user, transcribes
whatever was captured before the drop, and returns cleanly to idle so
the next press starts fresh.
3. "No text selected" when reading/handling highlighted text in terminal
and TUI apps (e.g. Claude Code, cmux), breaking Read-Aloud-Selected-Text.
Terminals render text in custom views that expose neither AXSelectedText
(.accessibility) nor a standard Edit > Copy item (.menuAction). Added the
.shortcut strategy (simulated Cmd+C + pasteboard read, auto-restored) as
a final fallback, which terminals handle reliably.
Co-authored-by: thefourCraft <thefourCraft@users.noreply.github.com>
0 commit comments