From f05d2ab551fbfcc47ecdac0c5541a1af9a769a8d Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 16:32:32 +0000 Subject: [PATCH] fix(tui): load root sessions in switcher (#37784) Co-authored-by: Dax Raad --- packages/tui/src/context/data.tsx | 1 + packages/tui/test/cli/tui/data.test.tsx | 30 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/packages/tui/src/context/data.tsx b/packages/tui/src/context/data.tsx index 14990fb9337..41e9b68236f 100644 --- a/packages/tui/src/context/data.tsx +++ b/packages/tui/src/context/data.tsx @@ -1294,6 +1294,7 @@ export const { use: useData, provider: DataProvider } = createSimpleContext({ project: location.project.id, limit: 50, order: "desc", + parentID: null, }) }) .then((response) => { diff --git a/packages/tui/test/cli/tui/data.test.tsx b/packages/tui/test/cli/tui/data.test.tsx index c35138676a9..d392704dc41 100644 --- a/packages/tui/test/cli/tui/data.test.tsx +++ b/packages/tui/test/cli/tui/data.test.tsx @@ -64,6 +64,36 @@ function durable(sessionID: string, seq = 0, version = 1) { return { aggregateID: sessionID, seq, version } } +test("preloads root sessions before applying the session limit", async () => { + const events = createEventStream() + let request: URL | undefined + const calls = createFetch((url) => { + if (url.pathname === "/api/session") request = url + return undefined + }, events) + + const app = await testRender(() => ( + + + + + + + + + + )) + + try { + await wait(() => request !== undefined) + expect(request?.searchParams.get("project")).toBe("proj_test") + expect(request?.searchParams.get("limit")).toBe("50") + expect(request?.searchParams.get("parentID")).toBe("null") + } finally { + app.renderer.destroy() + } +}) + test("bootstraps MCP data for the TUI location", async () => { const events = createEventStream() const requests: URL[] = []