diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/actions/BaseGotoNextErrorAction.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/actions/BaseGotoNextErrorAction.java index ffb031c66e23..20dba7ba513b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/actions/BaseGotoNextErrorAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/actions/BaseGotoNextErrorAction.java @@ -8,13 +8,18 @@ import com.intellij.codeInsight.daemon.impl.GotoNextErrorHandler; import com.intellij.codeInsight.daemon.impl.GotoNextErrorUtilsKt; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehavior; +import com.intellij.openapi.actionSystem.remoting.ActionRemoteBehaviorSpecification; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.PsiFile; +import org.jetbrains.annotations.ApiStatus.Internal; import org.jetbrains.annotations.NotNull; -abstract class BaseGotoNextErrorAction extends BaseCodeInsightAction implements DumbAware { + +abstract class BaseGotoNextErrorAction extends BaseCodeInsightAction implements ActionRemoteBehaviorSpecification, DumbAware { private final boolean goForward; @@ -48,4 +53,13 @@ abstract class BaseGotoNextErrorAction extends BaseCodeInsightAction implements protected boolean isValidForFile(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file) { return DaemonCodeAnalyzer.getInstance(project).isHighlightingAvailable(file); } -} \ No newline at end of file + + @Internal + @Override + public @NotNull ActionRemoteBehavior getBehavior() { + if (Registry.is("ide.popup.async.enabled", false)) { + return ActionRemoteBehavior.FrontendOnly; + } + return ActionRemoteBehavior.BackendOnly; + } +} diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index d26ccaf51800..e21c8d686600 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -2500,5 +2500,10 @@ ijpl.rhizome.ad.markup.enabled.description=Use shared markup entity. Currently a ide.permissions.api.enabled=true ide.permissions.api.enabled.description=Turns on permission api +ide.popup.async.enabled=false +ide.popup.async.enabled.description=Feature flag for IJPL-183574 improving UX of rd editor by moving some popups and actions on the frontend side. \ + The flag should be removed after 252 release + + # please leave this note as last line # TODO please use EP com.intellij.registryKey for plugin/product specific keys