From 9b2a64fa6a272c2a43890e28bfb12f5386708638 Mon Sep 17 00:00:00 2001 From: yoniebans Date: Sun, 7 Jun 2026 10:47:05 +0200 Subject: [PATCH] fix(desktop): reflect env-override remote in gateway connection state HERMES_DESKTOP_REMOTE_URL forces a remote connection but never writes connection.json, so the gateway panel read mode/url from persisted config and mislabelled an env-remote session as local with no url. --- apps/desktop/electron/main.cjs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/desktop/electron/main.cjs b/apps/desktop/electron/main.cjs index 2d5dc37b92b..c28aea0bb1b 100644 --- a/apps/desktop/electron/main.cjs +++ b/apps/desktop/electron/main.cjs @@ -3899,10 +3899,12 @@ async function sanitizeDesktopConnectionConfig(config = readDesktopConnectionCon const scoped = key ? config.profiles?.[key] || null : null const block = key ? scoped || {} : config.remote || {} + const envOverride = key ? false : Boolean(process.env.HERMES_DESKTOP_REMOTE_URL) + const remoteToken = decryptDesktopSecret(block.token) const authMode = normAuthMode(block.authMode) - const remoteUrl = String(block.url || '') - const mode = (key ? scoped?.mode : config.mode) === 'remote' ? 'remote' : 'local' + const remoteUrl = envOverride ? String(process.env.HERMES_DESKTOP_REMOTE_URL || '') : String(block.url || '') + const mode = envOverride || (key ? scoped?.mode : config.mode) === 'remote' ? 'remote' : 'local' let remoteOauthConnected = false if (authMode === 'oauth' && remoteUrl) { @@ -3928,7 +3930,7 @@ async function sanitizeDesktopConnectionConfig(config = readDesktopConnectionCon remoteTokenSet: Boolean(remoteToken), // The env override only forces the global/primary connection; a per-profile // scope is never overridden by HERMES_DESKTOP_REMOTE_URL. - envOverride: key ? false : Boolean(process.env.HERMES_DESKTOP_REMOTE_URL) + envOverride } }