@ -290,12 +290,8 @@ async function sendNewName(convo: ConversationModel, name: string, messageId: st
groupId ,
groupId ,
identifier : messageId ,
identifier : messageId ,
name ,
name ,
expirationType : DisappearingMessages.changeToDisappearingMessageType (
expirationType : null , // we keep that one **not** expiring
convo ,
expireTimer : 0 ,
convo . getExpireTimer ( ) ,
convo . getExpirationMode ( )
) ,
expireTimer : convo.getExpireTimer ( ) ,
} ) ;
} ) ;
await getMessageQueue ( ) . sendToGroup ( {
await getMessageQueue ( ) . sendToGroup ( {
message : nameChangeMessage ,
message : nameChangeMessage ,
@ -304,7 +300,7 @@ async function sendNewName(convo: ConversationModel, name: string, messageId: st
}
}
async function sendAddedMembers (
async function sendAddedMembers (
convo: ConversationModel ,
_ convo: ConversationModel ,
addedMembers : Array < string > ,
addedMembers : Array < string > ,
messageId : string ,
messageId : string ,
groupUpdate : GroupInfo
groupUpdate : GroupInfo
@ -324,20 +320,14 @@ async function sendAddedMembers(
}
}
const encryptionKeyPair = ECKeyPair . fromHexKeyPair ( hexEncryptionKeyPair ) ;
const encryptionKeyPair = ECKeyPair . fromHexKeyPair ( hexEncryptionKeyPair ) ;
const expirationMode = convo . getExpirationMode ( ) || 'off' ;
const existingExpireTimer = convo . getExpireTimer ( ) || 0 ;
// Send the Added Members message to the group (only members already in the group will get it)
// Send the Added Members message to the group (only members already in the group will get it)
const closedGroupControlMessage = new ClosedGroupAddedMembersMessage ( {
const closedGroupControlMessage = new ClosedGroupAddedMembersMessage ( {
timestamp : Date.now ( ) ,
timestamp : Date.now ( ) ,
groupId ,
groupId ,
addedMembers ,
addedMembers ,
identifier : messageId ,
identifier : messageId ,
expirationType : DisappearingMessages.changeToDisappearingMessageType (
expirationType : null , // we keep that one **not** expiring
convo ,
expireTimer : 0 ,
convo . getExpireTimer ( ) ,
convo . getExpirationMode ( )
) ,
expireTimer : convo.getExpireTimer ( ) ,
} ) ;
} ) ;
await getMessageQueue ( ) . sendToGroup ( {
await getMessageQueue ( ) . sendToGroup ( {
message : closedGroupControlMessage ,
message : closedGroupControlMessage ,
@ -353,12 +343,8 @@ async function sendAddedMembers(
members ,
members ,
keypair : encryptionKeyPair ,
keypair : encryptionKeyPair ,
identifier : messageId || uuidv4 ( ) ,
identifier : messageId || uuidv4 ( ) ,
expirationType : DisappearingMessages.changeToDisappearingMessageType (
expirationType : null , // we keep that one **not** expiring
convo ,
expireTimer : 0 ,
existingExpireTimer ,
expirationMode
) ,
expireTimer : existingExpireTimer ,
} ) ;
} ) ;
const promises = addedMembers . map ( async m = > {
const promises = addedMembers . map ( async m = > {
@ -401,12 +387,8 @@ export async function sendRemovedMembers(
groupId ,
groupId ,
removedMembers ,
removedMembers ,
identifier : messageId ,
identifier : messageId ,
expirationType : DisappearingMessages.changeToDisappearingMessageType (
expirationType : null , // we keep that one **not** expiring
convo ,
expireTimer : 0 ,
convo . getExpireTimer ( ) ,
convo . getExpirationMode ( )
) ,
expireTimer : convo.getExpireTimer ( ) ,
} ) ;
} ) ;
// Send the group update, and only once sent, generate and distribute a new encryption key pair if needed
// Send the group update, and only once sent, generate and distribute a new encryption key pair if needed
await getMessageQueue ( ) . sendToGroup ( {
await getMessageQueue ( ) . sendToGroup ( {
@ -467,8 +449,8 @@ async function generateAndSendNewEncryptionKeyPair(
groupId : toHex ( groupId ) ,
groupId : toHex ( groupId ) ,
timestamp : GetNetworkTime.getNowWithNetworkOffset ( ) ,
timestamp : GetNetworkTime.getNowWithNetworkOffset ( ) ,
encryptedKeyPairs : wrappers ,
encryptedKeyPairs : wrappers ,
expirationType : null , // we keep that one **not** expiring (not rendered in the clients, and we need it to be as available as possible on the swarm)
expirationType : null , // we keep that one **not** expiring
expireTimer : null ,
expireTimer : 0 ,
} ) ;
} ) ;
distributingClosedGroupEncryptionKeyPairs . set ( toHex ( groupId ) , newKeyPair ) ;
distributingClosedGroupEncryptionKeyPairs . set ( toHex ( groupId ) , newKeyPair ) ;