feat(chat): Refactor model selection to use shared restore logic

This commit is contained in:
cogwheel
2025-12-22 11:00:23 +05:30
parent 0f8003e210
commit 9e73fc93c6
5 changed files with 56 additions and 194 deletions

View File

@@ -990,8 +990,27 @@ void startNewChat(dynamic ref) {
ref.read(pendingFolderIdProvider.notifier).clear();
// Reset to default model for new conversations (fixes #296)
restoreDefaultModel(ref);
}
/// Restores the selected model to the user's configured default model.
/// Call this when starting a new conversation.
Future<void> restoreDefaultModel(dynamic ref) async {
// Mark that this is not a manual selection
ref.read(isManualModelSelectionProvider.notifier).set(false);
// Invalidate and re-read to force defaultModelProvider to use settings priority
ref.invalidate(defaultModelProvider);
try {
await ref.read(defaultModelProvider.future);
} catch (e) {
DebugLogger.error(
'restore-default-failed',
scope: 'chat/model',
error: e,
);
}
}
// Available tools provider