Skip to content

Commit cb37982

Browse files
authored
Vs3ys omi local (#3589)
* Prevent race condition in composite socket reconnection logic * Implement per-provider config storage with complete settings persistence * Dont merge 2 diff vtt provider segments
1 parent f369900 commit cb37982

File tree

6 files changed

+335
-155
lines changed

6 files changed

+335
-155
lines changed

app/lib/backend/preferences.dart

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:omi/backend/schema/conversation.dart';
88
import 'package:omi/backend/schema/message.dart';
99
import 'package:omi/backend/schema/person.dart';
1010
import 'package:omi/models/custom_stt_config.dart';
11+
import 'package:omi/models/stt_provider.dart';
1112
import 'package:omi/services/wals.dart';
1213
import 'package:omi/utils/platform/platform_service.dart';
1314
import 'package:shared_preferences/shared_preferences.dart';
@@ -105,6 +106,22 @@ class SharedPreferencesUtil {
105106

106107
bool get useCustomStt => customSttConfig.isEnabled;
107108

109+
// Per-provider config storage
110+
CustomSttConfig? getConfigForProvider(SttProvider provider) {
111+
final json = getString('sttConfig_${provider.name}');
112+
if (json.isEmpty) return null;
113+
try {
114+
return CustomSttConfig.fromJson(jsonDecode(json));
115+
} catch (e) {
116+
debugPrint('Error loading config for ${provider.name}: $e');
117+
return null;
118+
}
119+
}
120+
121+
Future<bool> saveConfigForProvider(SttProvider provider, CustomSttConfig config) {
122+
return saveString('sttConfig_${provider.name}', jsonEncode(config.toJson()));
123+
}
124+
108125
//----------------------------- Permissions ---------------------------------//
109126

110127
set notificationsEnabled(bool value) => saveBool('notificationsEnabled', value);

0 commit comments

Comments
 (0)