26 Commits

Author SHA1 Message Date
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
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
7a7dbaecab Remove the power mode UI by default. 2025-10-17 13:11:51 +05:45
huisang
e05b9f071f feat: windowStyle set to hiddenTitleBar 2025-10-15 15:50:48 +08:00
Beingpax
febd75cc39 Unified logging + fluidAudio's logging 2025-10-08 11:30:50 +05:45
Beingpax
520272f5ad Remove new window creation 2025-10-04 15:42:31 +05:45
Beingpax
2663096eb2 Added a switch for announcement service. 2025-09-29 09:23:13 +05:45
Alexey Haidamaka
f74bbd7f5a add open with handling 2025-09-03 16:31:46 +02:00
Beingpax
8f0b344721 Reset recording state on app launch 2025-08-30 08:21:10 +05:45
Prakash Joshi Pax
4dc50ec9ee
Merge pull request #249 from gritse/feature/app-intents-support
Add App Intents support for mini recorder control
2025-08-26 20:57:50 +05:45
Val V
bbf929e36e Add a setting to disable auto update checks 2025-08-26 01:01:18 +00:00
gritse
35918eb473 Add App Intents support for mini recorder control 2025-08-23 20:55:31 +02:00
Beingpax
79ba95ccad Add announcement service for important notice/updates 2025-08-13 17:26:30 +05:45
Beingpax
a3c302b50b Update TranscriptCleanup with interval settings 2025-08-13 09:07:08 +05:45
Beingpax
2970895376 Support for zero data retention on 2025-08-07 01:18:35 +05:45
Beingpax
3e609d1e3b Refactor: Unify and improve hotkey settings UI 2025-07-01 22:52:09 +05:45
Beingpax
a821b201c7 Fixed menubar icon 2025-06-07 17:25:44 +05:45
Beingpax
d7c23f91d0 fix: Update menu bar icon to use AppIcon 2025-06-07 17:24:05 +05:45
Beingpax
b09443bc09 Improved Onboarding Window+ License/buy buttons 2025-06-05 14:51:41 +05:45
Beingpax
8dc622e077 feat: better super whisper-like power mode with improved UX 2025-05-24 12:38:30 +05:45
Beingpax
19142522bd Added support for removing recordings older than x days. 2025-03-12 14:11:39 +05:45
Beingpax
57e5d456a6 feat: Enhance audio visualization and recording integration - Improved audio meter visualization, removed debug logs, optimized updates 2025-03-03 21:34:09 +05:45
Beingpax
b5773b38a1 Multiple improvements: Removed migration code, updated sound files, improved prompt templates 2025-02-25 11:50:50 +05:45
Beingpax
76a154706c Initial commit: Open-sourcing VoiceInk 2025-02-22 11:52:41 +05:45