From 71ffaaabc2ba99dfb0226c0007efdfa7ab1d106d Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Wed, 16 Jun 2021 10:19:42 +1000 Subject: [PATCH] Add documentation --- .../sending_receiving/MessageSenderClosedGroupHandler.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt index c5c5e9a50..dfd63b209 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt @@ -161,6 +161,12 @@ fun MessageSender.addMembers(groupPublicKey: String, membersToAdd: List) for (member in membersToAdd) { val closedGroupNewKind = ClosedGroupControlMessage.Kind.New(ByteString.copyFrom(Hex.fromStringCondensed(groupPublicKey)), name, encryptionKeyPair, membersAsData, adminsAsData, expireTimer) val closedGroupControlMessage = ClosedGroupControlMessage(closedGroupNewKind) + // It's important that the sent timestamp of this message is greater than the sent timestamp + // of the `MembersAdded` message above. The reason is that upon receiving this `New` message, + // the recipient will update the closed group formation timestamp and ignore any closed group + // updates from before that timestamp. By setting the timestamp of the message below to a value + // greater than that of the `MembersAdded` message, we ensure that newly added members ignore + // the `MembersAdded` message. closedGroupControlMessage.sentTimestamp = System.currentTimeMillis() send(closedGroupControlMessage, Address.fromSerialized(member)) }