From 84787ec55fc14298069038a2929cc02556138e8e Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 4 Aug 2026 15:28:38 +0800 Subject: [PATCH 1/2] test(app): select v2 smoke transport --- packages/app/e2e/smoke/session-timeline.spec.ts | 5 +++++ packages/app/e2e/utils/mock-server.ts | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/app/e2e/smoke/session-timeline.spec.ts b/packages/app/e2e/smoke/session-timeline.spec.ts index 1c3375ac4ef..d5330ac7d92 100644 --- a/packages/app/e2e/smoke/session-timeline.spec.ts +++ b/packages/app/e2e/smoke/session-timeline.spec.ts @@ -33,6 +33,7 @@ test.describe("smoke: session timeline", () => { test("keeps the visible message fixed while prepending history", async ({ page }) => { const requests: { before?: string; phase: "start" | "end"; at: number }[] = [] await mockOpenCodeServer(page, { + protocol: "v2", sessions: fixture.sessions, provider: fixture.provider, directory: fixture.directory, @@ -91,6 +92,7 @@ test.describe("smoke: session timeline", () => { test("preserves the timeline gap above the composer", async ({ page }) => { await mockOpenCodeServer(page, { + protocol: "v2", sessions: fixture.sessions, provider: fixture.provider, directory: fixture.directory, @@ -117,6 +119,7 @@ test.describe("smoke: session timeline", () => { test("paints cached session tabs at the latest message", async ({ page }) => { await mockOpenCodeServer(page, { + protocol: "v2", sessions: fixture.sessions, provider: fixture.provider, directory: fixture.directory, @@ -242,6 +245,7 @@ test.describe("smoke: session timeline", () => { test("paints a cold session tab at the latest message", async ({ page }) => { await mockOpenCodeServer(page, { + protocol: "v2", sessions: fixture.sessions, provider: fixture.provider, directory: fixture.directory, @@ -320,6 +324,7 @@ test.describe("smoke: session timeline", () => { test("renders seeded timeline in order while paging through history", async ({ page }) => { const errors = trackPageErrors(page) await mockOpenCodeServer(page, { + protocol: "v2", sessions: fixture.sessions, provider: fixture.provider, directory: fixture.directory, diff --git a/packages/app/e2e/utils/mock-server.ts b/packages/app/e2e/utils/mock-server.ts index 2cd7d8defd1..a067a22369b 100644 --- a/packages/app/e2e/utils/mock-server.ts +++ b/packages/app/e2e/utils/mock-server.ts @@ -80,7 +80,7 @@ export async function mockOpenCodeServer(page: Page, config: MockServerConfig) { ) } if (path === "/global/health") - return config.protocol === "v2" ? json(route, {}, undefined, 404) : json(route, { healthy: true }) + return config.protocol === "v2" ? json(route, {}) : json(route, { healthy: true }) if (path === "/api/health" && config.protocol === "v2") return json(route, { healthy: true, version: "2.0.0", pid: 1 }) if (path === "/experimental/capabilities") return json(route, { backgroundSubagents: true }) From be9d49c3f6d4a886fdf4edcd521b175abdde3123 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Tue, 4 Aug 2026 15:30:53 +0800 Subject: [PATCH 2/2] test(app): retain gated legacy projection coverage --- .../regression/session-timeline-context-resize.spec.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/app/e2e/regression/session-timeline-context-resize.spec.ts b/packages/app/e2e/regression/session-timeline-context-resize.spec.ts index 053999e5e20..a9a4738da92 100644 --- a/packages/app/e2e/regression/session-timeline-context-resize.spec.ts +++ b/packages/app/e2e/regression/session-timeline-context-resize.spec.ts @@ -14,8 +14,8 @@ const projectID = "proj_context_resize_regression" const sessionID = "ses_context_resize_regression" const title = "Context resize regression" const model = { providerID: "opencode", modelID: "claude-opus-4-6", variant: "max" } -const contextIDs = ["ctx_0100_read", "ctx_0101_glob", "ctx_0102_grep", "ctx_0103_list"] -const followingTextID = `${id("msg_assistant", 10)}:text:0` +const contextIDs = ["prt_0100_read", "prt_0101_glob", "prt_0102_grep", "prt_0103_list"] +const followingTextID = "prt_0104_text" type Message = { info: Record & { id: string; role: "user" | "assistant" } @@ -263,7 +263,7 @@ function turn(index: number, target: boolean, status: "running" | "completed" = ), contextTool(contextIDs[3]!, assistantID, "list", { path: "src" }, status), { - id: "prt_0104_text", + id: followingTextID, sessionID, messageID: assistantID, type: "text", @@ -295,7 +295,7 @@ function contextTool( sessionID, messageID, type: "tool", - callID: partID, + callID: `call_${partID}`, tool, state: { status,