Don't send messages to blocked group members

This commit is contained in:
Evan Hahn 2020-12-01 11:04:14 -06:00 committed by GitHub
parent c7290309d3
commit 688938b5a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 16 deletions

View file

@ -1655,12 +1655,8 @@ export default class MessageSender {
const myE164 = window.textsecure.storage.user.getNumber();
const myUuid = window.textsecure.storage.user.getUuid();
// prettier-ignore
const recipients = groupV2
? groupV2.members
: groupV1
? groupV1.members
: [];
const groupMembers = groupV2?.members || groupV1?.members || [];
// We should always have a UUID but have this check just in case we don't.
let isNotMe: (recipient: string) => boolean;
@ -1670,8 +1666,17 @@ export default class MessageSender {
isNotMe = r => r !== myE164;
}
const blockedIdentifiers = new Set([
...window.storage.getBlockedUuids(),
...window.storage.getBlockedNumbers(),
]);
const recipients = groupMembers.filter(
recipient => isNotMe(recipient) && !blockedIdentifiers.has(recipient)
);
const attrs = {
recipients: recipients.filter(isNotMe),
recipients,
body: messageText,
timestamp,
attachments,