From e36a1283626eb8396d6b447ca52a8d789805e52c Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Thu, 7 Nov 2019 14:28:55 +1100 Subject: [PATCH] Debug --- SignalServiceKit/src/Messages/OWSMessageManager.m | 5 +---- SignalServiceKit/src/Messages/OWSMessageSender.m | 12 +++++------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 8810aa6de..35305b4a5 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -1598,10 +1598,7 @@ NS_ASSUME_NONNULL_BEGIN // there's only ever one message with status LKMessageFriendRequestStatusPending in a thread (where a thread is the combination // of all threads belonging to the linked devices of a user). NSString *senderID = ((TSIncomingMessage *)message).authorId; - __block NSSet *linkedDeviceThreads; - [OWSPrimaryStorage.sharedManager.dbReadWriteConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { - linkedDeviceThreads = [LKDatabaseUtilities getLinkedDeviceThreadsFor:senderID in:transaction]; - }]; + NSSet *linkedDeviceThreads = [LKDatabaseUtilities getLinkedDeviceThreadsFor:senderID in:transaction]; for (TSContactThread *thread in linkedDeviceThreads) { [thread enumerateInteractionsWithTransaction:transaction usingBlock:^(TSInteraction *interaction, YapDatabaseReadTransaction *transaction) { if (![interaction isKindOfClass:TSIncomingMessage.class]) { return; } diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index db9c3c62f..7fc8dc1e7 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -597,7 +597,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; } resolve(error); }]; - [self sendMessageToRecipient:messageSend]; + [self sendMessageToDestinationAndLinkedDevices:messageSend]; }]; [sendPromises addObject:sendPromise]; } @@ -926,15 +926,13 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; return [[OWSMessageSend alloc] initWithMessage:message thread:thread recipient:recipient senderCertificate:nil udAccess:nil localNumber:userHexEncodedPublicKey success:^{ } failure:^(NSError *error) { }]; } -- (void)sendMessageToRecipient:(OWSMessageSend *)messageSend +- (void)sendMessageToDestinationAndLinkedDevices:(OWSMessageSend *)messageSend { TSOutgoingMessage *message = messageSend.message; NSString *contactID = messageSend.recipient.recipientId; BOOL isGroupMessage = messageSend.thread.isGroupThread; BOOL isDeviceLinkMessage = [message isKindOfClass:LKDeviceLinkMessage.class]; - BOOL isMessageToSelf = (contactID == OWSIdentityManager.sharedManager.identityKeyPair.hexEncodedPublicKey); - BOOL isSyncMessage = [message isKindOfClass:OWSOutgoingSyncMessage.class]; - if (isGroupMessage || isDeviceLinkMessage || isMessageToSelf || isSyncMessage) { + if (isGroupMessage || isDeviceLinkMessage) { [self sendMessage:messageSend]; } else { BOOL isSilentMessage = message.isSilent; @@ -1377,7 +1375,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; dispatch_async([OWSDispatch sendingQueue], ^{ OWSLogDebug(@"Retrying: %@", message.debugDescription); - [self sendMessageToRecipient:messageSend]; + [self sendMessage:messageSend]; }); }; @@ -1608,7 +1606,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; failure(error); }]; - [self sendMessageToRecipient:messageSend]; + [self sendMessage:messageSend]; } - (NSArray *)throws_deviceMessagesForMessageSend:(OWSMessageSend *)messageSend