diff --git a/js/background.js b/js/background.js index 5629d52b5..4315d857c 100644 --- a/js/background.js +++ b/js/background.js @@ -927,7 +927,7 @@ messageReceiver.addEventListener('configuration', onConfiguration); messageReceiver.addEventListener('typing', onTyping); - Whisper.events.on('endSession', (source) => { + Whisper.events.on('endSession', source => { messageReceiver.handleEndSession(source); }); diff --git a/js/models/messages.js b/js/models/messages.js index 44caa6878..9898eeffa 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -1979,16 +1979,17 @@ - We sent the user a friend request and that user sent us a friend request. - We are friends with the user, and that user just sent us a friend request. */ - if ( - 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; + const isFriend = conversation.isFriend(); + const hasSentFriendRequest = conversation.hasSentFriendRequest(); + autoAccept = isFriend || hasSentFriendRequest; + + if (autoAccept) { message.set({ friendStatus: 'accepted' }); + } + + if (isFriend) { + window.Whisper.events.trigger('endSession', source); + } else if (hasSentFriendRequest) { await conversation.onFriendRequestAccepted(); } else { await conversation.onFriendRequestReceived(); diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index 939810bbf..0b78b0c46 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -1663,7 +1663,9 @@ textsecure.MessageReceiver = function MessageReceiverWrapper( messageReceiver ); this.getStatus = messageReceiver.getStatus.bind(messageReceiver); - this.handleEndSession = messageReceiver.handleEndSession.bind(messageReceiver); + this.handleEndSession = messageReceiver.handleEndSession.bind( + messageReceiver + ); this.close = messageReceiver.close.bind(messageReceiver); this.savePreKeyBundleMessage = messageReceiver.savePreKeyBundleMessage.bind( messageReceiver