Revert "fix(browser): track original port mapping for EADDRINUSE fallback"

This reverts commit 8e55503d77.
This commit is contained in:
Shakker
2026-02-17 13:49:40 +00:00
parent b0d4c9b721
commit 66f5a4c698

View File

@@ -147,8 +147,6 @@ function rejectUpgrade(socket: Duplex, status: number, bodyText: string) {
const serversByPort = new Map<number, ChromeExtensionRelayServer>();
const relayAuthByPort = new Map<number, string>();
// Track original requested port -> relay when fallback occurs (EADDRINUSE)
const relayByOriginalPort = new Map<number, ChromeExtensionRelayServer>();
function relayAuthTokenForUrl(url: string): string | null {
try {
@@ -187,7 +185,7 @@ export async function ensureChromeExtensionRelayServer(opts: {
throw new Error(`extension relay requires loopback cdpUrl host (got ${info.host})`);
}
const existing = serversByPort.get(info.port) ?? relayByOriginalPort.get(info.port);
const existing = serversByPort.get(info.port);
if (existing) {
return existing;
}
@@ -754,8 +752,6 @@ export async function ensureChromeExtensionRelayServer(opts: {
stop: async () => {
serversByPort.delete(port);
relayAuthByPort.delete(port);
// Also clean up original port mapping if this was a fallback
relayByOriginalPort.delete(info.port);
try {
extensionWs?.close(1001, "server stopping");
} catch {
@@ -778,21 +774,16 @@ export async function ensureChromeExtensionRelayServer(opts: {
relayAuthByPort.set(port, relayAuthToken);
serversByPort.set(port, relay);
// If we fell back to a different port, also map the original requested port
if (port !== info.port) {
relayByOriginalPort.set(info.port, relay);
}
return relay;
}
export async function stopChromeExtensionRelayServer(opts: { cdpUrl: string }): Promise<boolean> {
const info = parseBaseUrl(opts.cdpUrl);
const existing = serversByPort.get(info.port) ?? relayByOriginalPort.get(info.port);
const existing = serversByPort.get(info.port);
if (!existing) {
return false;
}
await existing.stop();
// Note: stop() cleans up both serversByPort and relayByOriginalPort
relayAuthByPort.delete(existing.port);
relayAuthByPort.delete(info.port);
return true;
}