981 Commits

Author SHA1 Message Date
Beingpax
2e5c737255 Remove reasoning effort parameter for openAI and gemini models 2025-11-07 22:28:18 +05:45
Beingpax
cf8d821436 Implement Dictionary Import export support for iOS companion app(v1) 2025-11-07 11:31:41 +05:45
Beingpax
5f59b61ee8 Remove toggle switch for word replacements 2025-11-07 10:47:25 +05:45
Beingpax
dc925e0ebd A-Z sorting for dictionary correct spellings 2025-11-07 10:29:27 +05:45
Beingpax
489f2eaf0c Fix logs showing private instead of actual transcription text 2025-11-07 09:34:18 +05:45
Beingpax
804fae7c01 Remove shortcut option with selectedtextservice 2025-11-06 22:46:47 +05:45
Prakash Joshi Pax
5c85da3bc8
Merge pull request #371 from tmm22/chore/update-fluidaudio-v0.7.8
chore: Update FluidAudio to v0.7.8 - Performance & Stability
2025-11-06 19:45:46 +05:45
Prakash Joshi Pax
37f3ee25e4
Merge pull request #358 from tmm22/fix/production-critical-safety-improvements
Fix critical production safety issues
2025-11-06 18:45:26 +05:45
Beingpax
227c33955a Fix menu bar issue 2025-11-06 17:46:32 +05:45
Deborah Mangan
2840bf08c2 chore: Update FluidAudio to v0.7.8
Update FluidAudio from v0.7.7 (2dd0bd1) to v0.7.8 (8136bd0)

Performance improvements:
- 5% faster ASR inference
- 10% fewer missing words on long audio files
- 0.5% improved WER for v2 and v3 models

Stability improvements:
- Fixed ANE concurrency crashes (<3% latency impact)
- Switched ASR to stateless for better batching support
- Improved concurrency safety

This is a backward-compatible update with no API breaking changes.
No code changes required - all existing Parakeet integration works as-is.

Full changelog: https://github.com/FluidInference/FluidAudio/compare/v0.7.7...v0.7.8

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-11-05 13:57:44 +10:00
tmm22
c3e7263890
Update QUALITY_OF_LIFE_IMPROVEMENTS.md
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-11-03 12:07:57 +10:00
Deborah Mangan
93a790833e fix: Address AI code reviewer feedback
- Fix branding references (VoiceLink → VoiceInk) in documentation
- Correct keyboard shortcut documentation to Cmd+Shift+/ for proper Cmd+?
- Remove force unwrap in webhook example code

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-11-03 11:55:59 +10:00
Deborah Mangan
d798a99994 docs: Add QOL improvements documentation and source files
This commit provides comprehensive documentation and source files for 5 critical quality of life improvements:

1. Recording duration indicator with real-time timer
2. Enhanced status display with visual feedback
3. Visible cancel button during recording
4. Keyboard shortcut cheat sheet (Cmd+?)
5. Structured logging system (AppLogger)

Included Files:
- Complete source files for new features
- Step-by-step application guide
- Detailed technical documentation
- Full analysis with 40+ improvement ideas

See APPLYING_QOL_IMPROVEMENTS.md for instructions on how to apply these improvements to the codebase.

All changes are backward compatible with no breaking changes.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-11-03 11:39:30 +10:00
Deborah Mangan
d1158feef4 refactor: Replace try! with safe ModelContainer initialization fallbacks
- Remove try! force operation that could crash on in-memory container failure
- Implement cascading fallback strategy with 3 initialization attempts:
  1. Persistent storage (normal operation)
  2. In-memory storage with user warning
  3. Ultra-minimal default container
- Add containerInitializationFailed flag to track critical failures
- Extract container creation into static helper methods for better error handling
- Show user-friendly error dialog and graceful termination on total failure
- Only use preconditionFailure as absolute last resort after all attempts fail

Addresses AI code reviewer feedback about unsafe force operations.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-11-03 10:39:40 +10:00
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
e3ab7d8e80 Fix footer button overlap on small screens 2025-11-01 11:49:29 +05:45
Beingpax
45fd4c327b Skip permission validation after onboarding and display dashboard directly to all users 2025-11-01 10:55:39 +05:45
Beingpax
a69f0239b1 Skip the screen recording permission prompt if not provided. 2025-11-01 10:34:31 +05:45
Beingpax
f223a74194 Show enhanced transcript result before original. 2025-11-01 10:27:52 +05:45
Beingpax
4bff63dc00 Prevent UI stuck state when switching between mini and notch recorders 2025-11-01 10:15:32 +05:45
Prakash Joshi Pax
b02a22cb95
Merge pull request #352 from Beingpax/improve-enhancement-prompt-view
Improve enhancement prompt view
2025-10-31 18:39:05 +05:45
Prakash Joshi Pax
648c36f12a
Update VoiceInk/Views/PredefinedPromptsView.swift
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-10-31 16:41:33 +05:45
Beingpax
6d3fac76ef Redesign predefinedprompttemplates view 2025-10-31 15:13:49 +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
417adba2bc Update the build instructions to use a make file. 2025-10-31 11:34:55 +05:45
Beingpax
d9998c9b49 Update readme 2025-10-31 11:32:38 +05:45
Beingpax
7c86ac6928 Added Swift atomics dependency. 2025-10-31 11:31:25 +05:45
Prakash Joshi Pax
d73f5bb926
Merge pull request #344 from ebrindley/fix/double-resume-checked-continuation
fix: prevent double resume of checked continuations causing EXC_BREAKPOINT crashes
2025-10-31 11:26:12 +05:45
Prakash Joshi Pax
2dedff0c84
Merge pull request #350 from Beingpax/refactor-window-management
Refactor window management
2025-10-31 11:15:14 +05:45
Beingpax
bf028f427c Added keyboard shortcut for menu items 2025-10-30 22:06:13 +05:45
Beingpax
73318967ac Fix window duplication issue 2025-10-30 21:58:18 +05:45
Beingpax
c7030276eb Refactor: Centralize window and menu bar management 2025-10-30 21:12:59 +05:45
Beingpax
c4c6c79bea Updated to v1.60 2025-10-30 00:10:43 +05:45
Beingpax
ea0e5d840c Rewrote the default prompts to make them simpler and better. 2025-10-29 23:27:49 +05:45
Prakash Joshi Pax
e7519b4d24
Merge pull request #347 from Beingpax/redesign-the-dashboard
Redesign the dashboard
2025-10-29 22:44:36 +05:45
Beingpax
96185a5d0d Added help and resources section 2025-10-29 22:38:29 +05:45
Beingpax
e21c34fdc3 Added promotional cards 2025-10-29 20:52:09 +05:45
Beingpax
5cd64a1247 Added Promotional Cards 2025-10-29 20:51:31 +05:45
Beingpax
367da05feb Reorganized/redesigned the Dashboard 2025-10-29 17:02:42 +05:45
Beingpax
39c7e4671c Remove 30-day VoiceInk trend 2025-10-29 13:56:34 +05:45
Beingpax
ecd6228720 Remove legacy dependency cleanup during build process. 2025-10-29 12:02:09 +05:45
Beingpax
615a0c4fad Isolate whisper.cpp dependency build outside the project. 2025-10-29 11:59:49 +05:45
Prakash Joshi Pax
3ed3a7c561
Merge pull request #345 from jellydn/add-makefile
Add Makefile for automated building
2025-10-29 09:34:49 +05:45
Beingpax
f6402b1520 feat: Adding support for soniox v3 2025-10-28 22:31:16 +05:45
Huynh Duc Dung
9af36f75f7 Add Makefile to automate build process 2025-10-28 23:23:12 +08:00
Beingpax
357804c03d feat: Integrate SelectedTextKit for robust text retrieval with multi-strategy support 2025-10-28 18:30:25 +05:45
Ed Brindley
50928181e9 fix: prevent double resume of checked continuations causing EXC_BREAKPOINT crashes
Add atomic guards using ManagedAtomic to ensure continuations are resumed
exactly once in TaskDelegate, downloadFileWithProgress, and unzipCoreMLFile
functions. This resolves crashes during model downloads and transcription
when multiple callback paths race to resume the same continuation.

Changes:
- Import Atomics framework for atomic operations
- Add ManagedAtomic guards to prevent double resume
- Implement finishOnce helper pattern for consistent error handling
- Add proper cancellation handling in downloadFileWithProgress

Fixes crashes with stack trace: EXC_BREAKPOINT → _assertionFailure →
CheckedContinuation.resume(returning:) → VoiceInk [0x102dbfcc4, 0x102dc1174]
2025-10-28 05:54:16 -04:00
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
Prakash Joshi Pax
b65b97073d
Merge pull request #340 from antonlvovych/update/fluidaudio-espeak-fix
Update FluidAudio to v0.7.5+ with ESpeakNG framework fix
2025-10-27 18:57:15 +05:45
Beingpax
9068539043 Fix power mode selection UI 2025-10-27 17:02:03 +05:45