From b18f8d6f76274cc09d099b2db2ad16a5e068eaff Mon Sep 17 00:00:00 2001 From: "Ilia.Shulgin" Date: Tue, 17 Jun 2025 15:56:16 +0200 Subject: [PATCH] [git] IJPL-192098 Disable branches widget in CWM 1. Mark as frontend-only to prevent getting it from backend 2. Explicitly disable frontend action in CWM GitOrigin-RevId: d3d00e3e39be46f8aad688c81af82a7d4cb6d63d --- .../vcs/git/frontend/widget/GitToolbarWidgetAction.kt | 3 ++- .../intellij/vcs/git/shared/GitDataHoldersInitializer.kt | 2 +- .../src/com/intellij/vcs/git/shared/rdWidgetRegistry.kt | 9 ++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/git4idea/frontend/src/com/intellij/vcs/git/frontend/widget/GitToolbarWidgetAction.kt b/plugins/git4idea/frontend/src/com/intellij/vcs/git/frontend/widget/GitToolbarWidgetAction.kt index 50fc272fd280..8da94b2da380 100644 --- a/plugins/git4idea/frontend/src/com/intellij/vcs/git/frontend/widget/GitToolbarWidgetAction.kt +++ b/plugins/git4idea/frontend/src/com/intellij/vcs/git/frontend/widget/GitToolbarWidgetAction.kt @@ -2,12 +2,13 @@ package com.intellij.vcs.git.frontend.widget import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification import com.intellij.openapi.project.Project import com.intellij.openapi.util.registry.Registry import com.intellij.vcs.git.shared.isRdBranchWidgetEnabled import com.intellij.vcs.git.shared.widget.GitToolbarWidgetActionBase -class GitToolbarWidgetAction: GitToolbarWidgetActionBase() { +internal class GitToolbarWidgetAction: GitToolbarWidgetActionBase(), ActionRemoteBehaviorSpecification.Frontend { override fun doUpdate(e: AnActionEvent, project: Project) { if (!Registry.isRdBranchWidgetEnabled()) { e.presentation.isEnabledAndVisible = false diff --git a/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/GitDataHoldersInitializer.kt b/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/GitDataHoldersInitializer.kt index 4f36412c8787..f7da6c670c44 100644 --- a/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/GitDataHoldersInitializer.kt +++ b/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/GitDataHoldersInitializer.kt @@ -12,7 +12,7 @@ import kotlinx.coroutines.launch internal class GitDataHoldersInitializer : ProjectActivity { override suspend fun execute(project: Project) { - if (application.isUnitTestMode) return + if (application.isUnitTestMode || isCodeWithMe()) return coroutineScope { launch { diff --git a/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/rdWidgetRegistry.kt b/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/rdWidgetRegistry.kt index 0e9cde5f8fb2..c19d27a258e2 100644 --- a/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/rdWidgetRegistry.kt +++ b/plugins/git4idea/shared/src/com/intellij/vcs/git/shared/rdWidgetRegistry.kt @@ -1,8 +1,15 @@ package com.intellij.vcs.git.shared +import com.intellij.frontend.FrontendApplicationInfo +import com.intellij.frontend.FrontendType import com.intellij.openapi.util.registry.Registry import org.jetbrains.annotations.ApiStatus @ApiStatus.Internal fun Registry.Companion.isRdBranchWidgetEnabled(): Boolean = - `is`("git.branches.widget.rd", true) \ No newline at end of file + `is`("git.branches.widget.rd", true) && !isCodeWithMe() + +internal fun isCodeWithMe(): Boolean { + val frontendType = FrontendApplicationInfo.getFrontendType() as? FrontendType.RemoteDev ?: return false + return !frontendType.isLuxSupported +} \ No newline at end of file