From f929f10a7f994fddb259456add0a91df08b7ddc0 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Thu, 7 May 2020 11:57:55 +1000 Subject: [PATCH] Clean --- SignalServiceKit/src/Loki/API/LokiAPI.swift | 9 ++++----- SignalServiceKit/src/Loki/API/LokiDotNetAPI.swift | 5 ++--- SignalServiceKit/src/Loki/API/LokiFileServerAPI.swift | 6 +++--- .../src/Loki/API/Open Groups/LokiPublicChatAPI.swift | 4 ++-- .../Session Management/SessionManagementProtocol.swift | 2 +- 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/SignalServiceKit/src/Loki/API/LokiAPI.swift b/SignalServiceKit/src/Loki/API/LokiAPI.swift index 5a06afbe0..98fd482b0 100644 --- a/SignalServiceKit/src/Loki/API/LokiAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiAPI.swift @@ -14,7 +14,6 @@ public final class LokiAPI : NSObject { internal static let workQueue = DispatchQueue(label: "LokiAPI.workQueue", qos: .userInitiated) internal static var storage: OWSPrimaryStorage { OWSPrimaryStorage.shared() } - internal static var userHexEncodedPublicKey: String { getUserHexEncodedPublicKey() } // MARK: Settings private static let maxRetryCount: UInt = 4 @@ -63,16 +62,16 @@ public final class LokiAPI : NSObject { internal static func getRawMessages(from target: LokiAPITarget, usingLongPolling useLongPolling: Bool) -> RawResponsePromise { let lastHashValue = getLastMessageHashValue(for: target) ?? "" - let parameters = [ "pubKey" : userHexEncodedPublicKey, "lastHash" : lastHashValue ] + let parameters = [ "pubKey" : getUserHexEncodedPublicKey(), "lastHash" : lastHashValue ] let headers: [String:String]? = useLongPolling ? [ "X-Loki-Long-Poll" : "true" ] : nil let timeout: TimeInterval? = useLongPolling ? longPollingTimeout : nil - return invoke(.getMessages, on: target, associatedWith: userHexEncodedPublicKey, parameters: parameters, headers: headers, timeout: timeout) + return invoke(.getMessages, on: target, associatedWith: getUserHexEncodedPublicKey(), parameters: parameters, headers: headers, timeout: timeout) } // MARK: Public API public static func getMessages() -> Promise> { return attempt(maxRetryCount: maxRetryCount, recoveringOn: workQueue) { - getTargetSnodes(for: userHexEncodedPublicKey).mapValues { targetSnode in + getTargetSnodes(for: getUserHexEncodedPublicKey()).mapValues { targetSnode in getRawMessages(from: targetSnode, usingLongPolling: false).map { parseRawMessagesResponse($0, from: targetSnode) } }.map { Set($0) } } @@ -157,7 +156,7 @@ public final class LokiAPI : NSObject { setLastMessageHashValue(for: target, hashValue: hashValue, expirationDate: UInt64(expirationDate)) // FIXME: Move this out of here if UserDefaults.standard[.isUsingFullAPNs] { - LokiPushNotificationManager.acknowledgeDelivery(forMessageWithHash: hashValue, expiration: expirationDate, hexEncodedPublicKey: userHexEncodedPublicKey) + LokiPushNotificationManager.acknowledgeDelivery(forMessageWithHash: hashValue, expiration: expirationDate, hexEncodedPublicKey: getUserHexEncodedPublicKey()) } } else if (!rawMessages.isEmpty) { print("[Loki] Failed to update last message hash value from: \(rawMessages).") diff --git a/SignalServiceKit/src/Loki/API/LokiDotNetAPI.swift b/SignalServiceKit/src/Loki/API/LokiDotNetAPI.swift index 23eef7d42..48bcf9854 100644 --- a/SignalServiceKit/src/Loki/API/LokiDotNetAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiDotNetAPI.swift @@ -6,7 +6,6 @@ public class LokiDotNetAPI : NSObject { internal static var storage: OWSPrimaryStorage { OWSPrimaryStorage.shared() } internal static var userKeyPair: ECKeyPair { OWSIdentityManager.shared().identityKeyPair()! } - internal static var userHexEncodedPublicKey: String { userKeyPair.hexEncodedPublicKey } // MARK: Settings private static let attachmentType = "network.loki" @@ -60,7 +59,7 @@ public class LokiDotNetAPI : NSObject { // MARK: Private API private static func requestNewAuthToken(for server: String) -> Promise { print("[Loki] Requesting auth token for server: \(server).") - let queryParameters = "pubKey=\(userHexEncodedPublicKey)" + let queryParameters = "pubKey=\(getUserHexEncodedPublicKey())" let url = URL(string: "\(server)/loki/v1/get_challenge?\(queryParameters)")! let request = TSRequest(url: url) return LokiFileServerProxy(for: server).perform(request, withCompletionQueue: LokiAPI.workQueue).map(on: LokiAPI.workQueue) { rawResponse in @@ -85,7 +84,7 @@ public class LokiDotNetAPI : NSObject { private static func submitAuthToken(_ token: String, for server: String) -> Promise { print("[Loki] Submitting auth token for server: \(server).") let url = URL(string: "\(server)/loki/v1/submit_challenge")! - let parameters = [ "pubKey" : userHexEncodedPublicKey, "token" : token ] + let parameters = [ "pubKey" : getUserHexEncodedPublicKey(), "token" : token ] let request = TSRequest(url: url, method: "POST", parameters: parameters) return LokiFileServerProxy(for: server).perform(request, withCompletionQueue: DispatchQueue.global()).map(on: DispatchQueue.global()) { _ in token } } diff --git a/SignalServiceKit/src/Loki/API/LokiFileServerAPI.swift b/SignalServiceKit/src/Loki/API/LokiFileServerAPI.swift index 52fbd8e1b..e7b706272 100644 --- a/SignalServiceKit/src/Loki/API/LokiFileServerAPI.swift +++ b/SignalServiceKit/src/Loki/API/LokiFileServerAPI.swift @@ -103,7 +103,7 @@ public final class LokiFileServerAPI : LokiDotNetAPI { public static func setDeviceLinks(_ deviceLinks: Set) -> Promise { print("[Loki] Updating device links.") return getAuthToken(for: server).then { token -> Promise in - let isMaster = deviceLinks.contains { $0.master.hexEncodedPublicKey == userHexEncodedPublicKey } + let isMaster = deviceLinks.contains { $0.master.hexEncodedPublicKey == getUserHexEncodedPublicKey() } let deviceLinksAsJSON = deviceLinks.map { $0.toJSON() } let value = !deviceLinksAsJSON.isEmpty ? [ "isPrimary" : isMaster ? 1 : 0, "authorisations" : deviceLinksAsJSON ] : nil let annotation: JSON = [ "type" : deviceLinkType, "value" : value ] @@ -124,7 +124,7 @@ public final class LokiFileServerAPI : LokiDotNetAPI { public static func addDeviceLink(_ deviceLink: DeviceLink) -> Promise { var deviceLinks: Set = [] storage.dbReadConnection.read { transaction in - deviceLinks = storage.getDeviceLinks(for: userHexEncodedPublicKey, in: transaction) + deviceLinks = storage.getDeviceLinks(for: getUserHexEncodedPublicKey(), in: transaction) } deviceLinks.insert(deviceLink) return setDeviceLinks(deviceLinks).then(on: LokiAPI.workQueue) { _ -> Promise in @@ -144,7 +144,7 @@ public final class LokiFileServerAPI : LokiDotNetAPI { public static func removeDeviceLink(_ deviceLink: DeviceLink) -> Promise { var deviceLinks: Set = [] storage.dbReadConnection.read { transaction in - deviceLinks = storage.getDeviceLinks(for: userHexEncodedPublicKey, in: transaction) + deviceLinks = storage.getDeviceLinks(for: getUserHexEncodedPublicKey(), in: transaction) } deviceLinks.remove(deviceLink) return setDeviceLinks(deviceLinks).then(on: LokiAPI.workQueue) { _ -> Promise in diff --git a/SignalServiceKit/src/Loki/API/Open Groups/LokiPublicChatAPI.swift b/SignalServiceKit/src/Loki/API/Open Groups/LokiPublicChatAPI.swift index 5ef51775d..2aa5f9fe2 100644 --- a/SignalServiceKit/src/Loki/API/Open Groups/LokiPublicChatAPI.swift +++ b/SignalServiceKit/src/Loki/API/Open Groups/LokiPublicChatAPI.swift @@ -19,7 +19,7 @@ public final class LokiPublicChatAPI : LokiDotNetAPI { // MARK: Convenience private static var userDisplayName: String { - return SSKEnvironment.shared.contactsManager.displayName(forPhoneIdentifier: userHexEncodedPublicKey) ?? "Anonymous" + return SSKEnvironment.shared.contactsManager.displayName(forPhoneIdentifier: getUserHexEncodedPublicKey()) ?? "Anonymous" } // MARK: Database @@ -187,7 +187,7 @@ public final class LokiPublicChatAPI : LokiDotNetAPI { throw LokiDotNetAPIError.parsingFailed } let timestamp = UInt64(date.timeIntervalSince1970) * 1000 - return LokiPublicChatMessage(serverID: serverID, hexEncodedPublicKey: userHexEncodedPublicKey, displayName: displayName, profilePicture: signedMessage.profilePicture, body: body, type: publicChatMessageType, timestamp: timestamp, quote: signedMessage.quote, attachments: signedMessage.attachments, signature: signedMessage.signature) + return LokiPublicChatMessage(serverID: serverID, hexEncodedPublicKey: getUserHexEncodedPublicKey(), displayName: displayName, profilePicture: signedMessage.profilePicture, body: body, type: publicChatMessageType, timestamp: timestamp, quote: signedMessage.quote, attachments: signedMessage.attachments, signature: signedMessage.signature) } }.recover { error -> Promise in if let error = error as? NetworkManagerError, error.statusCode == 401 { diff --git a/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift b/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift index e2501df9c..3cd451abe 100644 --- a/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift +++ b/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift @@ -215,7 +215,7 @@ public final class SessionManagementProtocol : NSObject { // If we received a friend request (i.e. also a new pre key bundle), but we were already friends with the other user, reset the session. // The envelope type is set during UD decryption. // TODO: Should this ignore session requests? - if envelope.type == .friendRequest, + if envelope.type == .friendRequest, // TODO: Should this check that the envelope doesn't have the session request flag set? let thread = TSContactThread.getWithContactId(hexEncodedPublicKey, transaction: transaction), // TODO: Should this be getOrCreate? thread.isContactFriend { receiving_startSessionReset(in: thread, using: transaction)