blitztext-app-linux/linux/blitztext
mARTin-B78 ae01472b77 overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0
Fix a desktop-session freeze (forced logout/reboot) caused by the overlay's
AT-SPI caret tracker: it subscribed to the high-frequency object:text-caret-moved
signal and made synchronous, blocking AT-SPI reads from inside the event handler,
re-entering the a11y dispatcher and getting stormed by the app's own xdotool
typing until GNOME stopped responding. Now track focus changes only and read the
caret rectangle lazily, once, when the overlay shows — never on the hot path.

Fuse voice-routing feedback into the overlay instead of a desktop notification:
show the matched preset's emoji, name, and spoken keyword on a banner, narrate
the phase (Transcribing -> Rewriting), and stream the LLM rewrite into the bubble
token-by-token. Redundant per-dictation notifications are suppressed when the
overlay is present (errors still notify); headless/overlay-off is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 16:58:47 +02:00
..
__init__.py overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0 2026-06-07 16:58:47 +02:00
__main__.py Add STT + LLM engine presets, rename entry to blitztext.py, macOS app icon 2026-06-04 20:21:03 +02:00
audio.py audio cues: add master on/off switch; silence PortAudio teardown noise 2026-06-06 23:45:47 +02:00
autostart.py autostart: launch the currently-running copy (source vs installed) 2026-06-06 14:50:56 +02:00
benchmark.py Benchmark: add Device column (CPU/GPU/remote); case-sensitive accuracy 2026-06-05 14:12:16 +02:00
blitztext.py Stop notification storms: transient notifications, single instance, no empty-result alerts 2026-06-06 10:42:13 +02:00
caret.py overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0 2026-06-07 16:58:47 +02:00
config.py on-screen dictation overlay at the cursor; Release 1.5.0 2026-06-07 13:13:41 +02:00
daemon.py overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0 2026-06-07 16:58:47 +02:00
gtksettings.py on-screen dictation overlay at the cursor; Release 1.5.0 2026-06-07 13:13:41 +02:00
gtkui.py overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0 2026-06-07 16:58:47 +02:00
inputmode.py Add modifier-key input scheme (whisper-key style) 2026-06-04 20:26:59 +02:00
llm.py overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0 2026-06-07 16:58:47 +02:00
logbuffer.py Add Log tab + in-memory log buffer 2026-06-05 09:42:48 +02:00
notify.py Stop notification storms: transient notifications, single instance, no empty-result alerts 2026-06-06 10:42:13 +02:00
overlay.py overlay: fix AT-SPI caret freeze; fuse routing match + live LLM into HUD; Release 1.6.0 2026-06-07 16:58:47 +02:00
paste.py Add Wayland, Tests, CI, and OpenWakeword integration 2026-06-05 17:16:05 +02:00
quality.py Add Wayland, Tests, CI, and OpenWakeword integration 2026-06-05 17:16:05 +02:00
recorder.py Rewrite README; fix fd leak, StopIteration crash, add pip Dependabot 2026-06-05 16:01:31 +02:00
routing.py routing by preset name; right-aligned General switches; About copyright 2026-06-07 11:48:22 +02:00
sound.py Add custom WAV audio cues for recording start/stop 2026-06-06 09:40:09 +02:00
streaming.py Add realtime streaming and Linux app docs 2026-06-05 15:06:17 +02:00
stt.py Add realtime streaming and Linux app docs 2026-06-05 15:06:17 +02:00
transcribe.py Benchmark: add Device column (CPU/GPU/remote); case-sensitive accuracy 2026-06-05 14:12:16 +02:00
tray.py wakeword: reversible tray pause toggle; document quiet-session fixes 2026-06-06 22:17:50 +02:00
wakeword.py wakeword: reversible tray pause toggle; document quiet-session fixes 2026-06-06 22:17:50 +02:00