From a219615fe5aeb6a40898300b17f076072aed5bcc Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Wed, 4 Feb 2026 06:22:55 -0600 Subject: fix(app): opened tabs follow created session --- packages/app/src/context/layout.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'packages/app/src/context') diff --git a/packages/app/src/context/layout.tsx b/packages/app/src/context/layout.tsx index 28fe628a8..71f3f6cff 100644 --- a/packages/app/src/context/layout.tsx +++ b/packages/app/src/context/layout.tsx @@ -35,6 +35,12 @@ type SessionView = { reviewOpen?: string[] } +type TabHandoff = { + dir: string + id: string + at: number +} + export type LocalProject = Partial & { worktree: string; expanded: boolean } export type ReviewDiffStyle = "unified" | "split" @@ -115,6 +121,9 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext( }, sessionTabs: {} as Record, sessionView: {} as Record, + handoff: { + tabs: undefined as TabHandoff | undefined, + }, }), ) @@ -411,6 +420,16 @@ export const { use: useLayout, provider: LayoutProvider } = createSimpleContext( return { ready, + handoff: { + tabs: createMemo(() => store.handoff?.tabs), + setTabs(dir: string, id: string) { + setStore("handoff", "tabs", { dir, id, at: Date.now() }) + }, + clearTabs() { + if (!store.handoff?.tabs) return + setStore("handoff", "tabs", undefined) + }, + }, projects: { list, open(directory: string) { -- cgit v1.2.3