From 70eb31eb92aa8f575af11cedf796f4c096448de5 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Mon, 26 Oct 2020 09:22:48 +1100 Subject: [PATCH] Add missing retry --- SignalServiceKit/src/Loki/API/SnodeAPI.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/SignalServiceKit/src/Loki/API/SnodeAPI.swift b/SignalServiceKit/src/Loki/API/SnodeAPI.swift index 3ce17b2fd..1df447aeb 100644 --- a/SignalServiceKit/src/Loki/API/SnodeAPI.swift +++ b/SignalServiceKit/src/Loki/API/SnodeAPI.swift @@ -125,8 +125,10 @@ public final class SnodeAPI : NSObject { } else { print("[Loki] Getting swarm for: \(publicKey == getUserHexEncodedPublicKey() ? "self" : publicKey).") let parameters: [String:Any] = [ "pubKey" : publicKey ] - return getRandomSnode().then2 { - invoke(.getSwarm, on: $0, associatedWith: publicKey, parameters: parameters) + return getRandomSnode().then2 { snode in + attempt(maxRetryCount: 4, recoveringOn: SnodeAPI.workQueue) { + invoke(.getSwarm, on: snode, associatedWith: publicKey, parameters: parameters) + } }.map2 { rawSnodes in let swarm = parseSnodes(from: rawSnodes) swarmCache[publicKey] = swarm