mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 16:54:59 +00:00
Revert "fix(browser): track original port mapping for EADDRINUSE fallback"
This reverts commit 8e55503d77.
This commit is contained in:
@@ -147,8 +147,6 @@ function rejectUpgrade(socket: Duplex, status: number, bodyText: string) {
|
|||||||
|
|
||||||
const serversByPort = new Map<number, ChromeExtensionRelayServer>();
|
const serversByPort = new Map<number, ChromeExtensionRelayServer>();
|
||||||
const relayAuthByPort = new Map<number, string>();
|
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 {
|
function relayAuthTokenForUrl(url: string): string | null {
|
||||||
try {
|
try {
|
||||||
@@ -187,7 +185,7 @@ export async function ensureChromeExtensionRelayServer(opts: {
|
|||||||
throw new Error(`extension relay requires loopback cdpUrl host (got ${info.host})`);
|
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) {
|
if (existing) {
|
||||||
return existing;
|
return existing;
|
||||||
}
|
}
|
||||||
@@ -754,8 +752,6 @@ export async function ensureChromeExtensionRelayServer(opts: {
|
|||||||
stop: async () => {
|
stop: async () => {
|
||||||
serversByPort.delete(port);
|
serversByPort.delete(port);
|
||||||
relayAuthByPort.delete(port);
|
relayAuthByPort.delete(port);
|
||||||
// Also clean up original port mapping if this was a fallback
|
|
||||||
relayByOriginalPort.delete(info.port);
|
|
||||||
try {
|
try {
|
||||||
extensionWs?.close(1001, "server stopping");
|
extensionWs?.close(1001, "server stopping");
|
||||||
} catch {
|
} catch {
|
||||||
@@ -778,21 +774,16 @@ export async function ensureChromeExtensionRelayServer(opts: {
|
|||||||
|
|
||||||
relayAuthByPort.set(port, relayAuthToken);
|
relayAuthByPort.set(port, relayAuthToken);
|
||||||
serversByPort.set(port, relay);
|
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;
|
return relay;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function stopChromeExtensionRelayServer(opts: { cdpUrl: string }): Promise<boolean> {
|
export async function stopChromeExtensionRelayServer(opts: { cdpUrl: string }): Promise<boolean> {
|
||||||
const info = parseBaseUrl(opts.cdpUrl);
|
const info = parseBaseUrl(opts.cdpUrl);
|
||||||
const existing = serversByPort.get(info.port) ?? relayByOriginalPort.get(info.port);
|
const existing = serversByPort.get(info.port);
|
||||||
if (!existing) {
|
if (!existing) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
await existing.stop();
|
await existing.stop();
|
||||||
// Note: stop() cleans up both serversByPort and relayByOriginalPort
|
relayAuthByPort.delete(info.port);
|
||||||
relayAuthByPort.delete(existing.port);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user