diff --git a/browse/src/browser-manager.ts b/browse/src/browser-manager.ts index cdbd5fc50..d27e92977 100644 --- a/browse/src/browser-manager.ts +++ b/browse/src/browser-manager.ts @@ -418,7 +418,10 @@ export class BrowserManager { args: launchArgs, viewport: null, // Use browser's default viewport (real window size) userAgent: this.customUserAgent || customUA, - ...(executablePath ? { executablePath } : {}), + // Playwright 1.49+ defaults headless:true to chrome-headless-shell, which + // cannot load Chrome extensions. Explicitly pin the full Chromium binary + // so future Playwright upgrades don't silently break /open-gstack-browser. + executablePath: executablePath || chromium.executablePath(), ...(this.proxyConfig ? { proxy: this.proxyConfig } : {}), // Playwright adds flags that block extension loading ignoreDefaultArgs: [ diff --git a/bun.lock b/bun.lock index 96fda00aa..069cc3c63 100644 --- a/bun.lock +++ b/bun.lock @@ -9,7 +9,8 @@ "@ngrok/ngrok": "^1.7.0", "diff": "^7.0.0", "marked": "^18.0.2", - "playwright": "^1.58.2", + "playwright": "^1.60.0", + "playwright-core": "^1.60.0", "puppeteer-core": "^24.40.0", "socks": "^2.8.8", }, @@ -426,9 +427,9 @@ "platform": ["platform@1.3.6", "", {}, "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="], - "playwright": ["playwright@1.58.2", "", { "dependencies": { "playwright-core": "1.58.2" }, "optionalDependencies": { "fsevents": "2.3.2" }, "bin": { "playwright": "cli.js" } }, "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A=="], + "playwright": ["playwright@1.60.0", "", { "dependencies": { "playwright-core": "1.60.0" }, "optionalDependencies": { "fsevents": "2.3.2" }, "bin": { "playwright": "cli.js" } }, "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA=="], - "playwright-core": ["playwright-core@1.58.2", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg=="], + "playwright-core": ["playwright-core@1.60.0", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA=="], "progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], diff --git a/package.json b/package.json index 3851a78bd..efb8e741b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,8 @@ "@ngrok/ngrok": "^1.7.0", "diff": "^7.0.0", "marked": "^18.0.2", - "playwright": "^1.58.2", + "playwright": "^1.60.0", + "playwright-core": "^1.60.0", "puppeteer-core": "^24.40.0", "socks": "^2.8.8" },