From bc112a7c90fbcc853605ad915074f9ee41e027bc Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Mon, 17 Jun 2019 10:45:09 +1000 Subject: [PATCH] Propagate request timeout interval through to request serializer --- SignalMessaging/utils/ThreadUtil.m | 7 +++++++ SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift | 1 + SignalServiceKit/src/Network/API/TSNetworkManager.m | 2 ++ 3 files changed, 10 insertions(+) diff --git a/SignalMessaging/utils/ThreadUtil.m b/SignalMessaging/utils/ThreadUtil.m index c32a8a2f2..0dcccaee5 100644 --- a/SignalMessaging/utils/ThreadUtil.m +++ b/SignalMessaging/utils/ThreadUtil.m @@ -716,6 +716,13 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess [self removeAllObjectsInCollection:[TSAttachment collection] class:[TSAttachment class] transaction:transaction]; + @try { + [self removeAllObjectsInCollection:[SignalRecipient collection] + class:[SignalRecipient class] + transaction:transaction]; + } @catch (NSException *exception) { + // Do nothing + } }]; [TSAttachmentStream deleteAttachments]; } diff --git a/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift b/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift index a1584b037..a91bea4b7 100644 --- a/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiAPI+SwarmAPI.swift @@ -117,6 +117,7 @@ internal extension Promise { print("[Loki] Invalidating swarm for: \(hexEncodedPublicKey).") LokiAPI.dropIfNeeded(target, hexEncodedPublicKey: hexEncodedPublicKey) case 432: + // The PoW difficulty is too low if case NetworkManagerError.taskError(_, let underlyingError) = error, let nsError = underlyingError as? NSError, let data = nsError.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] as? Data, let json = try? JSONSerialization.jsonObject(with: data, options: []) as? JSON, let powDifficulty = json["difficulty"] as? Int { diff --git a/SignalServiceKit/src/Network/API/TSNetworkManager.m b/SignalServiceKit/src/Network/API/TSNetworkManager.m index 9cdce8624..d6e1dc6f8 100644 --- a/SignalServiceKit/src/Network/API/TSNetworkManager.m +++ b/SignalServiceKit/src/Network/API/TSNetworkManager.m @@ -108,6 +108,8 @@ dispatch_queue_t NetworkManagerQueue() NSString *headerValue = request.allHTTPHeaderFields[headerField]; [self.sessionManager.requestSerializer setValue:headerValue forHTTPHeaderField:headerField]; } + + self.sessionManager.requestSerializer.timeoutInterval = request.timeoutInterval; if ([request.HTTPMethod isEqualToString:@"GET"]) { [self.sessionManager GET:request.URL.absoluteString