fix: match stable extension keys in status check

This commit is contained in:
Tommy D. Rossi
2026-02-04 17:57:59 +01:00
parent 1a59082e12
commit e41c85af7b
2 changed files with 7 additions and 17 deletions
+3 -15
View File
@@ -179,7 +179,7 @@ async function executeCode(options: {
cli
.command('session new', 'Create a new session and print the session ID')
.option('--host <host>', 'Remote relay server host')
.option('--browser <name>', 'Browser to use when multiple browsers are connected')
.option('--browser <id>', 'Browser ID to use when multiple browsers are connected')
.action(async (options: { host?: string; browser?: string }) => {
if (!options.host && !process.env.PLAYWRITER_HOST) {
await ensureRelayServer({ logger: console, env: cliRelayEnv })
@@ -204,23 +204,11 @@ cli
const shortId = extension.extensionId === 'default' ? 'default' : extension.extensionId.slice(0, 7)
console.log(`${shortId.padEnd(7)} ${(extension.browser || 'Chrome').padEnd(7)} ${label}`)
}
console.log('\nRun again with --browser <email, browser, or id>.')
console.log('\nRun again with --browser <id>.')
process.exit(1)
} else {
const byEmail = extensions.find((extension) => extension.profile?.email === options.browser)
const byId = extensions.find((extension) => extension.extensionId === options.browser)
const byBrowser = extensions.filter((extension) => (extension.browser || 'Chrome') === options.browser)
selectedExtension = byEmail || byId || null
if (!selectedExtension && byBrowser.length === 1) {
selectedExtension = byBrowser[0]
}
selectedExtension = extensions.find((extension) => extension.extensionId === options.browser) || null
if (!selectedExtension) {
if (byBrowser.length > 1) {
console.error(`Browser name is ambiguous: ${options.browser}`)
process.exit(1)
}
console.error(`Browser not found: ${options.browser}`)
process.exit(1)
}
+4 -2
View File
@@ -346,9 +346,11 @@ export class PlaywrightExecutor {
return (await fallback.json()) as { connected: boolean; activeTargets: number }
}
const data = await response.json() as {
extensions: Array<{ extensionId: string; activeTargets: number }>
extensions: Array<{ extensionId: string; stableKey?: string; activeTargets: number }>
}
const extension = data.extensions.find((item) => item.extensionId === extensionId)
const extension = data.extensions.find((item) => {
return item.extensionId === extensionId || item.stableKey === extensionId
})
if (!extension) {
return { connected: false, activeTargets: 0 }
}