Skip to content

Commit 0084513

Browse files
committed
fix: Handle existing BrowserStack tunnel gracefully in start method
1 parent b9158cb commit 0084513

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

src/providers/cloud/browserstack.provider.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,16 @@ export class BrowserStackProvider implements SessionProvider {
8686
const key = process.env.BROWSERSTACK_ACCESS_KEY ?? '';
8787
const tunnel = new BrowserstackTunnel();
8888
const start = promisify(tunnel.start.bind(tunnel));
89-
await start({ key });
89+
try {
90+
await start({ key });
91+
} catch (e: unknown) {
92+
const msg = e instanceof Error ? e.message : String(e);
93+
if (msg.includes('another browserstack local client is running') || msg.includes('server is listening on port')) {
94+
console.error('[BrowserStack] Tunnel already running — reusing existing tunnel');
95+
return null;
96+
}
97+
throw e;
98+
}
9099
return tunnel;
91100
}
92101

0 commit comments

Comments
 (0)