Skip to content

feat: dictionary quick-add shortcut + prompt/VAD bug fixes#38

Open
sk8ersquare wants to merge 5 commits intopoodle64:mainfrom
sk8ersquare:pr/dictionary-shortcut
Open

feat: dictionary quick-add shortcut + prompt/VAD bug fixes#38
sk8ersquare wants to merge 5 commits intopoodle64:mainfrom
sk8ersquare:pr/dictionary-shortcut

Conversation

@sk8ersquare
Copy link
Copy Markdown

Adds a keyboard shortcut to quickly add words to the dictionary mid-session, plus several bug fixes.

New feature: Dictionary quick-add shortcut

Users can press a configurable shortcut to instantly add a word or phrase to their dictionary. Instead of going through Settings → Dictionary, they can hit the shortcut and get a native modal dialog.

  • Configurable in Settings → Shortcuts
  • Replaces window.prompt() (broken in Tauri v2) with a proper native modal
  • DictionaryAddModal.svelte — new component

Bug fixes

  • fix: delete prompt invoke uses camelCase promptId (Tauri v2) — Tauri v2 serializes Rust snake_case to camelCase by default. The delete prompt command was passing prompt_id but the frontend was sending promptId. Fixes prompt deletion silently doing nothing.
  • fix: custom prompt delete button silently failing — related frontend fix for the same issue.
  • fix: prompt delete + VAD 3s + update endpoint override — increases default VAD silence timeout from 1.5s to 3s (reduces mid-sentence cutoffs), adds an update endpoint override field in Settings for self-hosted update servers.

Eve added 5 commits March 23, 2026 16:41
…2.18)

Dictionary quick-add shortcut:
- add_to_dictionary shortcut in ShortcutConfig (default: unset)
- Appears in Settings alongside toggle_recording, copy_last, etc.
- Copy a word → press shortcut → prompted for replacement → added to dictionary
- Toast notification on success
- Works via clipboard read + window.prompt dialog

Updater signing:
- Regenerated signing keypair with working password
- Updated pubkey in tauri.conf.json
- latest.json hosted at releases/latest/download/latest.json
…e modal (v2026.2.19)

window.prompt/confirm/alert are silently swallowed by WKWebView on macOS.
Replace with a proper in-app Svelte modal (DictionaryAddModal.svelte):
- Listens for 'show-dictionary-add' event emitted by the shortcut handler
- Pre-fills 'Replace' field from clipboard content
- Text input auto-focused, Enter to save, Escape to cancel
- Toast on success/failure
- Wired into App.svelte alongside existing event listeners
configStore.enhancement was a stale reference — should be configStore.config.enhancement.
The JS error was caught and swallowed, making the delete appear to do nothing.
The backend delete actually succeeded but the UI never refreshed.
Prompt delete fixes:
- Fixed IPC parameter name: prompt_id (not promptId)
- Added confirmation dialog before deletion
- Added toast feedback for success/error (not silent)
- User sees clear error if delete fails

VAD improvements:
- Reduced no-input grace period from 5s to 3s before red pulse starts

Update source configuration:
- Added updateEndpointOverride to GeneralConfig (default: null)
- Check for Updates button now has ⋯ menu to configure custom repo URL
- Can override endpoint per-session (saves to config)
- Shows current endpoint when override is active
- Passes override to check() when checking for updates
- After update: tauri-plugin-updater downloads + installs silently, then prompts to relaunch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant