From 985077423b32cd46c24a584dca776ee9c92d1ce6 Mon Sep 17 00:00:00 2001 From: Nikita Katkov Date: Thu, 5 Feb 2026 18:32:42 +0100 Subject: [PATCH] IJPL-210281 [run dashboard]: remove nodes for recently run configurations whose type has been removed from services GitOrigin-RevId: 088fd068b656e8ec11ae6de9464024dff7a2cfb3 --- .../execution.dashboard/src/RunDashboardManagerImpl.java | 3 ++- .../execution.serviceView/src/ConfigureServicesDialog.kt | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platform/execution.dashboard/src/RunDashboardManagerImpl.java b/platform/execution.dashboard/src/RunDashboardManagerImpl.java index 69c9c06703a2..2c6f36585606 100644 --- a/platform/execution.dashboard/src/RunDashboardManagerImpl.java +++ b/platform/execution.dashboard/src/RunDashboardManagerImpl.java @@ -573,7 +573,8 @@ public final class RunDashboardManagerImpl implements RunDashboardManager, Persi RunDashboardService oldService = oldServices.getFirst(); RunContentDescriptorId descriptorId = oldService.getDescriptorId(); RunContentDescriptor descriptor = descriptorId == null ? null : getDescriptorById(descriptorId, myProject); - if (descriptor != null && !settingsList.contains(oldService.getConfigurationSettings())) { + var isAcceptableType = myState.configurationTypes.contains(oldService.getConfigurationSettings().getType().getId()); + if (descriptor != null && !settingsList.contains(oldService.getConfigurationSettings()) && isAcceptableType) { if (!updateServiceSettings(myProject, result, oldServices)) { result.add(oldServices); } diff --git a/platform/execution.serviceView/src/ConfigureServicesDialog.kt b/platform/execution.serviceView/src/ConfigureServicesDialog.kt index d3ae55dbd5e2..498a861ddd0b 100644 --- a/platform/execution.serviceView/src/ConfigureServicesDialog.kt +++ b/platform/execution.serviceView/src/ConfigureServicesDialog.kt @@ -2,6 +2,7 @@ package com.intellij.platform.execution.serviceView import com.intellij.execution.ExecutionBundle +import com.intellij.execution.dashboard.RunDashboardManagerProxy import com.intellij.execution.services.ServiceViewContributor import com.intellij.execution.services.ServiceViewManager import com.intellij.execution.services.ServiceViewToolWindowDescriptor @@ -170,9 +171,7 @@ internal class ConfigureServicesDialog(private val project: Project, settings: S override fun doOKAction() { (ServiceViewManager.getInstance(project) as ServiceViewManagerImpl).setExcludedContributors(excludedServicesTree.getServices()) - ServiceViewCoroutineScopeProvider.getInstance(project).cs.launch { - ServiceViewRpc.getInstance().saveConfigurationTypes(project.projectId(), includedServicesTree.getTypes()) - } + RunDashboardManagerProxy.getInstance(project).types = includedServicesTree.getTypes() super.doOKAction() } }