diff --git a/js/background.js b/js/background.js index 0c691883d..5629d52b5 100644 --- a/js/background.js +++ b/js/background.js @@ -927,6 +927,10 @@ messageReceiver.addEventListener('configuration', onConfiguration); messageReceiver.addEventListener('typing', onTyping); + Whisper.events.on('endSession', (source) => { + messageReceiver.handleEndSession(source); + }); + window.Signal.AttachmentDownloads.start({ getMessageReceiver: () => messageReceiver, logger: window.log, diff --git a/js/models/messages.js b/js/models/messages.js index 37c900525..44caa6878 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -1983,11 +1983,13 @@ conversation.hasSentFriendRequest() || conversation.isFriend() ) { + if (conversation.isFriend()) { + window.Whisper.events.trigger('endSession', source); + } // Automatically accept incoming friend requests if we have send one already autoAccept = true; message.set({ friendStatus: 'accepted' }); await conversation.onFriendRequestAccepted(); - window.libloki.api.sendBackgroundMessage(message.get('source')); } else { await conversation.onFriendRequestReceived(); } diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index ea2539c8c..939810bbf 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -1480,11 +1480,6 @@ MessageReceiver.prototype.extend({ window.log.error('Error getting conversation: ', number); } - // Bail early if a session reset is already ongoing - if (conversation.isSessionResetOngoing()) { - return; - } - await Promise.all( deviceIds.map(async deviceId => { const address = new libsignal.SignalProtocolAddress(number, deviceId); @@ -1668,6 +1663,7 @@ textsecure.MessageReceiver = function MessageReceiverWrapper( messageReceiver ); this.getStatus = messageReceiver.getStatus.bind(messageReceiver); + this.handleEndSession = messageReceiver.handleEndSession.bind(messageReceiver); this.close = messageReceiver.close.bind(messageReceiver); this.savePreKeyBundleMessage = messageReceiver.savePreKeyBundleMessage.bind( messageReceiver