medium group: send existing expiretimer to joining members if set

pull/1381/head
Audric Ackermann 5 years ago
parent 545eef4edb
commit 8710b7a9e8
No known key found for this signature in database
GPG Key ID: 999F434D76324AD4

@ -392,6 +392,7 @@ export async function initiateGroupUpdate(
members, members,
is_medium_group: isMediumGroup, is_medium_group: isMediumGroup,
admins: convo.get('groupAdmins'), admins: convo.get('groupAdmins'),
expireTimer: convo.get('expireTimer'),
}; };
if (isMediumGroup) { if (isMediumGroup) {
@ -593,7 +594,7 @@ async function sendGroupUpdateForMedium(
groupUpdate: GroupInfo, groupUpdate: GroupInfo,
messageId?: string messageId?: string
) { ) {
const { id: groupId, members, name: groupName } = groupUpdate; const { id: groupId, members, name: groupName, expireTimer } = groupUpdate;
const ourPrimary = await UserUtil.getPrimary(); const ourPrimary = await UserUtil.getPrimary();
const leavingMembers = diff.leavingMembers || []; const leavingMembers = diff.leavingMembers || [];
@ -700,6 +701,22 @@ async function sendGroupUpdateForMedium(
memberPubKey, memberPubKey,
mediumGroupCreateMessage mediumGroupCreateMessage
); );
// if an expire timer is set, we have to send it to the joining members
if (expireTimer && expireTimer > 0) {
const expireUpdate = {
timestamp: Date.now(),
expireTimer,
groupId: groupId,
};
const expirationTimerMessage = new ExpirationTimerUpdateMessage(
expireUpdate
);
await getMessageQueue().sendUsingMultiDevice(
memberPubKey,
expirationTimerMessage
);
}
}); });
} }
} }

@ -37,7 +37,6 @@ export class GroupInvitationMessage extends DataMessage {
serverName: this.serverName, serverName: this.serverName,
}); });
return new SignalService.DataMessage({ return new SignalService.DataMessage({
groupInvitation, groupInvitation,
expireTimer: this.expireTimer, expireTimer: this.expireTimer,

Loading…
Cancel
Save