From 1db8460393d652eaea5c8fc2b17c0940c3bdc30e Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sat, 5 Sep 2026 20:27:46 -0700 Subject: [PATCH] test: extract hidden Electron compositor setup --- tests/e2e/helpers/hidden-electron-compositor.ts | 11 +++++++++++ tests/e2e/helpers/orca-app.ts | 9 ++------- 2 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 tests/e2e/helpers/hidden-electron-compositor.ts diff --git a/tests/e2e/helpers/hidden-electron-compositor.ts b/tests/e2e/helpers/hidden-electron-compositor.ts new file mode 100644 index 00000000000..b2cb495e68b --- /dev/null +++ b/tests/e2e/helpers/hidden-electron-compositor.ts @@ -0,0 +1,11 @@ +import type { ElectronApplication } from '@stablyai/playwright-test' + +export async function enableHiddenElectronCompositor(app: ElectronApplication): Promise { + await app.evaluate(({ BrowserWindow }) => { + if (process.env.ORCA_E2E_HEADLESS === '1' && process.env.ORCA_E2E_HEADFUL !== '1') { + for (const window of BrowserWindow.getAllWindows()) { + window.webContents.setBackgroundThrottling(false) + } + } + }) +} diff --git a/tests/e2e/helpers/orca-app.ts b/tests/e2e/helpers/orca-app.ts index 74f57f841cb..c93e8b05667 100644 --- a/tests/e2e/helpers/orca-app.ts +++ b/tests/e2e/helpers/orca-app.ts @@ -27,6 +27,7 @@ import path from 'node:path' import { TEST_REPO_PATH_FILE } from '../global-setup' import { cleanupE2EDaemons, closeElectronAppForE2E } from './electron-process-shutdown' import { getOrcaElectronLaunchArgs } from './electron-launch-args' +import { enableHiddenElectronCompositor } from './hidden-electron-compositor' import { retryTransientMainEvaluate } from './electron-main-evaluate-retry' import { getE2ECompletedOnboardingProfile } from './e2e-completed-onboarding-profile' import { @@ -293,13 +294,7 @@ export const test = base.extend({ // especially on cold start with no prior dev userData. Isolated per-test // profiles make late-suite launches slower, so use the full test budget. const page = await electronApp.firstWindow({ timeout: 120_000 }) - await electronApp.evaluate(({ BrowserWindow }) => { - if (process.env.ORCA_E2E_HEADLESS === '1' && process.env.ORCA_E2E_HEADFUL !== '1') { - for (const window of BrowserWindow.getAllWindows()) { - window.webContents.setBackgroundThrottling(false) - } - } - }) + await enableHiddenElectronCompositor(electronApp) await page.waitForLoadState('domcontentloaded') // Wait for the store to be available