diff --git a/ts/background.ts b/ts/background.ts index bc9cc3acf3ef..c4434275ef77 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -1809,22 +1809,21 @@ type WhatIsThis = typeof window.WhatIsThis; } connectCount += 1; - const options = { - retryCached: connectCount === 1, - serverTrustRoot: window.getServerTrustRoot(), - }; window.Whisper.deliveryReceiptQueue.pause(); // avoid flood of delivery receipts until we catch up window.Whisper.Notifications.disable(); // avoid notification flood until empty // initialize the socket and start listening for messages window.log.info('Initializing socket and listening for messages'); + const messageReceiverOptions = { + serverTrustRoot: window.getServerTrustRoot(), + }; messageReceiver = new window.textsecure.MessageReceiver( OLD_USERNAME, USERNAME, PASSWORD, mySignalingKey, - options as WhatIsThis + messageReceiverOptions as WhatIsThis ); window.textsecure.messageReceiver = messageReceiver; @@ -2151,6 +2150,12 @@ type WhatIsThis = typeof window.WhatIsThis; window.Whisper.events.on('manualConnect', manualConnect); function manualConnect() { + if (isSocketOnline()) { + window.log.info('manualConnect: already online; not connecting again'); + return; + } + + window.log.info('manualConnect: calling connect()'); connect(); } diff --git a/ts/textsecure/MessageReceiver.ts b/ts/textsecure/MessageReceiver.ts index 8de7ba3d974a..5ccbc0632dc8 100644 --- a/ts/textsecure/MessageReceiver.ts +++ b/ts/textsecure/MessageReceiver.ts @@ -146,7 +146,6 @@ class MessageReceiverInner extends EventTarget { signalingKey: ArrayBuffer, options: { serverTrustRoot: string; - retryCached?: string; } ) { super(); @@ -196,9 +195,8 @@ class MessageReceiverInner extends EventTarget { processBatch: this.cacheRemoveBatch.bind(this), }); - if (options.retryCached) { - this.pendingQueue.add(async () => this.queueAllCached()); - } + // We always process our cache before any websocket message + this.pendingQueue.add(async () => this.queueAllCached()); } static stringToArrayBuffer = (string: string): ArrayBuffer =>