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) {