693 Commits

Author SHA1 Message Date
Beingpax
a762070f3d Remove redundant codefiles 2025-11-18 15:36:12 +05:45
Beingpax
ae308377a0 Merge branch 'main' of https://github.com/Beingpax/VoiceInk 2025-11-18 15:14:50 +05:45
Beingpax
7feef2b374 Add transient marker and fix clipboard race condition 2025-11-18 15:14:09 +05:45
Prakash Joshi Pax
875a0995fa
Merge pull request #405 from Beingpax/custom-start-stop-sound
Custom start stop sound
2025-11-18 14:39:38 +05:45
Beingpax
8525392f03 Prevent deletion when re-selecting already stored custom sound 2025-11-18 14:32:21 +05:45
Beingpax
f445f847ef update model display names 2025-11-17 10:15:48 +05:45
Beingpax
d07e5e4967 Update model display names 2025-11-17 10:15:10 +05:45
Beingpax
308098694d Add support for scribe v2 model 2025-11-17 10:14:32 +05:45
Beingpax
ff0be0092b Fix: Prevent abrupt stop of custom sound playback 2025-11-16 22:45:03 +05:45
Beingpax
7365493366 Feat: Add custom start/stop sounds and fix race condition 2025-11-16 22:42:28 +05:45
Beingpax
35a08dce7b Add Keyboardshortcutlview 2025-11-14 15:33:22 +05:45
Beingpax
fb69db2fe9 Simplify the import logic for dictionary 2025-11-14 11:12:41 +05:45
Beingpax
7d12c50fcb Rename dictionary context to custom vocabulary 2025-11-14 09:02:12 +05:45
Beingpax
9d3d1482b0 Remove prepopulated dictionary items 2025-11-14 08:25:52 +05:45
Beingpax
ba68ec429c Fix activation policy being reapplied unnecessarily during app switching 2025-11-08 20:11:37 +05:45
Beingpax
c4f847d7cf Update system instructions 2025-11-08 11:03:38 +05:45
Beingpax
692bd5f9d4 Update Sidebar 2025-11-07 23:58:44 +05:45
Beingpax
f559d19390 Revert "Merge pull request #362 from tmm22/feature/qol-documentation"
This reverts commit 5c55d12cbf5e2919ecf0cacb2e623bf17cd8dff6, reversing
changes made to 2f2f1bc894d2a3fe69d4c6e2d8ce0a76071fe1a8.
2025-11-07 22:42:37 +05:45
Prakash Joshi Pax
5c55d12cbf
Merge pull request #362 from tmm22/feature/qol-documentation
Quality of Life Improvements - Documentation & Source Files
2025-11-07 22:36:38 +05:45
Beingpax
2f2f1bc894 Fix text display order in transcription card 2025-11-07 22:35:19 +05:45
Beingpax
fcc7b4783f Add reasoning parameter support for Gemini and OpenAI models 2025-11-07 22:29:44 +05:45
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
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
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
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
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
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
ea0e5d840c Rewrote the default prompts to make them simpler and better. 2025-10-29 23:27:49 +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