318 Commits

Author SHA1 Message Date
Beingpax
bf0bfb3412 Set main window to fixed 950px width with resizable height 2026-01-05 16:49:58 +05:45
Beingpax
772fd3d4ca Constrain window size to 900-1000px width to prevent stretched layouts 2026-01-05 16:41:16 +05:45
Beingpax
8f099cf701 Improve prompt editor 2026-01-05 14:48:22 +05:45
Beingpax
484f8e1e79 fix: make shortcuts section header fully clickable 2026-01-05 12:51:20 +05:45
Beingpax
c8448ced5e feat: make shortcuts section collapsible and collapsed by default 2026-01-05 12:50:27 +05:45
Beingpax
ba0ab32e3e refactor: remove unused EnhancementShortcutsSection struct 2026-01-05 12:50:00 +05:45
Beingpax
311ce83be2 olish API provider configuration UI with consistent styling and improved layout 2026-01-05 11:40:57 +05:45
Beingpax
ae387ad351 Improve API key management UI and enhance provider integration layout
- Reorganize provider connection status display
- Add visual separators between sections for better clarity
- Improve OpenRouter model picker with inline refresh button
- Enhance API key input styling with rounded borders
- Optimize Ollama configuration layout for consistency
- Refine button positioning and spacing throughout
2026-01-05 11:15:11 +05:45
Prakash Joshi Pax
06496f6d5d
Merge pull request #460 from Beingpax/fix/bluetooth-audio-delay
Fix/bluetooth audio delay
2026-01-01 15:21:58 +05:45
Beingpax
2a8ed6d08c Refactor: Extract formatTiming to extension, deduplicate file deletion logic, add AudioPlayerManager cleanup, and implement waveform caching 2025-12-31 20:51:03 +05:45
Beingpax
0da24dc732 Set default audio resume delay to 0 seconds and rename to Resume Delay 2025-12-31 19:21:13 +05:45
Beingpax
9d0fc241ee Refactor expandable sections to use enum and set pattern for cleaner state management 2025-12-31 18:48:45 +05:45
Beingpax
a6c47240e7 Create reusable expandable toggle component for all settings sections with auto-expand on enable and consistent alignment 2025-12-31 16:43:23 +05:45
Beingpax
c9d57e5b89 Apply expandable section to clipboard restore setting 2025-12-31 16:25:35 +05:45
Beingpax
8bfaf88f9b Add configurable audio resumption delay for Bluetooth headphones
Fixes #459
2025-12-31 16:23:13 +05:45
Beingpax
444d97112a Add inline copy buttons to detail view 2025-12-31 14:13:01 +05:45
Beingpax
2718683741 Add copy button 2025-12-30 20:58:41 +05:45
Beingpax
61a0e82a6d Add global keyboard shortcut to open history window from anywhere 2025-12-30 10:20:12 +05:45
Beingpax
0b6c9bccc1 Fix errors 2025-12-29 12:13:46 +05:45
Beingpax
531da7b172 Redesign transcription history with three-pane layout and compact audio player
- Implement three-pane Xcode-style layout with toggleable sidebars
- Refactor into modular components for better maintainability
- Replace tabbed interface with iMessage-style message bubbles
- Redesign audio player for 70% height reduction with horizontal layout
- Update to native macOS colors and remove custom backgrounds
- Increase minimum window size to 1000x700 for better usability
2025-12-29 11:44:50 +05:45
Beingpax
ebad2c42d0 Fix retranscribe functionality in history window
- Pass WhisperState to HistoryWindowController for transcription services
- Update MenuBarManager to store and pass WhisperState reference
- Ensure all transcription providers work in separate history window
2025-12-28 18:47:23 +05:45
Beingpax
d2dd506a94 Move transcription history to separate window
- Add HistoryWindowController for native macOS window management
- Update MenuBarManager to support window opening
- Modify sidebar to open history in separate window instead of inline
- Update navigation handlers to use window controller
- Settings remains inline as before
2025-12-28 15:30:48 +05:45
Beingpax
3a2721e150 Reduce hero section size and create reusable component 2025-12-28 14:34:00 +05:45
Beingpax
bf3c035e58 Add rollback for failed dictionary operations 2025-12-28 12:32:14 +05:45
Beingpax
a631043167 Add error handling for dictionary save operations 2025-12-28 12:19:36 +05:45
Beingpax
60125c316b Migrate dictionary data from UserDefaults to SwiftData
Migrates vocabulary words and word replacements from UserDefaults to SwiftData for better data management and persistence.

Changes:
- Create VocabularyWord and WordReplacement SwiftData models
- Add dual ModelConfiguration setup (default.store for transcripts, dictionary.store for dictionary data)
- Implement DictionaryMigrationService for one-time UserDefaults→SwiftData migration
- Rename "Correct Spellings" to "Vocabulary" for clearer terminology
- Update all dictionary views to use @Query instead of manager classes
- Update all services to fetch from SwiftData using FetchDescriptor
- Enhance word replacement duplicate detection (now checks during add AND edit)
- Update import/export services to work with SwiftData
- Preserve all existing functionality with improved data integrity

Technical details:
- Separate store files: default.store (transcripts) + dictionary.store (vocabulary + replacements)
- Migration flag: "HasMigratedDictionaryToSwiftData_v2"
- All CRUD operations properly implemented with duplicate detection
2025-12-28 12:09:43 +05:45
Beingpax
2a9bf12e0e Remove unused isEnabled property from VocabularyWord 2025-12-27 21:20:26 +05:45
Beingpax
01c12cdd2d Refactor word replacements with inline UI 2025-12-27 20:19:33 +05:45
Beingpax
a363745f36 Prevent duplicate word replacements 2025-12-27 18:24:33 +05:45
Beingpax
fe842de807 Rename Correct Spellings to Vocabulary and update related terminology 2025-12-27 15:27:00 +05:45
Beingpax
6ea41020a0 Move Help & Feedback button inline 2025-12-19 09:48:43 +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
eceb43f490 Add toggle recorder option in menu bar 2025-12-12 21:24:30 +05:45
Beingpax
eb04104bcb Record failure notifications 2025-12-12 20:31:41 +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
baae439aae Preserve transcription in clipboard by default, add restore option with configurable delay 2025-12-07 15:24:10 +05:45
Beingpax
ab9d6ad830 Add option to dismiss Affiliate promotion 2025-12-06 08:18:35 +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
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
b6068bc881 Show raw API error responses on key verification failure 2025-11-20 22:29:21 +05:45
Beingpax
a762070f3d Remove redundant codefiles 2025-11-18 15:36:12 +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
7d12c50fcb Rename dictionary context to custom vocabulary 2025-11-14 09:02:12 +05:45
Beingpax
692bd5f9d4 Update Sidebar 2025-11-07 23:58:44 +05:45