Remove old widget-based Python UI (replaced by QML), unused build
scripts, NL/variable/webfont variants, old shaders, PNG icons
(replaced by SVGs), and standalone test files. Add build.bat and
build.spec for the bootstrapper build system.
Add Up/Down arrow key navigation to Settings sidebar.
Add Accessible.role: Accessible.PageTab to all 5 tab pages.
Fix Loader status to use AlertMessage role per WCAG 4.1.3.
- Added robust CPU Fallback for AMD/Non-CUDA GPUs.
- Implemented Lazy Load for AI Engine to prevent startup crashes.
- Added explicit DLL injection for Cublas/Cudnn on Windows.
- Added Corrupt Model Auto-Repair logic.
- Includes pre-compiled v1.0.4 executable.
- Transcriber: Enforced 'beam_size=5' and prompt injection for robust translation.
- Transcriber: Removed conditioning on previous text to prevent language stickiness.
- Transcriber: Refactored kwargs to sanitize inputs.
- Overlay: Fixed click-through by toggling WS_EX_TRANSPARENT.
- UI: Added real download progress reporting.
- Docs: Refactored language list to table.
Full Changelog:
[New Features]
- Added Native Translation Mode:
- Whisper model now fully supports Translating any language to English
- Added 'task' and 'language' parameters to Transcriber core
- Dual Hotkey Support:
- Added separate Global Hotkeys for Transcribe (default F8) and Translate (default F10)
- Both hotkeys are fully customizable in Settings
- Engine dynamically switches modes based on which key is pressed
[UI/UX Improvements]
- Settings Window:
- Widened Hotkey Input fields (240px) to accommodate long combinations
- Added Pretty-Printing for hotkey sequences (e.g. 'ctrl+f9' display as 'Ctrl + F9')
- Replaced Country Code dropdown with Full Language Names (99+ languages)
- Made Language Dropdown scrollable (max height 300px) to prevent screen overflow
- Removed redundant 'Task' selector (replaced by dedicated hotkeys)
- System Tray:
- Tooltip now displays both Transcribe and Translate hotkeys
- Tooltip hotkeys are formatted readably
[Core & Performance]
- Bootstrapper:
- Implemented Smart Incremental Sync
- Now checks filesize and content hash before copying files
- Drastically reduces startup time for subsequent runs
- Preserves user settings.json during updates
- Backend:
- Fixed HotkeyManager to support dynamic configuration keys
- Fixed Language Lock: selecting a language now correctly forces the model to use it
- Refactored bridge/main connection for language list handling
Problem:
The overlay window, even when fully transparent or visually hidden (opacity 0), was still intercepting mouse events. This created a 'dead zone' on the screen where users could not click through to applications behind the overlay. This occurred because the low-level window hook was answering 'HTCAPTION' to hit tests regardless of the UI state.
Solution:
1. Modified 'WindowHook' to accept an 'enabled' state.
2. When disabled, 'WM_NCHITTEST' now returns 'HTTRANSPARENT', allowing the OS to pass the click to the window underneath.
3. Updated 'main.py' to toggle this hook state dynamically:
- ENABLED when Recording or Processing (UI is visible/active).
- DISABLED when Idling (UI is hidden/transparent).
Result:
The overlay is now completely non-intrusive when not in use.