Skip to content

Commit 4f9935c

Browse files
daniel-lxshannesrudolph
authored andcommitted
fix: simplify unsaved changes check in CodeIndexSettings component
1 parent 1c8ce41 commit 4f9935c

File tree

1 file changed

+2
-39
lines changed

1 file changed

+2
-39
lines changed

webview-ui/src/components/settings/CodeIndexSettings.tsx

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -175,43 +175,6 @@ export const CodeIndexSettings: React.FC<CodeIndexSettingsProps> = ({
175175
}
176176
}
177177

178-
// Check if there are unsaved indexing-related changes (excluding search threshold)
179-
function hasUnsavedIndexingChanges(config: CodebaseIndexConfig | undefined, apiConfig: ProviderSettings): boolean {
180-
// If settings aren't committed, we need to check what specifically changed
181-
if (!areSettingsCommitted) {
182-
// Get the saved state from vscode
183-
const savedState = vscode.getState() as any
184-
if (!savedState) return true // If no saved state, consider it as having changes
185-
186-
const savedConfig = savedState?.codebaseIndexConfig || {}
187-
const savedApiConfig = savedState?.apiConfiguration || {}
188-
189-
// Check if any indexing-related settings changed (excluding search threshold)
190-
const indexingConfigChanged =
191-
config?.codebaseIndexEnabled !== savedConfig.codebaseIndexEnabled ||
192-
config?.codebaseIndexEmbedderProvider !== savedConfig.codebaseIndexEmbedderProvider ||
193-
config?.codebaseIndexEmbedderModelId !== savedConfig.codebaseIndexEmbedderModelId ||
194-
config?.codebaseIndexEmbedderBaseUrl !== savedConfig.codebaseIndexEmbedderBaseUrl ||
195-
config?.codebaseIndexQdrantUrl !== savedConfig.codebaseIndexQdrantUrl
196-
197-
// Check if API keys changed based on provider
198-
const apiKeysChanged =
199-
(config?.codebaseIndexEmbedderProvider === "openai" &&
200-
apiConfig.codeIndexOpenAiKey !== savedApiConfig.codeIndexOpenAiKey) ||
201-
(config?.codebaseIndexEmbedderProvider === "openai-compatible" &&
202-
(apiConfig.codebaseIndexOpenAiCompatibleApiKey !==
203-
savedApiConfig.codebaseIndexOpenAiCompatibleApiKey ||
204-
apiConfig.codebaseIndexOpenAiCompatibleBaseUrl !==
205-
savedApiConfig.codebaseIndexOpenAiCompatibleBaseUrl ||
206-
apiConfig.codebaseIndexOpenAiCompatibleModelDimension !==
207-
savedApiConfig.codebaseIndexOpenAiCompatibleModelDimension)) ||
208-
apiConfig.codeIndexQdrantApiKey !== savedApiConfig.codeIndexQdrantApiKey
209-
210-
return indexingConfigChanged || apiKeysChanged
211-
}
212-
return false
213-
}
214-
215178
const progressPercentage =
216179
indexingStatus.totalItems > 0
217180
? (indexingStatus.processedItems / indexingStatus.totalItems) * 100
@@ -541,7 +504,7 @@ export const CodeIndexSettings: React.FC<CodeIndexSettingsProps> = ({
541504
</div>
542505
</div>
543506

544-
{hasUnsavedIndexingChanges(codebaseIndexConfig, apiConfiguration) && (
507+
{(!areSettingsCommitted || !validateIndexingConfig(codebaseIndexConfig, apiConfiguration)) && (
545508
<p className="text-sm text-vscode-descriptionForeground mb-2">
546509
{t("settings:codeIndex.unsavedSettingsMessage")}
547510
</p>
@@ -552,7 +515,7 @@ export const CodeIndexSettings: React.FC<CodeIndexSettingsProps> = ({
552515
<VSCodeButton
553516
onClick={() => vscode.postMessage({ type: "startIndexing" })}
554517
disabled={
555-
hasUnsavedIndexingChanges(codebaseIndexConfig, apiConfiguration) ||
518+
!areSettingsCommitted ||
556519
!validateIndexingConfig(codebaseIndexConfig, apiConfiguration)
557520
}>
558521
{t("settings:codeIndex.startIndexingButton")}

0 commit comments

Comments
 (0)