From a7ae2e09dce116ce96a05cf76b19d6d96c5b4f9c Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 14:54:48 +1000 Subject: [PATCH] fix(app): turn the experimental turn navigator off by default (#57645) Co-authored-by: Hona <10430890+Hona@users.noreply.github.com> --- packages/app/e2e/regression/settings.spec.ts | 34 ++++++++----------- .../e2e/regression/timeline-history.spec.ts | 7 +++- packages/app/src/settings/model.test.ts | 2 +- packages/app/src/settings/model.tsx | 2 +- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/packages/app/e2e/regression/settings.spec.ts b/packages/app/e2e/regression/settings.spec.ts index d80edc4256f..5f8f1c465ad 100644 --- a/packages/app/e2e/regression/settings.spec.ts +++ b/packages/app/e2e/regression/settings.spec.ts @@ -94,7 +94,7 @@ test("a settings page survives refresh", async ({ page }) => { await expect(page).toHaveURL("/settings?tab=appearance") }) -test("the experimental turn navigator defaults on and can be disabled persistently", async ({ page }) => { +test("the experimental turn navigator defaults off and can be enabled persistently", async ({ page }) => { const id = "ses_navigator_settings" const messages: SessionMessageInfo[] = Array.from({ length: 60 }, (_, index) => ({ id: `msg_navigator_${String(index).padStart(4, "0")}`, @@ -115,37 +115,33 @@ test("the experimental turn navigator defaults on and can be disabled persistent pageMessages: pageMessagesFrom({ [id]: messages }), }) const navigator = page.locator('[data-component="session-turn-navigator"]') - await expect(navigator.locator("[data-turn]")).toHaveCount(60) - expect(indexes).toHaveLength(1) - - await page.keyboard.press("Control+,") - const settings = page.getByTestId("settings-screen") - await settings.getByRole("tab", { name: "Experimental", exact: true }).click() - await expect(settings.getByRole("heading", { name: "Experimental", exact: true })).toBeVisible() - const toggle = settings.getByRole("switch", { name: "Turn navigator", exact: true }) - await expect(toggle).toBeChecked() - await toggle.press("Space") - await expect(toggle).not.toBeChecked() - await settings.getByRole("button", { name: "Back to app", exact: true }).click() - await expect(navigator).toHaveCount(0) - - await expect - .poll(() => page.evaluate(() => JSON.parse(localStorage.getItem("settings.v3") ?? "{}").general?.showTurnNavigator)) - .toBe(false) await page.clock.install() await page.reload() await expect(page.locator('[data-component="composer-editor"]')).toBeEditable() await expect(page.locator("#message-msg_navigator_0059")).toBeVisible() await page.clock.fastForward(1500) await expect(navigator).toHaveCount(0) - expect(indexes).toHaveLength(1) + expect(indexes).toHaveLength(0) await page.keyboard.press("Control+,") + const settings = page.getByTestId("settings-screen") await settings.getByRole("tab", { name: "Experimental", exact: true }).click() + await expect(settings.getByRole("heading", { name: "Experimental", exact: true })).toBeVisible() + const toggle = settings.getByRole("switch", { name: "Turn navigator", exact: true }) await expect(toggle).not.toBeChecked() await toggle.press("Space") await expect(toggle).toBeChecked() await settings.getByRole("button", { name: "Back to app", exact: true }).click() + await page.clock.fastForward(1500) + await expect(navigator.locator("[data-turn]")).toHaveCount(60) + expect(indexes).toHaveLength(1) + + await expect + .poll(() => page.evaluate(() => JSON.parse(localStorage.getItem("settings.v3") ?? "{}").general?.showTurnNavigator)) + .toBe(true) + await page.reload() + await expect(page.locator("#message-msg_navigator_0059")).toBeVisible() + await page.clock.fastForward(1500) await expect(navigator.locator("[data-turn]")).toHaveCount(60) expect(indexes).toHaveLength(2) }) diff --git a/packages/app/e2e/regression/timeline-history.spec.ts b/packages/app/e2e/regression/timeline-history.spec.ts index 38d861e3811..0437334253e 100644 --- a/packages/app/e2e/regression/timeline-history.spec.ts +++ b/packages/app/e2e/regression/timeline-history.spec.ts @@ -110,6 +110,7 @@ test.describe("timeline history", () => { await setupTimeline(page, { sessionMessages: messages, pageMessages: pageMessagesFrom({ [sessionID]: messages }), + settings: { showTurnNavigator: true }, inbox: [ { id: "msg_99999_queued_user", @@ -234,7 +235,11 @@ test.describe("timeline history", () => { }), ]).flat() - await setupTimeline(page, { sessionMessages: messages, pageMessages: pageMessagesFrom({ [sessionID]: messages }) }) + await setupTimeline(page, { + sessionMessages: messages, + pageMessages: pageMessagesFrom({ [sessionID]: messages }), + settings: { showTurnNavigator: true }, + }) const navigator = page.locator('[data-component="session-turn-navigator"]') const turns = navigator.locator("[data-turn]") const preview = navigator.locator('[data-slot="session-turn-navigator-preview"]') diff --git a/packages/app/src/settings/model.test.ts b/packages/app/src/settings/model.test.ts index aa62717cf3c..6db3915aab1 100644 --- a/packages/app/src/settings/model.test.ts +++ b/packages/app/src/settings/model.test.ts @@ -93,7 +93,7 @@ describe("settings schema", () => { timelineDetail: timelinePresets[2].value, showCustomAgents: false, showTurnDiffs: false, - showTurnNavigator: true, + showTurnNavigator: false, backgroundActivity: "left", generatedUI: true, mobileTitlebarPosition: "top", diff --git a/packages/app/src/settings/model.tsx b/packages/app/src/settings/model.tsx index 3b22d897242..64a510cba7a 100644 --- a/packages/app/src/settings/model.tsx +++ b/packages/app/src/settings/model.tsx @@ -290,7 +290,7 @@ export const defaultSettings: Settings = { timelineDetail: { ...timelinePresets[2].value }, showCustomAgents: false, showTurnDiffs: false, - showTurnNavigator: true, + showTurnNavigator: false, backgroundActivity: "left", generatedUI: true, mobileTitlebarPosition: "top",