905 Commits

Author SHA1 Message Date
Beingpax
4cef5aa12d Fix: Replace deprecated kAudioObjectPropertyElementMaster with kAudioObjectPropertyElementMain 2025-12-21 21:45:07 +05:45
Prakash Joshi Pax
621f99c10f
Update VoiceInk/Services/AudioDeviceConfiguration.swift
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2025-12-21 21:41:57 +05:45
Beingpax
c57c729d6c init power meters to silence 2025-12-21 21:30:08 +05:45
Beingpax
3306c6a6e4 fix(audio): Reduce recording validation timer for faster feedback 2025-12-21 20:28:14 +05:45
Beingpax
873379c0ca Improve audio recording startup with validation, retry logic, and device change handling 2025-12-21 19:37:03 +05:45
Beingpax
d7504412c9 Only trigger device change when recording is active 2025-12-21 13:22:15 +05:45
Beingpax
2944e4ce5c Improve recorder device change handling 2025-12-21 13:04:35 +05:45
Beingpax
6ab3705123 Add timeout and retry logic to GroqTranscriptionService 2025-12-19 12:16:33 +05:45
Beingpax
6ea41020a0 Move Help & Feedback button inline 2025-12-19 09:48:43 +05:45
Prakash Joshi Pax
aa10377a55
Merge pull request #443 from Beingpax/refactor/centralize-transcription-services
Add TranscriptionServiceRegistry to eliminate duplicate service
2025-12-19 09:33:52 +05:45
Beingpax
583165f219 Cleanup resources properly 2025-12-19 09:24:22 +05:45
Beingpax
b227fa4b0d Fix Force unwrapping serviceRegistry! is risky 2025-12-19 09:21:38 +05:45
Beingpax
5ca848af91 Add TranscriptionServiceRegistry to eliminate duplicate service routing logic
- Create centralized registry for managing transcription services
- Replace duplicate switch statements across 4 manager classes
- Consolidate service initialization into single registry pattern
- Add cleanup method to registry for resource management
- Ensure fresh service registry on each transcription request
2025-12-18 21:29:35 +05:45
Beingpax
a2f19b04c6 Add model prewarm service on system wake and app launch 2025-12-17 21:23:30 +05:45
Beingpax
078e02c503 Parakeet model validation & Intel mac local model warning 2025-12-17 09:41:57 +05:45
Beingpax
b07a571fc2 Improve notification View 2025-12-13 09:38:46 +05:45
Beingpax
eceb43f490 Add toggle recorder option in menu bar 2025-12-12 21:24:30 +05:45
Prakash Joshi Pax
80d4dff640
Merge pull request #438 from Beingpax/AV-AudioEngine-Setup
Avaudioengine setup
2025-12-12 20:32:29 +05:45
Beingpax
eb04104bcb Record failure notifications 2025-12-12 20:31:41 +05:45
Beingpax
ac8174b258 Fix migration logic 2025-12-12 14:36:33 +05:45
Beingpax
4f4837d310 Fix audio format changes and thread safety issues 2025-12-12 14:32:20 +05:45
Beingpax
42f4b93ff7 Fix AVAudioConverter callback to prevent buffer duplication 2025-12-12 13:09:44 +05:45
Beingpax
bd6973e559 Better device fallback logic 2025-12-12 11:39:25 +05:45
Beingpax
a3226bb0fb Simplify audio input modes: keep Custom and Prioritized, remove System Default option 2025-12-12 09:19:29 +05:45
Beingpax
8f48c91642 Add AV Audio Engine recorder setup 2025-12-11 21:37:31 +05:45
Beingpax
baae439aae Preserve transcription in clipboard by default, add restore option with configurable delay 2025-12-07 15:24:10 +05:45
Prakash Joshi Pax
45dbd57722
Merge pull request #429 from klaudworks/fix/ocr-window-detection
Fix OCR capturing VoiceInk status overlay instead of frontmost app window
2025-12-07 12:27:31 +05:45
Beingpax
85e26856df Optimize recorder startup 2025-12-07 09:26:52 +05:45
Nico Duldhardt
d25ae52333 Fix OCR capturing VoiceInk status overlay instead of frontmost app window
The screen capture service was selecting the first layer-0 window, which
during recording was VoiceInk's own status indicator overlay. This caused
OCR to always return 'No text detected' since the overlay has no readable
content.

Changes:
- Filter out windows owned by VoiceInk's process
- Prioritize windows belonging to NSWorkspace.frontmostApplication
- Refactor WindowCandidate struct to class scope
2025-12-07 01:05:00 +01:00
Nico Duldhardt
df2a8d9901 remove check for windows < 120x120 2025-12-07 00:52:52 +01:00
Nico Duldhardt
3b043f4da9 Fix OCR capturing VoiceInk status overlay instead of frontmost app window
The screen capture service was selecting the first layer-0 window, which
during recording was VoiceInk's own status indicator overlay. This caused
OCR to always return 'No text detected' since the overlay has no readable
content.

Changes:
- Filter out windows owned by VoiceInk's process
- Prioritize windows belonging to NSWorkspace.frontmostApplication
- Filter out tiny windows (<120x120) to avoid tooltips/overlays
- Move CGWindowListCopyWindowInfo off main thread for better UI responsiveness
- Refactor WindowCandidate struct to class scope
2025-12-07 00:23:04 +01:00
Beingpax
557ac95478 1.64 update 2025-12-06 08:43:41 +05:45
Beingpax
ab9d6ad830 Add option to dismiss Affiliate promotion 2025-12-06 08:18:35 +05:45
Beingpax
d4fb2125e6 Remove virtual and aggregate device filtering from isValidInputDevice 2025-12-05 19:15:13 +05:45
Beingpax
c2666c3c24 Update to 1.63 2025-12-04 22:30:22 +05:45
Beingpax
8cc83f84dc Exclude virtual devices and aggregate devices for Audio input devices 2025-12-04 21:50:23 +05:45
Beingpax
feea0d7f2a Fix race conditions due to audio device selection in menu bar 2025-12-04 21:24:36 +05:45
Beingpax
2e7112c06a Remove disabled state when enhancement turned off 2025-12-04 21:17:00 +05:45
Beingpax
1ab91ad4ef Add audio input device selection option in menu bar 2025-12-04 21:12:30 +05:45
Beingpax
8ce84e9a69 Add llama3.1-8b from Cerebras 2025-12-04 20:55:13 +05:45
Beingpax
ea64ff3109 Update AI enhancement models 2025-12-04 20:53:15 +05:45
Beingpax
b754f39d89 Remove text formatting during Paste operation 2025-12-04 19:06:20 +05:45
Beingpax
45a2b72bfd Resolve fatal crash due to text insertion 2025-12-02 08:19:20 +05:45
Beingpax
88676362b4 update to v1.62 2025-11-29 08:49:08 +05:45
Beingpax
fca509952f Make the soundfeedback row clickable 2025-11-28 20:45:24 +05:45
Beingpax
ac1a85c056 Improved text formatting during paste operation 2025-11-28 20:39:43 +05:45
Beingpax
1e612d9987 Support org.nspasteboard conventions for transient clipboard handlin 2025-11-28 13:03:30 +05:45
Beingpax
e16c84e1ed Add accessibility permission check to prevent pop-up when calling SelectedTextService 2025-11-20 22:44:45 +05:45
Beingpax
b6068bc881 Show raw API error responses on key verification failure 2025-11-20 22:29:21 +05:45
Beingpax
cd503ac298 Refactor modifier key handling to use direct await calls 2025-11-20 20:08:19 +05:45