Skip to content

Fix voice indicator panel getting stuck after escape in pinned mode - #376

Merged
jasPreMar merged 2 commits into
mainfrom
jasPreMar/fix-stuck-voice-panel
Apr 7, 2026
Merged

Fix voice indicator panel getting stuck after escape in pinned mode#376
jasPreMar merged 2 commits into
mainfrom
jasPreMar/fix-stuck-voice-panel

Conversation

@jasPreMar

Copy link
Copy Markdown
Owner

Summary

  • Fixed the bottom floating voice indicator panel getting permanently stuck when pressing Escape during pinned follow mode (double-tap invoke). The close() non-persistent path was missing a voiceIndicatorPanel.hidePanel() call, leaving the panel visible with a dead weak reference so even the X button couldn't dismiss it.
  • Fixed voice panel appearing then vanishing on subsequent double-taps. The first tap of a double-tap starts command-key mode and begins voice transcription; when startPinnedFollowMode ran on the second tap, voiceController.start() was a no-op because voice was still .transcribing. Now cancels prior voice state before starting fresh.

Test plan

  • Double-tap hotkey to enter pinned follow mode with auto-voice enabled
  • Pause on an element to reveal input, then press Escape — verify both the cursor panel and voice indicator panel dismiss
  • Double-tap hotkey again — verify voice indicator panel appears and stays visible
  • Press X on the voice indicator — verify it dismisses
  • Run swift run ThisTests — 102 tests pass

jasPreMar and others added 2 commits April 6, 2026 23:13
Two bugs fixed:
1. close() non-persistent path didn't call voiceIndicatorPanel.hidePanel(),
   so escaping via cancelOperation left the voice panel visible with a
   dead weak-self reference (X button also stopped working).
2. startPinnedFollowMode() didn't cancel prior voice state, so the first
   tap of a double-tap could leave voice in .transcribing — causing
   start() to no-op and the indicator to vanish when transcription finished.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document both bugs fixed in this PR: voice indicator panel not being
hidden on close(), and voice state not being reset on pinned follow
mode entry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jasPreMar
jasPreMar merged commit 2a92299 into main Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant