From 58c7a86fa4cd9b2504e228b049772fa8c79da8d2 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Wed, 26 Aug 2026 17:05:30 -0700 Subject: [PATCH] fix(native-chat): await Codex launch-home preparation --- src/main/runtime/orca-runtime.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/runtime/orca-runtime.ts b/src/main/runtime/orca-runtime.ts index 62bd64de60e..b9d315243f2 100644 --- a/src/main/runtime/orca-runtime.ts +++ b/src/main/runtime/orca-runtime.ts @@ -3835,7 +3835,10 @@ export class OrcaRuntimeService { | ((args: AiVaultPrepareSessionResumeArgs) => Promise) | null private readonly prepareCodexStructuredLaunchFn: - | ((input: { workspacePath: string; launchEnv: NodeJS.ProcessEnv }) => string | null) + | ((input: { + workspacePath: string + launchEnv: NodeJS.ProcessEnv + }) => string | null | Promise) | null private readonly agentSessionClaimSigner: AgentSessionClaimSigner private readonly agentSessionCreateOperations = new Map() @@ -3928,7 +3931,7 @@ export class OrcaRuntimeService { prepareCodexStructuredLaunch?: (input: { workspacePath: string launchEnv: NodeJS.ProcessEnv - }) => string | null + }) => string | null | Promise buildAgentHookPtyEnv?: () => Record getDesktopWindowStatus?: () => RuntimeDesktopWindowStatus agentSessionClaimSigner?: AgentSessionClaimSigner @@ -12013,9 +12016,9 @@ export class OrcaRuntimeService { ({ launchEnv }) => launchEnv.CLAUDE_CONFIG_DIR?.trim() || join(homedir(), '.claude') ) } - return this.resolveStructuredAgentSessionIntent(input, ({ workspacePath, launchEnv }) => { + return this.resolveStructuredAgentSessionIntent(input, async ({ workspacePath, launchEnv }) => { // A create has no process yet, so the current selection is what it must follow. - const preparedHome = this.prepareCodexStructuredLaunchFn?.({ workspacePath, launchEnv }) + const preparedHome = await this.prepareCodexStructuredLaunchFn?.({ workspacePath, launchEnv }) const configuredHome = launchEnv.CODEX_HOME return ( preparedHome?.trim() || @@ -12034,7 +12037,7 @@ export class OrcaRuntimeService { resolveAccountHomePath: (context: { workspacePath: string launchEnv: NodeJS.ProcessEnv - }) => string + }) => string | Promise ): Promise { const support = await this.getStructuredAgentSessionCreateSupport(input.worktree, input.agent) if (!support.supported) { @@ -12056,7 +12059,7 @@ export class OrcaRuntimeService { agent: input.agent, accountHome: { variable: input.agent === 'claude' ? 'CLAUDE_CONFIG_DIR' : 'CODEX_HOME', - path: resolveAccountHomePath({ workspacePath, launchEnv }) + path: await resolveAccountHomePath({ workspacePath, launchEnv }) }, runtimeKind: 'native' }