Skip to content

Commit 6a8fb59

Browse files
authored
Fix settings saving logic to ensure the saved settings are used (#3976)
* feat: Enhance configuration change handling and model dimension checks * fix: Update embedder creation to use modelId from config * test: Add unit tests for ServiceFactory embedder and vector store creation * test: Add comprehensive restart detection tests for configuration changes * feat: Implement model ID selection logic for provider changes in CodeIndexSettings * fix: Initialize configuration on constructor to prevent false restart triggers * fix: Enhance API key handling and restart logic in CodeIndexConfigManager * fix: Improve handling of external settings changes and automatic indexing in webviewMessageHandler * fix: Ensure handleExternalSettingsChange only restarts service when manager is initialized * refactor: remove console logs * fix: Load configuration during initialization to ensure correct state and restart requirements
1 parent 977fa26 commit 6a8fb59

File tree

8 files changed

+988
-71
lines changed

8 files changed

+988
-71
lines changed

src/core/webview/webviewMessageHandler.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1331,7 +1331,18 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We
13311331
await updateGlobalState("codebaseIndexConfig", codebaseIndexConfig)
13321332

13331333
try {
1334-
await provider.codeIndexManager?.initialize(provider.contextProxy)
1334+
if (provider.codeIndexManager) {
1335+
await provider.codeIndexManager.handleExternalSettingsChange()
1336+
1337+
// If now configured and enabled, start indexing automatically
1338+
if (provider.codeIndexManager.isFeatureEnabled && provider.codeIndexManager.isFeatureConfigured) {
1339+
if (!provider.codeIndexManager.isInitialized) {
1340+
await provider.codeIndexManager.initialize(provider.contextProxy)
1341+
}
1342+
// Start indexing in background (no await)
1343+
provider.codeIndexManager.startIndexing()
1344+
}
1345+
}
13351346
} catch (error) {
13361347
provider.log(
13371348
`[CodeIndexManager] Error during background CodeIndexManager configuration/indexing: ${error.message || error}`,

0 commit comments

Comments
 (0)