From 8576e3cc3370ce761ffade4e07b3c142d75c4dd2 Mon Sep 17 00:00:00 2001 From: yetone Date: Fri, 9 Oct 2026 00:37:17 +0800 Subject: [PATCH] gui tests: routing-sessions leaves the held live trace for a reload to cancel; letting it go just before the reload had the page ask again while going away, which WebKit turned away "due to access control checks" as a page error (#1307) --- internal/gui/tests/routing-sessions.test.cjs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/internal/gui/tests/routing-sessions.test.cjs b/internal/gui/tests/routing-sessions.test.cjs index bba5170f..32a1e7f0 100644 --- a/internal/gui/tests/routing-sessions.test.cjs +++ b/internal/gui/tests/routing-sessions.test.cjs @@ -299,12 +299,14 @@ for (const engine of (process.env.BROWSER ? [process.env.BROWSER] : ["chromium", assert.equal(await page.locator(".rt-session").count(), 0); await buttons.nth(1).click(); await page.locator(".rt-session").nth(3).waitFor(); - feed.next?.([]); + // the live trace's held answer is left held: the reload cancels it. An + // answer let go now has the page ask again while it is going away, and + // WebKit turns that ask away "due to access control checks", an error + // on the page (#1307) await page.reload(); await page.locator(".rt-session").nth(3).waitFor(); assert.equal(await buttons.nth(1).getAttribute("aria-pressed"), "true"); await buttons.first().click(); - feed.next?.([]); await page.reload(); await page.locator(".rt-req").nth(5).waitFor(); assert.equal(await buttons.first().getAttribute("aria-pressed"), "true"); @@ -396,7 +398,8 @@ for (const engine of (process.env.BROWSER ? [process.env.BROWSER] : ["chromium", await page.locator(".rt-day").filter({ hasText: lang === "zh" ? "今天" : "today" }).click(); await page.waitForFunction(() => document.querySelectorAll(".rt-session").length === 2); assert.equal(await group(title.session).count(), 0, "history navigation lost title association"); - feed.next?.([]); + // the held live trace is left for the reload to cancel (see "either + // choice survives a reload") await page.reload(); await page.waitForFunction(() => document.querySelectorAll(".rt-session").length === 2); assert.equal(await group(title.session).count(), 0, "page reload lost title association");