diff --git a/.DS_Store b/.DS_Store index 354f7eb..87ef922 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/package.json b/package.json index b7fa54f..786fe87 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wa-multi-session", - "version": "2.0.0", + "version": "2.1.0", "description": "Multi Session Whatsapp Library", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/Socket/index.ts b/src/Socket/index.ts index 71595ac..a2a38a4 100644 --- a/src/Socket/index.ts +++ b/src/Socket/index.ts @@ -64,19 +64,24 @@ export const startSession = async ( if (connection === "close") { const code = (lastDisconnect?.error as Boom)?.output?.statusCode; let retryAttempt = retryCount.get(sessionId) ?? 0; - const shouldRetry = - code != DisconnectReason.loggedOut && - (code == DisconnectReason.restartRequired || retryAttempt < 10); - code != DisconnectReason.restartRequired && retryAttempt++; + let shouldRetry; + if (code != DisconnectReason.loggedOut && retryAttempt < 10) { + shouldRetry = true; + } + if (shouldRetry) { + retryAttempt++; + } if (shouldRetry) { retryCount.set(sessionId, retryAttempt); startSocket(); } else { + retryCount.delete(sessionId); deleteSession(sessionId); callback.get(CALLBACK_KEY.ON_DISCONNECTED)?.(sessionId); } } if (connection == "open") { + retryCount.delete(sessionId); callback.get(CALLBACK_KEY.ON_CONNECTED)?.(sessionId); } }