remove updating for admins after a slave device received a group sync message

pull/104/head
Ryan ZHAO 6 years ago
parent a245595bc5
commit 87b7bfa0c0

@ -1112,33 +1112,9 @@ NS_ASSUME_NONNULL_BEGIN
GroupParser *parser = [[GroupParser alloc] initWithData:data]; GroupParser *parser = [[GroupParser alloc] initWithData:data];
NSArray<TSGroupModel *> *groupModels = [parser parseGroupModels]; NSArray<TSGroupModel *> *groupModels = [parser parseGroupModels];
for (TSGroupModel *groupModel in groupModels) { for (TSGroupModel *groupModel in groupModels) {
NSMutableSet *admins = [NSMutableSet setWithArray:groupModel.groupAdminIds]; TSGroupThread *thread = [TSGroupThread getOrCreateThreadWithGroupModel:groupModel transaction:transaction];
if ([admins containsObject:masterHexEncodedPublicKey]) {
[admins addObject:userHexEncodedPublicKey];
}
TSGroupModel *newGroupModel = [[TSGroupModel alloc] initWithTitle:groupModel.groupName
memberIds:groupModel.groupMemberIds
image:groupModel.groupImage
groupId:groupModel.groupId
groupType:groupModel.groupType
adminIds:admins.allObjects];
NSString *updateGroupInfo = [groupModel getInfoStringAboutUpdateTo:newGroupModel contactsManager:self.contactsManager];
TSGroupThread *thread = [TSGroupThread getOrCreateThreadWithGroupModel:newGroupModel transaction:transaction];
[thread saveWithTransaction:transaction]; [thread saveWithTransaction:transaction];
uint32_t expiresInSeconds = [thread disappearingMessagesDurationWithTransaction:transaction]; [self establishSessionsWithMembersIfNeeded:groupModel.groupMemberIds forThread:thread transaction:transaction];
TSOutgoingMessage *message = [TSOutgoingMessage outgoingMessageInThread:thread
groupMetaMessage:TSGroupMetaMessageUpdate
expiresInSeconds:expiresInSeconds];
[message updateWithCustomMessage:updateGroupInfo transaction:transaction];
OWSMessageSender *messageSender = SSKEnvironment.shared.messageSender;
[messageSender sendMessage:message
success:^{
OWSLogDebug(@"Successfully sent group update for group sync");
[self establishSessionsWithMembersIfNeeded:groupModel.groupMemberIds forThread:thread transaction:transaction];
}
failure:^(NSError *error) {
OWSLogError(@"Failed to send group update for group sync with error: %@", error);
}];
} }
} }
} else { } else {

Loading…
Cancel
Save