From e80a9fe14dec0a54186a2baeb35c994e3fd4e0c5 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sat, 5 Sep 2026 13:17:17 -0700 Subject: [PATCH] fix: preserve creation draft focus during setup startup --- src/main/ipc/worktree-remote.ts | 6 ++++-- src/main/ipc/worktrees-local-create-flow.test.ts | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/ipc/worktree-remote.ts b/src/main/ipc/worktree-remote.ts index 3e1a1b51b79..846786c30a4 100644 --- a/src/main/ipc/worktree-remote.ts +++ b/src/main/ipc/worktree-remote.ts @@ -514,14 +514,16 @@ async function spawnLocalStartupAndSetupTerminals(args: { command: setupCommand, env: setup.envVars, sourceSurfaceVisible: startupTerminal?.surface === 'visible', - activate: false + activate: false, + ...(sequencedStartup.activate === false ? { surfaceOwner: false } : {}) }) } else { await runtime.createTerminal(`id:${worktree.id}`, { title: 'Setup', command: setupCommand, env: setup.envVars, - activate: false + activate: false, + ...(sequencedStartup.activate === false ? { surfaceOwner: false } : {}) }) } didSpawnSetup = true diff --git a/src/main/ipc/worktrees-local-create-flow.test.ts b/src/main/ipc/worktrees-local-create-flow.test.ts index 1e4a0bb14dd..eb012f4fbb2 100644 --- a/src/main/ipc/worktrees-local-create-flow.test.ts +++ b/src/main/ipc/worktrees-local-create-flow.test.ts @@ -655,6 +655,10 @@ describe('registerWorktreeHandlers', () => { }) if (setupScriptLaunchMode === 'new-tab') { expect(runtimeStub.createTerminal).toHaveBeenCalledTimes(2) + expect(runtimeStub.createTerminal.mock.calls[1][1]).toMatchObject({ + activate: false, + surfaceOwner: false + }) expect(runtimeStub.splitTerminal).not.toHaveBeenCalled() } else { expect(runtimeStub.createTerminal).toHaveBeenCalledTimes(1) @@ -663,7 +667,8 @@ describe('registerWorktreeHandlers', () => { command: 'bash /workspace/repo/.git/orca/setup-runner.sh', env: expect.any(Object), sourceSurfaceVisible: true, - activate: false + activate: false, + surfaceOwner: false }) } }