From 42e324c95cb20b6dbb8b9fd32270d814f335f11f Mon Sep 17 00:00:00 2001 From: Navdeep Singh Rathore Date: Thu, 4 Sep 2025 02:26:37 +0530 Subject: [PATCH] fix: ensure multiple socket servers aren't created --- src/renderer/actions/helperSocketServer.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/renderer/actions/helperSocketServer.ts b/src/renderer/actions/helperSocketServer.ts index 6029d864..5c04a340 100644 --- a/src/renderer/actions/helperSocketServer.ts +++ b/src/renderer/actions/helperSocketServer.ts @@ -4,6 +4,7 @@ import { installCert } from "./apps/os/ca"; import { ipcRenderer } from "electron"; const activeSockets = new Map(); +let helperSocketServer: webSocket.Server; export const sendMessageToExtension = ( clientId: string, @@ -93,10 +94,23 @@ const sendHeartbeat = () => { }, 20000); }; +export const stopHelperSocketServer = () => { + if (helperSocketServer) { + helperSocketServer.close(() => { + console.log("Helper socket server stopped"); + }); + activeSockets.clear(); + } +} + + export const startHelperSocketServer = (port: number): webSocket.Server => { - const server = new webSocket.Server({ port }); + if(helperSocketServer) { + stopHelperSocketServer(); + } + helperSocketServer = new webSocket.Server({ port }); - server.on("connection", (socket: webSocket, req) => { + helperSocketServer.on("connection", (socket: webSocket, req) => { const clientId = `${req.socket.remoteAddress}:${req.socket.remotePort}`; console.log(`Client connected: ${clientId}`); @@ -121,5 +135,5 @@ export const startHelperSocketServer = (port: number): webSocket.Server => { }); }); - return server; -}; + return helperSocketServer; +}; \ No newline at end of file