diff --git a/Podfile.lock b/Podfile.lock index 1b830b351..32da18b1b 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -263,7 +263,7 @@ CHECKOUT OPTIONS: :commit: ff0b95770520133b83a4bd7b26bc2c90b51abc4d :git: https://github.com/signalapp/SignalCoreKit.git SignalMetadataKit: - :commit: beb10a358db0202228b8d67bcb466d877fefb405 + :commit: 90f3dee7122ff13061770c496001135ba90b71e3 :git: https://github.com/signalapp/SignalMetadataKit SocketRocket: :commit: 9f9563a83cd8960503074aa8de72206f83fb7a69 diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index 1a32df2b9..d4da8ac7d 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -996,12 +996,13 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; OWSLogWarn(@"Sending a message with no device messages."); } + const BOOL isUDSend = messageSend.isUDSend; TSRequest *request = [OWSRequestFactory submitMessageRequestWithRecipient:recipient.uniqueId messages:deviceMessages timeStamp:message.timestamp unidentifiedAccess:messageSend.unidentifiedAccess]; - OWSWebSocketType webSocketType = (messageSend.isUDSend ? OWSWebSocketTypeUD : OWSWebSocketTypeDefault); + OWSWebSocketType webSocketType = (isUDSend ? OWSWebSocketTypeUD : OWSWebSocketTypeDefault); BOOL canMakeWebsocketRequests = ([TSSocketManager.shared canMakeRequestsOfType:webSocketType] && !messageSend.hasWebsocketSendFailed); if (canMakeWebsocketRequests) { @@ -1018,7 +1019,8 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; // If a UD send fails due to service response (as opposed to network // failure), mark recipient as _not_ in UD mode, then retry. OWSLogDebug(@"UD send failed; failing over to non-UD send."); - [self.udManager setSupportsUnidentifiedDelivery:NO recipientId:recipient.uniqueId]; + [self.udManager setUnidentifiedAccessMode:UnidentifiedAccessModeDisabled + recipientId:recipient.uniqueId]; messageSend.hasUDAuthFailed = YES; dispatch_async([OWSDispatch sendingQueue], ^{ [self sendMessageToRecipient:messageSend]; @@ -1043,7 +1045,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; NSInteger statusCode = response.statusCode; NSData *_Nullable responseData = error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey]; - if (messageSend.isUDSend && (statusCode == 401 || statusCode == 403)) { + if (isUDSend && (statusCode == 401 || statusCode == 403)) { // If a UD send fails due to service response (as opposed to network // failure), mark recipient as _not_ in UD mode, then retry. OWSLogDebug(@"UD send failed; failing over to non-UD send.");