From 19bc70ae15c0d7a6a6abd64a1a63a58bf873fc81 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Sun, 2 Aug 2026 17:25:12 -0700 Subject: [PATCH] fix(codex): avoid detached restart size wait --- .../terminal-pane/codex-detached-pane-restart.test.ts | 5 +++-- .../components/terminal-pane/codex-detached-pane-restart.ts | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.test.ts b/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.test.ts index f7c53702877..7da18f0d341 100644 --- a/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.test.ts +++ b/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.test.ts @@ -103,8 +103,8 @@ describe('codex detached pane restart executor', () => { expect(window.api.pty.spawn).toHaveBeenCalledExactlyOnceWith( expect.objectContaining({ - cols: 120, - rows: 30, + cols: 80, + rows: 24, cwd: '/Users/dev/code/orca', command: 'codex', startupCommandDelivery: 'shell-ready', @@ -115,6 +115,7 @@ describe('codex detached pane restart executor', () => { initiallyHidden: true }) ) + expect(window.api.pty.getSize).not.toHaveBeenCalled() expect(vi.mocked(window.api.pty.spawn).mock.calls[0]?.[0]?.env).toEqual( expect.objectContaining({ ORCA_PANE_KEY: `tab-1:${LEAF_ID}`, diff --git a/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.ts b/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.ts index e18a2848aad..4d3b630397f 100644 --- a/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.ts +++ b/src/renderer/src/components/terminal-pane/codex-detached-pane-restart.ts @@ -171,7 +171,6 @@ async function executeDetachedCodexPaneRestart( } const { worktreeId, tab, leafId } = located - const size = await window.api.pty.getSize(ptyId).catch(() => null) const workspacePath = getWorkspacePath(state, worktreeId) const cwd = tab.startupCwd ?? workspacePath ?? undefined const capabilities = hasCachedWindowsTerminalCapabilities() @@ -194,9 +193,10 @@ async function executeDetachedCodexPaneRestart( return } + // Hidden replacements converge on mount; provider sizing must not delay ownership transfer. const spawned = await window.api.pty.spawn({ - cols: size?.cols ?? 80, - rows: size?.rows ?? 24, + cols: 80, + rows: 24, ...(cwd ? { cwd } : {}), cwdFallback: 'worktree', env: buildPaneIdentityEnv(state, worktreeId, tab.id, leafId),