From c6a4ba900ee3c82beb6cacaa5a9ba6635703e9ca Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Mon, 14 Sep 2026 22:59:30 +0100 Subject: [PATCH] Add duplicate scan session handling in SocketClient - Implemented a check in the `startScanSession` method to prevent starting a new scan session if one is already in progress for the same session ID. - Added logging to inform when a duplicate scan session is ignored, enhancing visibility into scan session management. - Updated callback behavior to indicate when a scan session is already running, improving user feedback during scan operations. --- src/socket/socketclient.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/socket/socketclient.js b/src/socket/socketclient.js index d0ae95a..4f8c603 100644 --- a/src/socket/socketclient.js +++ b/src/socket/socketclient.js @@ -765,6 +765,18 @@ export class SocketClient { const startToken = {}; this.scanSessionTokens.set(sessionId, startToken); + const existing = this.scanSessions.get(sessionId); + if (existing?.scanning) { + logger.info( + "Scan session already running, ignoring duplicate start:", + sessionId, + ); + if (typeof callback === "function") { + callback({ success: true, sessionId, alreadyRunning: true }); + } + return; + } + await this.stopScanSession(sessionId); if (this.scanSessionTokens.get(sessionId) !== startToken) {