From 9ad400580cc464b421a667cf8c4fa83f51f92554 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Tue, 28 Jul 2026 03:33:10 -0500 Subject: [PATCH] fix(desktop): pin E2E sandboxes to Chromium zoom 0 Fresh installs now default to ~91%, but Playwright hit-testing and visual baselines still assume 100%. Seed zoom-state.json so isolated E2E profiles don't inherit the product default. --- apps/desktop/e2e/fixtures.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apps/desktop/e2e/fixtures.ts b/apps/desktop/e2e/fixtures.ts index 3427d42c9bf3..75d51f6ea2ef 100644 --- a/apps/desktop/e2e/fixtures.ts +++ b/apps/desktop/e2e/fixtures.ts @@ -120,6 +120,17 @@ export function createSandbox(prefix: string): Sandbox { 'utf8', ) + // Pin Chromium actual-size zoom (level 0) for the suite. Fresh installs + // ship DEFAULT_ZOOM_LEVEL ≈ -0.5 (~91%), but Playwright click hit-testing + // and the committed visual baselines were calibrated at 100%. Without this + // file every sandbox would inherit the product default and fail pointer + // interception + snapshot diffs. + fs.writeFileSync( + path.join(userDataDir, 'zoom-state.json'), + JSON.stringify({ zoomLevel: 0 }, null, 2), + 'utf8', + ) + return { root, hermesHome,