From 61d40c7cd837e050f33fa8d3d46e2bab68a99360 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Thu, 18 Dec 2025 21:21:18 +0000 Subject: [PATCH] reuse socket listener --- server/src/services/infrastructure/NetworkService.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/src/services/infrastructure/NetworkService.ts b/server/src/services/infrastructure/NetworkService.ts index e474c4d41..1847786ea 100644 --- a/server/src/services/infrastructure/NetworkService.ts +++ b/server/src/services/infrastructure/NetworkService.ts @@ -158,8 +158,17 @@ class NetworkService implements INetworkService { // Non-TLS or unsupported socket; ignore } }; + + // Attempt immediate capture; for reused TLS sockets this is sufficient. capture(); - if (typeof socket.once === "function") { + + // Only add a one-time listener if TLS handshake hasn't completed. + const isTLS = + typeof (socket as any).getPeerCertificate === "function"; + const isEncrypted = isTLS && (socket as any).encrypted === true; + const connectPending = + isTLS && !isEncrypted && (socket as any).connecting === true; + if (connectPending && typeof socket.once === "function") { socket.once("secureConnect", capture); } });