fix(browse): honor GSTACK_CHROMIUM_PATH in headless launch()

The headed launchPersistentContext() path already honors
GSTACK_CHROMIUM_PATH, but the headless chromium.launch() path did not.
On NixOS the bundled Playwright chrome-headless-shell is FHS-linked and
can't load its shared libs, so headless rendering (make-pdf, screenshots,
PDF export) fails with no way to override the binary. Mirror the headed
path: pass executablePath when GSTACK_CHROMIUM_PATH is set.
This commit is contained in:
Slava 2026-06-11 07:23:30 +00:00
parent 1626d4857b
commit 82bedb0212
1 changed files with 4 additions and 0 deletions

View File

@ -377,6 +377,10 @@ export class BrowserManager {
// on Linux root/CI/container, where the sandbox requires unprivileged user
// namespaces that aren't available.
chromiumSandbox: shouldEnableChromiumSandbox(),
// Honor GSTACK_CHROMIUM_PATH here too. The bundled Playwright
// chrome-headless-shell can't load shared libs on NixOS; pointing at a
// system Chromium fixes headless rendering (e.g. make-pdf).
...(process.env.GSTACK_CHROMIUM_PATH ? { executablePath: process.env.GSTACK_CHROMIUM_PATH } : {}),
...(launchArgs.length > 0 ? { args: launchArgs } : {}),
...(this.proxyConfig ? { proxy: this.proxyConfig } : {}),
});