Skip to content

Commit

Permalink
Adds announcement group change decryption
Browse files Browse the repository at this point in the history
  • Loading branch information
josh-signal committed Jul 21, 2021
1 parent 830c8dd commit 8bcf3ad
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion ts/groups.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3897,7 +3897,7 @@ function extractDiffs({

// announcementsOnly

if (old.announcementsOnly !== current.announcementsOnly) {
if (Boolean(old.announcementsOnly) !== Boolean(current.announcementsOnly)) {
details.push({
type: 'announcements-only',
announcementsOnly: Boolean(current.announcementsOnly),
Expand Down Expand Up @@ -4525,6 +4525,11 @@ async function applyGroupChange({
}
}

if (actions.modifyAnnouncementsOnly) {
const { announcementsOnly } = actions.modifyAnnouncementsOnly;
result.announcementsOnly = announcementsOnly;
}

if (ourConversationId) {
result.left = !members[ourConversationId];
}
Expand Down Expand Up @@ -4810,6 +4815,9 @@ async function applyGroupState({
result.description = undefined;
}

// announcementsOnly
result.announcementsOnly = groupState.announcementsOnly;

return {
newAttributes: result,
newProfileKeys,
Expand Down Expand Up @@ -4916,6 +4924,9 @@ type DecryptedGroupChangeActions = {
modifyDescription?: {
descriptionBytes?: Proto.GroupAttributeBlob;
};
modifyAnnouncementsOnly?: {
announcementsOnly: boolean;
};
} & Pick<
Proto.GroupChange.IActions,
| 'modifyAttributesAccess'
Expand Down Expand Up @@ -5433,6 +5444,14 @@ function decryptGroupChange(
}
}

// modifyAnnouncementsOnly
if (actions.modifyAnnouncementsOnly) {
const { announcementsOnly } = actions.modifyAnnouncementsOnly;
result.modifyAnnouncementsOnly = {
announcementsOnly: Boolean(announcementsOnly),
};
}

return result;
}

Expand Down Expand Up @@ -5490,6 +5509,7 @@ type DecryptedGroupState = {
inviteLinkPassword?: string;
descriptionBytes?: Proto.GroupAttributeBlob;
avatar?: string;
announcementsOnly?: boolean;
};

function decryptGroupState(
Expand Down Expand Up @@ -5621,6 +5641,10 @@ function decryptGroupState(
}
}

// announcementsOnly
const { announcementsOnly } = groupState;
result.announcementsOnly = Boolean(announcementsOnly);

result.avatar = dropNull(groupState.avatar);

return result;
Expand Down

0 comments on commit 8bcf3ad

Please sign in to comment.