From 1f0664b9e3b7784c8854d8f439b222b8d268f9c7 Mon Sep 17 00:00:00 2001 From: Anton Voylenko Date: Thu, 30 Jan 2025 12:08:57 +0200 Subject: [PATCH] feat: expiration for qr code --- src/sessions.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/sessions.js b/src/sessions.js index b8f4206..2b45dfc 100644 --- a/src/sessions.js +++ b/src/sessions.js @@ -189,6 +189,7 @@ const initializeEvents = (client, sessionId) => { checkIfEventisEnabled('authenticated') .then(_ => { + client.qr = null client.on('authenticated', () => { triggerWebhook(sessionWebhook, sessionId, 'authenticated') triggerWebSocket(sessionId, 'authenticated') @@ -360,8 +361,18 @@ const initializeEvents = (client, sessionId) => { }) client.on('qr', (qr) => { + // by default QR code is being updated every 20 seconds + if (client.qrClearTimeout) { + clearTimeout(client.qrClearTimeout) + } // inject qr code into session client.qr = qr + client.qrClearTimeout = setTimeout(() => { + if (client.qr) { + logger.warn({ sessionId }, 'Removing expired QR code') + client.qr = null + } + }, 30000) checkIfEventisEnabled('qr') .then(_ => { triggerWebhook(sessionWebhook, sessionId, 'qr', { qr })