From 781f2745ca2b3dc1624e5d788bcefa1a07a0d829 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Oct 2026 21:30:55 +0000 Subject: [PATCH 1/3] build(deps): bump actions/deploy-pages from 4.0.5 to 5.0.1 Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4.0.5 to 5.0.1. - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](https://github.com/actions/deploy-pages/compare/d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e...368f82528645a54fb793d4d04e342629a3f51346) --- updated-dependencies: - dependency-name: actions/deploy-pages dependency-version: 5.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 1106d84..1056a8c 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -46,4 +46,4 @@ jobs: steps: - name: deploy static artifact id: deployment - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 + uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1 From e05e28ebbb8ca8e7b30ed3dd8ddeb839e42d41db Mon Sep 17 00:00:00 2001 From: JoseDFlorez <63378897+JoseDFN@users.noreply.github.com> Date: Fri, 9 Oct 2026 17:08:47 -0500 Subject: [PATCH 2/3] =?UTF-8?q?=E2=9C=85=20test:=20verify=20report=20persi?= =?UTF-8?q?stence=20with=20defined=20storage=20origins?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verify offline report preferences by reloading the same file without a clearing initialization script. Add an independent cross-tab assertion for the actual generated report served through a defined HTTP origin. Chromium file-origin storage sharing is unspecified and the former new-tab assumption failed on both Playwright versions in Linux CI. Preserve default language, system theme, saved preferences and cross-tab coverage. The corrected persistence and keyboard cases passed 30 repeated local checks. --- tests/browser/report-preferences.spec.mjs | 37 ++++++++++++++++++----- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/tests/browser/report-preferences.spec.mjs b/tests/browser/report-preferences.spec.mjs index 6bf7f12..793e8ab 100644 --- a/tests/browser/report-preferences.spec.mjs +++ b/tests/browser/report-preferences.spec.mjs @@ -129,7 +129,6 @@ test("English is the default and theme follows the system until explicitly chose page, }) => { await page.emulateMedia({ colorScheme: "dark" }); - await page.addInitScript(() => localStorage.clear()); await page.goto(reportUrl); await expect(page.locator("html")).toHaveAttribute("lang", "en"); await expect(page.locator("html")).toHaveAttribute("data-theme", "dark"); @@ -141,12 +140,36 @@ test("English is the default and theme follows the system until explicitly chose localStorage.getItem("dbdep-locale"), ]), ).toEqual(["light", "es"]); - // Remove the initialization script by loading the same file in a new page in this context. - const reloaded = await page.context().newPage(); - await reloaded.goto(reportUrl); - await expect(reloaded.locator("html")).toHaveAttribute("lang", "es"); - await expect(reloaded.locator("html")).toHaveAttribute("data-theme", "light"); - await reloaded.close(); + await page.reload(); + await expect(page.locator("html")).toHaveAttribute("lang", "es"); + await expect(page.locator("html")).toHaveAttribute("data-theme", "light"); +}); + +test("report preferences persist between tabs with the same HTTP origin", async ({ + page, + context, +}) => { + // Cross-tab storage sharing is defined for HTTP origins, not file URLs. + const url = "http://127.0.0.1:4173/preference-report.html"; + const body = await readFile(new URL(reportUrl), "utf8"); + await context.route(url, (route) => + route.fulfill({ contentType: "text/html", body }), + ); + await page.emulateMedia({ colorScheme: "light" }); + await page.goto(url); + await page.getByRole("button", { name: "Switch to dark mode" }).click(); + await page.getByRole("button", { name: "EspaƱol", exact: true }).click(); + expect( + await page.evaluate(() => [ + localStorage.getItem("dbdep-theme"), + localStorage.getItem("dbdep-locale"), + ]), + ).toEqual(["dark", "es"]); + const reopened = await context.newPage(); + await reopened.goto(url); + await expect(reopened.locator("html")).toHaveAttribute("lang", "es"); + await expect(reopened.locator("html")).toHaveAttribute("data-theme", "dark"); + await reopened.close(); }); test("preferences remain usable when browser storage throws", async ({ From 0891c5a57e0dc72ef8e673c691401e70262da980 Mon Sep 17 00:00:00 2001 From: JoseDFlorez <63378897+JoseDFN@users.noreply.github.com> Date: Fri, 9 Oct 2026 17:08:47 -0500 Subject: [PATCH 3/3] =?UTF-8?q?=E2=9C=85=20test:=20wait=20for=20the=20skip?= =?UTF-8?q?=20link=20before=20keyboard=20navigation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wait until React has rendered the skip link before sending the first Tab key in the documentation accessibility test. Page load can finish before the asynchronous root render, causing keyboard input to arrive while no application link exists. Keep the actual Tab and Enter interactions and the focus and route assertions. The corrected keyboard and persistence cases passed 30 repeated checks; no timing sleeps or retries were added. --- tests/browser/site-docs.spec.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/browser/site-docs.spec.mjs b/tests/browser/site-docs.spec.mjs index 4d55018..5e940f1 100644 --- a/tests/browser/site-docs.spec.mjs +++ b/tests/browser/site-docs.spec.mjs @@ -91,6 +91,9 @@ test("the skip link focuses the current documentation page without changing its page, }) => { await page.goto(`${site}/#/docs/installation`); + await expect( + page.getByRole("link", { name: "Skip to content" }), + ).toBeVisible(); await page.keyboard.press("Tab"); await expect( page.getByRole("link", { name: "Skip to content" }),