9 Commits

Author SHA1 Message Date
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
f351ed4dde Add support for gemini 3 flash for AI enhancement 2025-12-23 11:33:21 +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
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
7d12c50fcb Rename dictionary context to custom vocabulary 2025-11-14 09:02:12 +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