From d44e414b54267341045966833f36878a672af15d Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 18 Oct 2018 13:50:48 -0400 Subject: [PATCH] Clean up message sender. --- SignalServiceKit/src/Messages/OWSMessageSender.m | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index efd0e6072..bf0eec84e 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -1365,22 +1365,10 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; for (NSNumber *deviceId in deviceIds) { @try { + // This may involve blocking network requests, so we do it _before_ + // we open a transaction. [self ensureRecipientHasSessionForMessageSend:messageSend deviceId:deviceId]; - } @catch (NSException *exception) { - if ([exception.name isEqualToString:OWSMessageSenderInvalidDeviceException]) { - [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { - [recipient updateRegisteredRecipientWithDevicesToAdd:nil - devicesToRemove:@[ deviceId ] - transaction:transaction]; - }]; - continue; - } else { - @throw exception; - } - } - @ - try { __block NSDictionary *messageDict; __block NSException *encryptionException; [self.dbConnection