From 03a72e8f9fccc93963da9a490a5ef19ebdbfb9ce Mon Sep 17 00:00:00 2001 From: kirillk Date: Wed, 15 Jul 2026 17:26:21 -0400 Subject: [PATCH] fix(jetbrains): map custom provider delete action to disconnect - Route ProviderListAction.DELETE through the existing disconnect() handler so the trash-icon action actually removes the custom provider - Add the missing settings.providers.delete bundle key referenced by ProviderListRows - Preset a default id/name/URL when adding a new custom provider without an existing config to edit --- .changeset/jetbrains-custom-provider-edit.md | 2 +- .../client/settings/providers/ProvidersSettingsUi.kt | 11 ++++++++++- .../src/main/resources/messages/KiloBundle.properties | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.changeset/jetbrains-custom-provider-edit.md b/.changeset/jetbrains-custom-provider-edit.md index dfe3afaafa..f34122179b 100644 --- a/.changeset/jetbrains-custom-provider-edit.md +++ b/.changeset/jetbrains-custom-provider-edit.md @@ -2,4 +2,4 @@ "@kilocode/kilo-jetbrains": patch --- -Support editing custom OpenAI-compatible providers from JetBrains settings, keep added or edited providers selected, and close the custom provider dialog after a successful save. +Support editing custom OpenAI-compatible providers from JetBrains settings and replace their Disconnect action with Edit and Delete. Added or edited providers stay selected, and the custom provider dialog now closes after a successful save. diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/settings/providers/ProvidersSettingsUi.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/settings/providers/ProvidersSettingsUi.kt index 4c533f9c16..83904265ff 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/settings/providers/ProvidersSettingsUi.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/settings/providers/ProvidersSettingsUi.kt @@ -548,6 +548,7 @@ internal class ProvidersContent( ProviderListAction.CONNECT -> connect(row.provider) ProviderListAction.OAUTH -> oauth(row.provider) ProviderListAction.DISCONNECT -> disconnect(row.provider) + ProviderListAction.DELETE -> disconnect(row.provider) ProviderListAction.ENABLE -> enable(row.provider) ProviderListAction.EDIT -> edit(row.provider) } @@ -661,7 +662,7 @@ internal class CustomProviderDialog( ) init() initValidation() - existing?.let { prefill(it) } + existing?.let { prefill(it) } ?: preset() models.document.addDocumentListener(object : DocumentAdapter() { override fun textChanged(e: DocumentEvent) { syncActions() @@ -674,6 +675,14 @@ internal class CustomProviderDialog( syncActions() } + @RequiresEdt + private fun preset() { + checkEdt() + id.text = "Anaconda" + name.text = "Anaconda" + url.text = "http://127.0.0.1:8080" + } + @RequiresEdt private fun prefill(edit: CustomProviderEdit) { checkEdt() diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties index 70461207ea..07867f4f1f 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties @@ -455,6 +455,7 @@ settings.providers.oauth.waitingTimed=Waiting for authorization... ({0}) settings.providers.oauth.cancel=Cancel settings.providers.disconnect=Disconnect settings.providers.edit=Edit +settings.providers.delete=Delete settings.providers.enable=Enable settings.providers.badge.env=env settings.providers.note.kilo=Access 500+ AI models