diff --git a/SessionSnodeKit/OnionRequestAPI.swift b/SessionSnodeKit/OnionRequestAPI.swift index 7713d8b8b..b4d2afa61 100644 --- a/SessionSnodeKit/OnionRequestAPI.swift +++ b/SessionSnodeKit/OnionRequestAPI.swift @@ -349,11 +349,11 @@ public enum OnionRequestAPI { public static func sendOnionRequest(with payload: JSON, to destination: Destination, isJSONRequired: Bool = true) -> Promise { let (promise, seal) = Promise.pending() - var guardSnode: Snode! + var guardSnode: Snode? Threading.workQueue.async { // Avoid race conditions on `guardSnodes` and `paths` buildOnion(around: payload, targetedAt: destination).done2 { intermediate in guardSnode = intermediate.guardSnode - let url = "\(guardSnode.address):\(guardSnode.port)/onion_req/v2" + let url = "\(guardSnode!.address):\(guardSnode!.port)/onion_req/v2" let finalEncryptionResult = intermediate.finalEncryptionResult let onion = finalEncryptionResult.ciphertext if case Destination.server = destination, Double(onion.count) > 0.75 * Double(maxFileSize) { diff --git a/SignalUtilitiesKit/To Do/OWSProfileManager.m b/SignalUtilitiesKit/To Do/OWSProfileManager.m index 79934c779..b536d429c 100644 --- a/SignalUtilitiesKit/To Do/OWSProfileManager.m +++ b/SignalUtilitiesKit/To Do/OWSProfileManager.m @@ -970,12 +970,16 @@ typedef void (^ProfileManagerFailureBlock)(NSError *error); result = [self profileNameForRecipientWithID:recipientID transaction:transaction]; }]; - NSString *shortID = [recipientID substringWithRange:NSMakeRange(recipientID.length - 8, 8)]; - NSString *suffix = [NSString stringWithFormat:@" (...%@)", shortID]; - if ([result hasSuffix:suffix]) { - return [result substringToIndex:result.length - suffix.length]; + if (recipientID.length > 8) { + NSString *shortID = [recipientID substringWithRange:NSMakeRange(recipientID.length - 8, 8)]; + NSString *suffix = [NSString stringWithFormat:@" (...%@)", shortID]; + if ([result hasSuffix:suffix]) { + return [result substringToIndex:result.length - suffix.length]; + } else { + return result; + } } else { - return result; + return result; // Should never occur } } else { return recipientID;