From bac655ddb4c7cb0b26c953b66eac95fa10393af1 Mon Sep 17 00:00:00 2001 From: Isaac Sanchez-Hawkins <266845420+isanchez404@users.noreply.github.com> Date: Wed, 13 May 2026 19:06:21 -0400 Subject: [PATCH] fix(ui): preserve runtime worktree source (#1259) Co-authored-by: Isaac Sanchez --- packages/ui/src/sync/session-worktree-contract.test.js | 2 +- packages/ui/src/sync/session-worktree-contract.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui/src/sync/session-worktree-contract.test.js b/packages/ui/src/sync/session-worktree-contract.test.js index 9343ce2f..f37a9c3b 100644 --- a/packages/ui/src/sync/session-worktree-contract.test.js +++ b/packages/ui/src/sync/session-worktree-contract.test.js @@ -238,6 +238,7 @@ describe('resolveSessionWorktreeState', () => { expect(result.legacy).toBe(false); expect(result.worktreeRoot).toBe('/repo/worktrees/feat-a'); + expect(result.worktreeSource).toBe('existing'); expect(result.degraded).toBe(false); }); @@ -657,4 +658,3 @@ describe('getMutationBlockingReasons', () => { expect(reasons[0]).toEqual({ reason: 'dirty' }); }); }); - diff --git a/packages/ui/src/sync/session-worktree-contract.ts b/packages/ui/src/sync/session-worktree-contract.ts index de00431c..6fbf4c0e 100644 --- a/packages/ui/src/sync/session-worktree-contract.ts +++ b/packages/ui/src/sync/session-worktree-contract.ts @@ -104,7 +104,7 @@ export function resolveSessionWorktreeState( branch: runtimeResolution.branch ?? metadata?.branch ?? null, headState: runtimeResolution.headState ?? 'branch', worktreeStatus: runtimeResolution.worktreeStatus ?? 'ready', - worktreeSource: runtimeResolution.worktreeSource ?? metadata?.source === 'sdk' ? 'created-for-session' : 'existing', + worktreeSource: runtimeResolution.worktreeSource ?? (metadata?.source === 'sdk' ? 'created-for-session' : 'existing'), legacy: false, degraded: runtimeResolution.degraded, attentionReason: runtimeResolution.attentionReason ?? null,