From 589309f4ae56042d009367f51c0d2c5fa85e7d6b Mon Sep 17 00:00:00 2001 From: Vladimir Lagunov Date: Mon, 20 Oct 2025 16:27:03 +0200 Subject: [PATCH] [eel] IJPL-213853 Minimal environment variables on local Eel must not include login-interactive variables GitOrigin-RevId: 10134ef0c5214b43fc7e6988ba841d91f3e2fc1e --- .../intellij/platform/eel/impl/local/EelLocalExecApi.kt | 8 ++------ platform/util/src/com/intellij/util/EnvironmentUtil.java | 3 ++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/platform/eel-impl/src/com/intellij/platform/eel/impl/local/EelLocalExecApi.kt b/platform/eel-impl/src/com/intellij/platform/eel/impl/local/EelLocalExecApi.kt index 286897f93dd9..30af75a17168 100644 --- a/platform/eel-impl/src/com/intellij/platform/eel/impl/local/EelLocalExecApi.kt +++ b/platform/eel-impl/src/com/intellij/platform/eel/impl/local/EelLocalExecApi.kt @@ -64,9 +64,7 @@ class EelLocalExecPosixApi( val (cache, interactive) = when (opts.mode) { EelExecPosixApi.PosixEnvironmentVariablesOptions.Mode.MINIMAL -> { - return service().coroutineScope.async { - EnvironmentUtil.getEnvironmentMap() - } + return CompletableDeferred(EnvironmentUtil.getSystemEnv()) } EelExecPosixApi.PosixEnvironmentVariablesOptions.Mode.LOGIN_NON_INTERACTIVE -> { @@ -200,9 +198,7 @@ class EelLocalExecWindowsApi : EelExecWindowsApi, LocalEelExecApi { override val descriptor: EelDescriptor = LocalEelDescriptor override fun environmentVariables(opts: EelExecApi.EnvironmentVariablesOptions): Deferred> = - service().coroutineScope.async { - EnvironmentUtil.getEnvironmentMap() - } + CompletableDeferred(EnvironmentUtil.getEnvironmentMap()) override suspend fun findExeFilesInPath(binaryName: String): List = findExeFilesInPath(binaryName, LOG) diff --git a/platform/util/src/com/intellij/util/EnvironmentUtil.java b/platform/util/src/com/intellij/util/EnvironmentUtil.java index 59604316f374..1782ffc61bf9 100644 --- a/platform/util/src/com/intellij/util/EnvironmentUtil.java +++ b/platform/util/src/com/intellij/util/EnvironmentUtil.java @@ -112,7 +112,8 @@ public final class EnvironmentUtil { ourEnvGetter.set(loader); } - private static Map getSystemEnv() { + @ApiStatus.Internal + public static Map getSystemEnv() { if (OS.CURRENT == OS.Windows) { return Collections.unmodifiableMap(CollectionFactory.createCaseInsensitiveStringMap(System.getenv())); }