From ab556286f1d9292ee5eab1c0ed268e5e15d6e6e3 Mon Sep 17 00:00:00 2001 From: sam hoang Date: Sat, 1 Feb 2025 10:49:09 +0700 Subject: [PATCH] fix: prevent unnecessary config operations when renaming to same name - Add validation in UI to early return when renaming config to current name - Add server-side validation to prevent config save/delete operations --- src/core/webview/ClineProvider.ts | 4 ++++ webview-ui/src/components/settings/ApiConfigManager.tsx | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts index 3daf0d3..fde49a5 100644 --- a/src/core/webview/ClineProvider.ts +++ b/src/core/webview/ClineProvider.ts @@ -1215,6 +1215,10 @@ export class ClineProvider implements vscode.WebviewViewProvider { try { const { oldName, newName } = message.values + if (oldName === newName) { + break + } + await this.configManager.saveConfig(newName, message.apiConfiguration) await this.configManager.deleteConfig(oldName) diff --git a/webview-ui/src/components/settings/ApiConfigManager.tsx b/webview-ui/src/components/settings/ApiConfigManager.tsx index 0ea052d..b10adf4 100644 --- a/webview-ui/src/components/settings/ApiConfigManager.tsx +++ b/webview-ui/src/components/settings/ApiConfigManager.tsx @@ -60,6 +60,11 @@ const ApiConfigManager = ({ if (editState === "new") { onUpsertConfig(trimmedValue) } else if (editState === "rename" && currentApiConfigName) { + if (currentApiConfigName === trimmedValue) { + setEditState(null) + setInputValue("") + return + } onRenameConfig(currentApiConfigName, trimmedValue) }