Skip to content

v3.2.7 - CRITICAL: fixes bundled API keys (was silently missing since v3.1)

Choose a tag to compare

@sprawf sprawf released this 16 Jul 23:58

What's new in v3.2.7

CRITICAL FIX: bundled API keys are actually shipped now. Since v3.1 the dist has been shipping WITHOUT _bundled_keys.py, causing every user (including your dad) to silently fall back to local-only for STT/refine/vision. Fixed the packaging bug and added a build-time verifier so this class of drift can't happen again.

Voice-to-text

  • Mic pre-warm at app startup: first Ctrl+Enter / Alt+Space captures your speech from the very first syllable instead of eating 200-500ms of WASAPI cold-start latency
  • Escalating-backoff retry: transient PortAudio busy conditions (Bluetooth HFP switch, WASAPI handle release, another app briefly holding the mic) retry silently across 4 attempts / 2.6s before showing an error
  • Every cloud-failure case now shows a diagnostic pill: Cloud too slow (internet slow?), Cloud unreachable (DNS), Antivirus blocked cloud, Cloud failed (Type). No more silent fallback to local.
  • Alt+Space works as a second STT hotkey alongside Ctrl+Enter

Quick Notes

  • Bare Home key as a second toggle hotkey alongside Shift+F7 (1st press opens, 2nd press saves + closes)
  • No more spurious MiniNotepad: pasting into Quick Notes (or any Hotkeys-owned window) no longer triggers the fallback popup

Audio Editor (Shift+F10)

  • Suppresses every known first-launch dialog: update-check, welcome, what's-new, analytics, crash-survivor, file-association prompt
  • Hidden-dialog rescue: any first-launch dialog we haven't catalogued gets force-brought-to-front so it can't hide behind the main window and silently steal every click

Whiteboard (Shift+F8)

  • Bundled Microsoft WebView2 Runtime Fixed Version 150.0.4078.65 — whiteboard opens instantly on any Windows 10/11 PC without needing separate installers
  • Friendly error dialog with fix links if underlying .NET runtime is missing

Downloads (Ctrl+Alt+D)

  • curl_cffi bundled: Dailymotion, Reddit, X (Twitter) now work
  • Playlist detection dialog: "Just this video" / "Entire playlist" / "Cancel"
  • Post-error rescue: if merged file exists on disk despite yt-dlp error, we report success
  • Friendlier failure pills with plain-language causes
  • yt-dlp's own logger routed into app.log for future diagnosis

Reliability

  • Root close guard: hidden root window can no longer take the app down via stray WM_DELETE_WINDOW events
  • Deep 40-frame stack trace when _quit() fires, so any future close cause is traceable
  • Hourly heartbeat log

Build system

  • verify_dist.py: post-build script that checks every critical asset (bundled API keys, diarize worker, whiteboard, audio editor, WebView2 runtime, whisper models with min-size validation, tessdata, etc.). Build now FAILS if any asset is missing — preventing the class of silent-drift bug that caused _bundled_keys.py to hide from every release for months.

Ship as Hotkeys-Windows.zip — extract anywhere, run Hotkeys.exe.