From c2e0ec5636678f9f05f890c21ef475207a0e6af9 Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Mon, 17 Sep 2018 12:18:18 -0700 Subject: [PATCH] Group Blocking: Allow group metadata messages from own devices --- libtextsecure/message_receiver.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index f60c79adf..e0ea57c0b 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -728,7 +728,11 @@ MessageReceiver.prototype.extend({ return p.then(() => this.processDecrypted(envelope, msg, this.number).then(message => { const groupId = message.group && message.group.id; - if (groupId && this.isGroupBlocked(groupId)) { + const isBlocked = this.isGroupBlocked(groupId); + const isMe = envelope.source === textsecure.storage.user.getNumber(); + const hasGroupMetadata = Boolean(message.group); + + if (groupId && isBlocked && !(isMe && hasGroupMetadata)) { window.log.warn( `Message ${this.getEnvelopeId( envelope @@ -762,7 +766,11 @@ MessageReceiver.prototype.extend({ return p.then(() => this.processDecrypted(envelope, msg, envelope.source).then(message => { const groupId = message.group && message.group.id; - if (groupId && this.isGroupBlocked(groupId)) { + const isBlocked = this.isGroupBlocked(groupId); + const isMe = envelope.source === textsecure.storage.user.getNumber(); + const hasGroupMetadata = Boolean(message.group); + + if (groupId && isBlocked && !(isMe && hasGroupMetadata)) { window.log.warn( `Message ${this.getEnvelopeId( envelope