Prevent bogus message emission on group deletion
Only send a message if the local number is part of the group * Fix error on empty group #1449 * Fix an unlogged issue about notification sent to group members even is the local user already quit the group
This commit is contained in:
parent
087f753979
commit
f1b4bd772c
|
@ -332,32 +332,38 @@
|
|||
- (void)tableViewCellTappedDelete:(NSIndexPath *)indexPath {
|
||||
TSThread *thread = [self threadForIndexPath:indexPath];
|
||||
if ([thread isKindOfClass:[TSGroupThread class]]) {
|
||||
UIAlertController *removingFromGroup = [UIAlertController
|
||||
alertControllerWithTitle:[NSString
|
||||
stringWithFormat:NSLocalizedString(@"GROUP_REMOVING", nil), [thread name]]
|
||||
message:nil
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
[self presentViewController:removingFromGroup animated:YES completion:nil];
|
||||
|
||||
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
|
||||
inThread:thread
|
||||
messageBody:@""
|
||||
attachmentIds:[NSMutableArray new]];
|
||||
message.groupMetaMessage = TSGroupMessageQuit;
|
||||
[self.messageSender sendMessage:message
|
||||
success:^{
|
||||
[self dismissViewControllerAnimated:YES
|
||||
completion:^{
|
||||
[self deleteThread:thread];
|
||||
}];
|
||||
}
|
||||
failure:^(NSError *error) {
|
||||
[self dismissViewControllerAnimated:YES
|
||||
completion:^{
|
||||
SignalAlertView(NSLocalizedString(@"GROUP_REMOVING_FAILED", nil),
|
||||
error.localizedRecoverySuggestion);
|
||||
}];
|
||||
}];
|
||||
TSGroupThread *gThread = (TSGroupThread *)thread;
|
||||
if ([gThread.groupModel.groupMemberIds containsObject:[TSAccountManager localNumber]]) {
|
||||
UIAlertController *removingFromGroup = [UIAlertController
|
||||
alertControllerWithTitle:[NSString
|
||||
stringWithFormat:NSLocalizedString(@"GROUP_REMOVING", nil), [thread name]]
|
||||
message:nil
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
[self presentViewController:removingFromGroup animated:YES completion:nil];
|
||||
|
||||
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp]
|
||||
inThread:thread
|
||||
messageBody:@""
|
||||
attachmentIds:[NSMutableArray new]];
|
||||
message.groupMetaMessage = TSGroupMessageQuit;
|
||||
[self.messageSender sendMessage:message
|
||||
success:^{
|
||||
[self dismissViewControllerAnimated:YES
|
||||
completion:^{
|
||||
[self deleteThread:thread];
|
||||
}];
|
||||
}
|
||||
failure:^(NSError *error) {
|
||||
[self dismissViewControllerAnimated:YES
|
||||
completion:^{
|
||||
SignalAlertView(NSLocalizedString(@"GROUP_REMOVING_FAILED", nil),
|
||||
error.localizedRecoverySuggestion);
|
||||
}];
|
||||
}];
|
||||
} else {
|
||||
[self deleteThread:thread];
|
||||
}
|
||||
} else {
|
||||
[self deleteThread:thread];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue