diff --git a/src/proxy-capture/proxy-server.ts b/src/proxy-capture/proxy-server.ts index c702f6b77c0..b62b1f88673 100644 --- a/src/proxy-capture/proxy-server.ts +++ b/src/proxy-capture/proxy-server.ts @@ -298,6 +298,22 @@ export async function startDebugProxyServer(params: { clientSocket.pipe(upstreamSocket); upstreamSocket.pipe(clientSocket); }); + clientSocket.on("error", (error) => { + store.recordEvent({ + sessionId: params.settings.sessionId, + ts: Date.now(), + sourceScope: "openclaw", + sourceProcess: params.settings.sourceProcess, + protocol: "connect", + direction: "local", + kind: "error", + flowId, + host: hostname, + path: req.url ?? "", + errorText: error.message, + }); + upstreamSocket.destroy(); + }); upstreamSocket.on("error", (error) => { store.recordEvent({ sessionId: params.settings.sessionId, @@ -312,7 +328,7 @@ export async function startDebugProxyServer(params: { path: req.url ?? "", errorText: error.message, }); - clientSocket.end(); + clientSocket.destroy(); }); });