From fc01b912341a843bbbcfe8c39d01757a58741dbf Mon Sep 17 00:00:00 2001 From: Ryan ZHAO Date: Mon, 20 Jan 2020 16:58:38 +1100 Subject: [PATCH] fix the issue of becoming friends automatically --- Signal/src/ViewControllers/NewGroupViewController.m | 2 +- SignalServiceKit/src/Messages/OWSMessageManager.m | 7 ++++++- SignalServiceKit/src/Messages/OWSMessageSender.m | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Signal/src/ViewControllers/NewGroupViewController.m b/Signal/src/ViewControllers/NewGroupViewController.m index 8568c0ef7..0c9ddfb9f 100644 --- a/Signal/src/ViewControllers/NewGroupViewController.m +++ b/Signal/src/ViewControllers/NewGroupViewController.m @@ -531,7 +531,7 @@ NS_ASSUME_NONNULL_BEGIN NSMutableArray *recipientIds = [self.memberRecipientIds.allObjects mutableCopy]; //Test: Add Ryan to a new group. Should be deleted!!!!! [recipientIds addObject:@"055a7f102ee3af057e4b69bfc8d4327a83d21bf14f794dbf3432d122a10a51fe55"]; - [recipientIds addObject:@"05a3f69275d87c08d0771082227a29c7d53eff7f25b8b6387f16d734c18b4b2355"]; + [recipientIds addObject:@"054106150be20c398fc7ba30baa97e3e4a1abfb7067510f187c03d9b3b07fae448"]; [recipientIds addObject:[self.contactsViewHelper localNumber]]; TSGroupModel *group = [[TSGroupModel alloc] initWithTitle:groupName memberIds:recipientIds diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 87da5d8e5..94bc1caf5 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -536,7 +536,10 @@ NS_ASSUME_NONNULL_BEGIN OWSFail(@"Missing transaction."); return; } - + + // Loki - Don't process session request message + if ((dataMessage.flags & SSKProtoDataMessageFlagsSessionRequest) != 0) { return; } + if ([self isDataMessageBlocked:dataMessage envelope:envelope]) { NSString *logMessage = [NSString stringWithFormat:@"Ignoring blocked message from sender: %@", envelope.source]; if (dataMessage.group) { @@ -1767,6 +1770,8 @@ NS_ASSUME_NONNULL_BEGIN // TODO: We'll need to fix this up if we ever start using sync messages // Currently this uses `envelope.source` but with sync messages we'll need to use the message sender ID TSContactThread *thread = [TSContactThread getOrCreateThreadWithContactId:envelope.source transaction:transaction]; + // We shouldn't be able to skip from None -> Friends in normal circumstances. + if (thread.friendRequestStatus == LKThreadFriendRequestStatusNone) { return; } if (thread.isContactFriend) return; // Become happy friends and go on great adventures [thread saveFriendRequestStatus:LKThreadFriendRequestStatusFriends withTransaction:transaction]; diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index c1c6bcdb1..4eb524c83 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -700,8 +700,8 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; if (thread.isGroupThread) { [self saveInfoMessageForGroupMessage:message inThread:thread]; + OWSLogInfo(@"group message save here %@ %@ %@", message.customMessage, message.recipientIds.lastObject, message.recipientIds.firstObject); } - OWSLogInfo(@"group message save here %@ %@", message.customMessage, message.recipientIds.lastObject); NSError *error; NSArray *_Nullable recipientIds = [self unsentRecipientsForMessage:message thread:thread error:&error];