@@ -311,44 +311,15 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
311311 } else if ( event . data . type === "codeIndexSettingsSaved" ) {
312312 if ( event . data . success ) {
313313 setSaveStatus ( "saved" )
314- // Use the settings returned from the backend to update both initial and current settings
315- // This ensures we have the exact values that were saved
316- if ( event . data . settings ) {
317- const savedSettings = {
318- codebaseIndexEnabled : event . data . settings . codebaseIndexEnabled ?? true ,
319- codebaseIndexQdrantUrl : event . data . settings . codebaseIndexQdrantUrl || "" ,
320- codebaseIndexEmbedderProvider :
321- event . data . settings . codebaseIndexEmbedderProvider || "openai" ,
322- codebaseIndexEmbedderBaseUrl : event . data . settings . codebaseIndexEmbedderBaseUrl || "" ,
323- codebaseIndexEmbedderModelId : event . data . settings . codebaseIndexEmbedderModelId || "" ,
324- codebaseIndexEmbedderModelDimension :
325- event . data . settings . codebaseIndexEmbedderModelDimension || undefined ,
326- codebaseIndexSearchMaxResults :
327- event . data . settings . codebaseIndexSearchMaxResults ??
328- CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_RESULTS ,
329- codebaseIndexSearchMinScore :
330- event . data . settings . codebaseIndexSearchMinScore ??
331- CODEBASE_INDEX_DEFAULTS . DEFAULT_SEARCH_MIN_SCORE ,
332- codebaseIndexBedrockRegion : event . data . settings . codebaseIndexBedrockRegion || "" ,
333- codebaseIndexBedrockProfile : event . data . settings . codebaseIndexBedrockProfile || "" ,
334- codeIndexOpenAiKey : currentSettingsRef . current . codeIndexOpenAiKey ,
335- codeIndexQdrantApiKey : currentSettingsRef . current . codeIndexQdrantApiKey ,
336- codebaseIndexOpenAiCompatibleBaseUrl :
337- event . data . settings . codebaseIndexOpenAiCompatibleBaseUrl || "" ,
338- codebaseIndexOpenAiCompatibleApiKey :
339- currentSettingsRef . current . codebaseIndexOpenAiCompatibleApiKey ,
340- codebaseIndexGeminiApiKey : currentSettingsRef . current . codebaseIndexGeminiApiKey ,
341- codebaseIndexMistralApiKey : currentSettingsRef . current . codebaseIndexMistralApiKey ,
342- codebaseIndexVercelAiGatewayApiKey :
343- currentSettingsRef . current . codebaseIndexVercelAiGatewayApiKey ,
344- }
345-
346- setInitialSettings ( savedSettings )
347- setCurrentSettings ( savedSettings )
348- }
349-
314+ // Update initial settings to match current settings after successful save
315+ // This ensures hasUnsavedChanges becomes false
316+ const savedSettings = { ...currentSettingsRef . current }
317+ setInitialSettings ( savedSettings )
318+ // Also update current settings to maintain consistency
319+ setCurrentSettings ( savedSettings )
350320 // Request secret status to ensure we have the latest state
351321 // This is important to maintain placeholder display after save
322+
352323 vscode . postMessage ( { type : "requestCodeIndexSecretStatus" } )
353324
354325 setSaveStatus ( "idle" )
0 commit comments