[BUG] Global hotkey event tap becomes disabled and drops Function-key presses
I maintainer di solito rispondono entro 1 giorno
@altic-dev ci sta già lavorando.
Dal 21/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Describe the bug
The global hotkey CGEventTap can become disabled without the tap-disabled callback restoring it. While disabled, physical Function-key presses are not delivered to GlobalHotkeyManager, so an active recording cannot be stopped with the configured Function shortcut. The existing periodic health check eventually detects and recreates the tap, but its 30-second interval leaves the shortcut unresponsive for a noticeable period.
This was reproduced in both Automatic and Toggle activation modes.
Reproduction steps
- Configure Function as the primary dictation shortcut.
- Start recording.
- Continue using FluidVoice until the global event tap becomes disabled.
- Press and release Function repeatedly while recording.
- Observe that recording continues.
- Wait for the health check to recreate the event tap.
- Press Function again and observe that recording stops immediately.
The failure is intermittent, but occurred repeatedly in one session.
Expected behavior
The Function shortcut remains available throughout recording. If macOS disables the event tap, FluidVoice detects and restores it immediately or within a very short bounded interval.
Actual behavior
Multiple physical Function presses were absent from the application log while ASR remained active. The log then reported a failed event-tap health check, successfully recreated the tap, and the next Function press stopped recording.
App Version
1.6.4 development build
macOS Version
macOS 26.3 (25D125)
Architecture
Apple Silicon
Logs or crash report
[20:42:14.057] [INFO] [ASRService] START() called - beginning recording session
# Multiple physical Function taps occurred here, with no GlobalHotkeyManager entries
[20:42:57.941] [WARN] [GlobalHotkeyManager] Health check failed, attempting to recover
[20:42:57.941] [INFO] [GlobalHotkeyManager] Event tap successfully created and enabled
[20:42:57.941] [INFO] [GlobalHotkeyManager] Health check recovery successful
[20:42:59.224] [INFO] [GlobalHotkeyManager] Hotkey route | pressed=dictate(mod) | active=dictate | asrRunning=true | action=stop
[20:42:59.226] [INFO] [ASRService] STOP() called - beginning shutdown sequence
Only one FluidVoice process was running. A local mitigation reduces the fallback health-check interval from 30 seconds to 2 seconds and adds detection/recovery timing diagnostics. A durable fix may require reducing work in the event-tap callback or safely moving event processing off the main run loop.
Possibly related: #104 reports push-to-talk getting stuck after key release, and #401 documents latency in the same global event-tap callback.
- Lingua principale
- Swift
- Stelle
- 11.9k
- Fork
- 863
- Merge medio
- 1g 12h
- PR unite (30g)
- 27
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di altic-dev/FluidVoice
-
[BUG] File transcription skips audio chunks shorter than one secondForse già presa @sabbah13 l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
altic-dev/FluidVoice#1161 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG]Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
altic-dev/FluidVoice#1171 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
altic-dev/FluidVoice#1170 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
altic-dev/FluidVoice#1169 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
altic-dev/FluidVoice#1168 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di altic-dev/FluidVoice
Issue simili
-
type: cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/google-cloud-swift#1477 ·
I maintainer di solito rispondono entro 1 giorno
-
🐛 Bug Report: Console `/join` shows an endless spinner for invited users who are not signed inApertaproduct / auth product / console product / databases product / messaging product / self-hosted product / sites product / storage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
P1 status: first-line-handled status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
a2ui-project/a2ui#3282 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
binding:web core docs p3
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
RunanywhereAI/runanywhere-sdks#1123 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
omacom/try-omarchy#359 ·
I maintainer di solito rispondono entro 1 giorno