239 Commits

Author SHA1 Message Date
Deborah Mangan
f261e4937b Fix critical production safety issues
- Replace force-unwrapped URLs in cloud transcription services with safe guard statements
  * GroqTranscriptionService: Add URL validation before use
  * ElevenLabsTranscriptionService: Add URL validation before use
  * MistralTranscriptionService: Add URL validation before use
  * OpenAICompatibleTranscriptionService: Add URL validation before use

- Replace fatalError in VoiceInk.swift with graceful degradation
  * Implement in-memory fallback when persistent storage fails
  * Add user notification for storage issues
  * Use proper logging instead of fatal crash

- Fix dictionary force unwrap in WhisperPrompt.swift
  * Add safe fallback when default language prompt missing
  * Prevent potential crash on dictionary access

- Wrap debug print statement in #if DEBUG directive
  * Eliminate production logging overhead in VoiceInk.swift

These changes prevent 6+ potential crash scenarios while maintaining
full functionality with graceful error handling.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-11-03 10:39:35 +10:00
Beingpax
a69f0239b1 Skip the screen recording permission prompt if not provided. 2025-11-01 10:34:31 +05:45
Beingpax
ed9a13c16b Improve prompt icon picker: grid popover UI, 30+ productivity icons, system colors 2025-10-31 12:10:57 +05:45
Beingpax
f6402b1520 feat: Adding support for soniox v3 2025-10-28 22:31:16 +05:45
Beingpax
357804c03d feat: Integrate SelectedTextKit for robust text retrieval with multi-strategy support 2025-10-28 18:30:25 +05:45
Beingpax
5bdbb39ac8 Use Accessibility API's for copying selected text and use copy action as a fallback 2025-10-28 11:31:44 +05:45
Anton Lvovych
cc086c1d92
Update FluidAudio to latest with ESpeakNG framework fix
- Update FluidAudio to f47209a which includes ESpeakNG framework fix
- Fix VadConfig API compatibility: threshold -> defaultThreshold
- Add WorkspaceSettings to allow FluidAudio's unsafe build flags

This resolves the dyld crash: "Library not loaded: ESpeakNG.framework/Versions/A/ESpeakNG"
Fixed upstream in FluidInference/FluidAudio#159 and FluidInference/FluidAudio#160

Tested: All 4 UI tests pass
2025-10-27 15:16:40 +07:00
Beingpax
4fb8bf361b Add option to disable Enhancemnent Shortcut Cmd + E 2025-10-27 10:59:19 +05:45
Beingpax
2c6d1ac5e2 Added gemini 2.0 flash model 2025-10-25 21:20:17 +05:45
Beingpax
e15f2cec50 Added license state and selectedlanguage in System info 2025-10-25 20:57:37 +05:45
Beingpax
95790c4a58 Log raw, filtered, formatted, replaced, and AI-enhanced text 2025-10-25 09:57:14 +05:45
Beingpax
3f01f49f56 Clean up 2025-10-19 16:59:23 +05:45
Beingpax
a0e4dd1367 Added support for V2 and V3 models 2025-10-19 14:01:31 +05:45
Beingpax
14d52a9c08 Fix screen capture crash by isolating services 2025-10-18 22:07:48 +05:45
Beingpax
81fb97f446 chore: update AI models list 2025-10-17 09:41:15 +05:45
Beingpax
07e8c0dddf Fix immediate deletion breaking transcription process 2025-10-10 22:10:32 +05:45
Beingpax
40f955db36 Migrate to ScreenCaptureKit from deprecated API 2025-10-09 19:43:20 +05:45
Beingpax
d99623b9e1 Improved Context handling 2025-10-09 15:41:39 +05:45
Beingpax
69d6e9c139 Fixed ScreenCapture to handle languages automatically 2025-10-09 12:47:19 +05:45
Beingpax
febd75cc39 Unified logging + fluidAudio's logging 2025-10-08 11:30:50 +05:45
Beingpax
cba11cdc55 Capture clipboard context and screen context at the beginning of the recording. 2025-10-07 09:06:30 +05:45
Beingpax
4b0da10ed5 Clear screen capture before each recording 2025-10-06 17:52:01 +05:45
Beingpax
b7627c9deb Remove screen capture toggle gating 2025-10-06 17:26:38 +05:45
Beingpax
3eed3e2f6b Add copy device information feature 2025-10-05 17:40:55 +05:45
Beingpax
4361597ee9 Use selected text across all enhancement prompts and not only aiassistant prompt 2025-10-05 16:53:09 +05:45
Beingpax
f8332b03fe Removed context tag and switched to current window context 2025-10-05 14:28:04 +05:45
Beingpax
7f729a9021 Add ability to sort dictionary items for text replacement 2025-10-04 16:21:16 +05:45
Beingpax
eb364416ea Improved cleanup and model loading for parakeet 2025-10-04 13:54:10 +05:45
Beingpax
63db449355 Added switch for using default system instructions for custom prompt. 2025-09-28 15:18:58 +05:45
Beingpax
4ca877c66b Fix Parakeet CoreML crash 2025-09-28 08:51:47 +05:45
Beingpax
31a79a78d3 Added gemini 2.5 flash preview models 2025-09-28 08:19:11 +05:45
Beingpax
0508c3a3b1 Rename and relocate transcription filter 2025-09-27 11:57:39 +05:45
wobondar
2105ae4844
feat: Add Power Mode display to transcription history 2025-09-25 21:22:52 +01:00
Beingpax
7c755c5db7 Remove legacy migration code 2025-09-24 20:42:23 +05:45
Beingpax
8abc8a3ddd Remove VoiceInk exclusion in screen capture guard 2025-09-24 20:42:23 +05:45
Beingpax
66debc2cd4 Fix background thread publishing warnings 2025-09-24 12:03:11 +05:45
Beingpax
247b07a7be Added prompt detection to the retranscribe option in the history as well. 2025-09-24 11:58:32 +05:45
Prakash Joshi Pax
154748c1aa
Merge pull request #305 from nulinspiratie/fix/clipboard-context
Fix: Enable Clipboard context with custom AI enhancers
2025-09-24 07:44:41 +05:45
Serwan Asaad
1417b7a4fe minor cleanup 2025-09-22 13:53:27 +02:00
Serwan Asaad
c91f92f4d0 Fix: Enable Clipboard context with custom AI enhancers 2025-09-22 13:49:07 +02:00
Beingpax
97c6234fb3 Respect VAD flag, downloading & updated to latest version 2025-09-20 17:00:28 +05:45
Beingpax
91734bda45 Native Fluid Audio VAD 2025-09-19 19:24:02 +05:45
Beingpax
6e6773068f Simplified Parakeet transcription without Whisper VAD 2025-09-19 14:36:16 +05:45
Beingpax
afd6e91207 Centralize text formatting in main flows 2025-09-19 09:09:05 +05:45
Beingpax
b55fa981bd Fix the issue with leading trigger word not being removed in case of the trigger word available at both leading and trailing position. 2025-09-18 13:21:22 +05:45
Beingpax
2b787e8e64 Centralize hallucination filter 2025-09-16 17:30:46 +05:45
Beingpax
e6225050cc Prefer enhanced text with graceful fallback: paste enhanced falls back to original; copy last transcription now mirrors same behavior; updated Settings description to reflect single-shortcut-friendly design. 2025-09-16 10:30:58 +05:45
Beingpax
848489c98b Remove manual asset reservations 2025-09-16 10:08:19 +05:45
Alexey Haidamaka
889c3e5265 add capability to see ai request in history view 2025-09-14 00:24:10 +02:00
Alexey Haidamaka
8293bc27b7
Merge branch 'main' into feat/paste-last-enhancement 2025-09-12 21:49:17 +02:00