diff --git a/js/background.js b/js/background.js index 7215afa66e..4692e4bf68 100644 --- a/js/background.js +++ b/js/background.js @@ -920,9 +920,9 @@ updates.left = true; } - if (details.blocked === true) { + if (details.blocked) { storage.addBlockedGroup(id); - } else if (details.blocked === false) { + } else { storage.removeBlockedGroup(id); } diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index e0ea57c0b2..b1ac693514 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -730,9 +730,12 @@ MessageReceiver.prototype.extend({ const groupId = message.group && message.group.id; const isBlocked = this.isGroupBlocked(groupId); const isMe = envelope.source === textsecure.storage.user.getNumber(); - const hasGroupMetadata = Boolean(message.group); + const isLeavingGroup = Boolean( + message.group && + message.group.type === textsecure.protobuf.GroupContext.Type.QUIT + ); - if (groupId && isBlocked && !(isMe && hasGroupMetadata)) { + if (groupId && isBlocked && !(isMe && isLeavingGroup)) { window.log.warn( `Message ${this.getEnvelopeId( envelope @@ -768,9 +771,12 @@ MessageReceiver.prototype.extend({ const groupId = message.group && message.group.id; const isBlocked = this.isGroupBlocked(groupId); const isMe = envelope.source === textsecure.storage.user.getNumber(); - const hasGroupMetadata = Boolean(message.group); + const isLeavingGroup = Boolean( + message.group && + message.group.type === textsecure.protobuf.GroupContext.Type.QUIT + ); - if (groupId && isBlocked && !(isMe && hasGroupMetadata)) { + if (groupId && isBlocked && !(isMe && isLeavingGroup)) { window.log.warn( `Message ${this.getEnvelopeId( envelope