hotfix: stop auto-enabling stale Chrome DevTools reuse

This commit is contained in:
Tam Nhu Tran committed 2026-04-13 12:06:06 -04:00
1 parent 026ff6cedd
commit 5c799e68e9
3 files changed
+67 -12

No files matched your search

@@ -3,12 +3,15 @@ import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import {
resolveConfiguredBrowserProfileDir,
resolveBrowserRuntimeEnv,
resolveDefaultChromeUserDataDir,
} from '../../../../src/utils/browser/chrome-reuse';
describe('chrome reuse resolver', () => {
const originalHome = process.env.HOME;
const originalLocalAppData = process.env.LOCALAPPDATA;
const originalUserProfile = process.env.USERPROFILE;
let tempDirs: string[] = [];
let servers: Array<{ stop: () => void }> = [];
@@ -96,6 +99,18 @@ describe('chrome reuse resolver', () => {
} else {
process.env.LOCALAPPDATA = originalLocalAppData;
}
if (originalHome === undefined) {
delete process.env.HOME;
} else {
process.env.HOME = originalHome;
}
if (originalUserProfile === undefined) {
delete process.env.USERPROFILE;
} else {
process.env.USERPROFILE = originalUserProfile;
}
});
it('uses explicit profile-dir before the default path and resolves the websocket target', async () => {
@@ -122,6 +137,23 @@ describe('chrome reuse resolver', () => {
expect(fs.existsSync(path.join(defaultProfileDir, 'DevToolsActivePort'))).toBe(false);
});
it('only enables browser reuse for an explicitly configured profile directory', () => {
const isolatedHome = createTempDir('ccs-chrome-config-home-');
const defaultProfileDir = path.join(
isolatedHome,
'Library',
'Application Support',
'Google',
'Chrome'
);
writeDevToolsActivePort(defaultProfileDir, '9222\n/devtools/browser/stale-default');
process.env.HOME = isolatedHome;
process.env.USERPROFILE = isolatedHome;
expect(resolveConfiguredBrowserProfileDir()).toBeUndefined();
expect(resolveConfiguredBrowserProfileDir(defaultProfileDir)).toBe(defaultProfileDir);
});
it('uses an explicit devtools port override when metadata is missing', async () => {
const profileDir = createTempDir('ccs-chrome-explicit-port-');
const server = await startDevToolsServer({