diff --git a/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPI.swift b/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPI.swift index 3be817246..408524a83 100644 --- a/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPI.swift +++ b/SignalServiceKit/src/Loki/API/Onion Requests/OnionRequestAPI.swift @@ -172,8 +172,8 @@ internal enum OnionRequestAPI { let snodePool = LokiAPI.randomSnodePool return getGuardSnodes().then(on: workQueue) { guardSnodes -> Promise> in var unusedSnodes = snodePool.subtracting(guardSnodes) // Sync on workQueue - let minSnodeCount = guardSnodeCount * pathSize - guardSnodeCount - guard unusedSnodes.count >= minSnodeCount else { throw Error.insufficientSnodes } + let pathSnodeCount = guardSnodeCount * pathSize - guardSnodeCount + guard unusedSnodes.count >= pathSnodeCount else { throw Error.insufficientSnodes } func getPathSnode() -> Promise { // randomElement() uses the system's default random generator, which is cryptographically secure guard let candidate = unusedSnodes.randomElement() else { return Promise { $0.reject(Error.insufficientSnodes) } } @@ -182,14 +182,14 @@ internal enum OnionRequestAPI { // Loop until a reliable guard snode is found return testSnode(candidate).map(on: workQueue) { candidate }.recover(on: workQueue) { _ in getPathSnode() } } - let promises = (0..