From 3f4cd15f5b8dd5a88bd30b226e599dfbd1e8dee2 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 5 Jul 2018 09:56:48 -0400 Subject: [PATCH 1/2] Use sending queue in websocket send failover to REST. --- .../src/Messages/OWSMessageSender.m | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index 5a4ab31a5..4b8c46580 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -989,21 +989,23 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; success:successHandler]; } failure:^(NSInteger statusCode, NSData *_Nullable responseData, NSError *error) { - // Websockets can fail in different ways, so we don't decrement remainingAttempts for websocket failure. - // Instead we fall back to REST, which will decrement retries. - // e.g. after linking a new device, sync messages will fail until the websocket re-opens. - [self sendMessageToService:message - recipient:recipient - thread:thread - attempts:remainingAttemptsParam - useWebsocketIfAvailable:NO - success:successHandler - failure:failureHandler]; + dispatch_async([OWSDispatch sendingQueue], ^{ + DDLogDebug( + @"%@ in %s falling back to REST since first attempt failed.", self.logTag, __PRETTY_FUNCTION__); + + // Websockets can fail in different ways, so we don't decrement remainingAttempts for websocket + // failure. Instead we fall back to REST, which will decrement retries. e.g. after linking a new + // device, sync messages will fail until the websocket re-opens. + [self sendMessageToService:message + recipient:recipient + thread:thread + attempts:remainingAttemptsParam + useWebsocketIfAvailable:NO + success:successHandler + failure:failureHandler]; + }); }]; } else { - if (!useWebsocketIfAvailable && TSSocketManager.canMakeRequests) { - DDLogDebug(@"%@ in %s falling back to REST since first attempt failed.", self.logTag, __PRETTY_FUNCTION__); - } [self.networkManager makeRequest:request success:^(NSURLSessionDataTask *task, id responseObject) { [self messageSendDidSucceed:message From 958d249ee5f67d90ac946e96ee43a98b7e5cde67 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Thu, 5 Jul 2018 09:52:12 -0600 Subject: [PATCH 2/2] "Bump build to 2.27.1.2." --- Signal/Signal-Info.plist | 2 +- SignalShareExtension/Info.plist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 259467264..a7f77e754 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -38,7 +38,7 @@ CFBundleVersion - 2.27.1.1 + 2.27.1.2 ITSAppUsesNonExemptEncryption LOGS_EMAIL diff --git a/SignalShareExtension/Info.plist b/SignalShareExtension/Info.plist index b69e93484..997f8c2e4 100644 --- a/SignalShareExtension/Info.plist +++ b/SignalShareExtension/Info.plist @@ -19,7 +19,7 @@ CFBundleShortVersionString 2.27.1 CFBundleVersion - 2.27.1.1 + 2.27.1.2 ITSAppUsesNonExemptEncryption NSAppTransportSecurity