v2.2.562026-06-09
Windows push-to-talk fix, native recording chimes, readable widget errors
Recording no longer stops itself on the recommended Ctrl + Win shortcut on Windows, recording start and stop get an optional native chime, and the floating widget now shows error toasts at full size with terser messages.
- Windows: Ctrl + Win push-to-talk works again. On fresh installs the managed Ctrl + Win shortcut stopped recording the instant it started. The keyboard hook is now listen-only, and the Start Menu is suppressed with a masking keystroke instead.
- Recording start/stop chimes. An optional soft chime confirms the mic opened and closed — synthesized natively so it plays even while the widget is hidden. Toggle and preview in Settings → Behavior.
- Widget errors are readable and visible. The widget window now resizes to fit its toast, reveals itself when auto-hidden, and shows one terse action-first line instead of a clipped paragraph.
Added
- Recording cues: a soft rising chime when recording starts and the mirrored falling chime when it stops, synthesized Rust-side so playback works even while the widget webview is hidden or still booting. Toggle and audition preview live in Settings → Behavior.
Changed
- Widget toast messages are compacted to one terse, action-first line (daily limit, sign-in, mic, clipboard, and timeout cases); the full diagnostic stays available on hover.
Fixed
- Windows: push-to-talk on the managed Ctrl + Win shortcut stopped recording about 25 ms after it started on fresh installs. The low-level hook consumed the combo's key events to keep the Start Menu closed, which also hid them from the physical-release watchdog. The hook is now listen-only and a benign masking keystroke suppresses the Start Menu instead.
- Widget: error toasts no longer clip — the window resizes from Rust with bottom-anchored growth clamped to the monitor work area, replacing renderer resize calls that had silently failed since v2.2.53.
- Widget: an auto-hidden pill now reveals itself when an error toast needs to be shown.
- Injection: text insertion waits for the in-flight foreground-app capture instead of racing it, so a very fast tap can no longer paste into the previous recording's target window.
- Settings: concurrent writes (widget position persistence vs. a Settings toggle) no longer silently revert each other — config mutations now run as serialized transactions.
- Pausing or rebinding shortcuts mid-recording now ends the recording cleanly instead of leaving the widget stuck on listening until the safety timer.
