From 16b138c7592e9149e5cb22a34c73de502a21ab14 Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Tue, 13 Oct 2020 14:49:36 +0530 Subject: [PATCH] added experimental always use takeover --- src/WAConnection/0.Base.ts | 3 ++- src/WAConnection/3.Connect.ts | 2 +- src/WAConnection/Constants.ts | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/WAConnection/0.Base.ts b/src/WAConnection/0.Base.ts index 90c4885..0468544 100644 --- a/src/WAConnection/0.Base.ts +++ b/src/WAConnection/0.Base.ts @@ -48,7 +48,8 @@ export class WAConnection extends EventEmitter { waitForChats: true, maxRetries: 5, connectCooldownMs: 3000, - phoneResponseTime: 7500 + phoneResponseTime: 7500, + alwaysUseTakeover: false } /** When to auto-reconnect */ autoReconnect = ReconnectMode.onConnectionLost diff --git a/src/WAConnection/3.Connect.ts b/src/WAConnection/3.Connect.ts index 166480a..950b249 100644 --- a/src/WAConnection/3.Connect.ts +++ b/src/WAConnection/3.Connect.ts @@ -79,7 +79,7 @@ export class WAConnection extends Base { // determine whether reconnect should be used or not const shouldUseReconnect = (this.lastDisconnectReason === DisconnectReason.close || this.lastDisconnectReason === DisconnectReason.lost) && - this.user?.jid + !this.connectOptions.alwaysUseTakeover const reconnectID = shouldUseReconnect && this.user.jid.replace ('@s.whatsapp.net', '@c.us') this.conn = new WS(WS_URL, null, { diff --git a/src/WAConnection/Constants.ts b/src/WAConnection/Constants.ts index 368e8bf..68b2a90 100644 --- a/src/WAConnection/Constants.ts +++ b/src/WAConnection/Constants.ts @@ -88,6 +88,8 @@ export type WAConnectOptions = { agent?: Agent /** agent used for fetch requests -- uploading/downloading media */ fetchAgent?: Agent + /** Always uses takeover for connections */ + alwaysUseTakeover?: boolean } /** from: https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url */ export const URL_REGEX = /[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)?/gi