diff --git a/SignalServiceKit/src/Loki/LokiAPI.swift b/SignalServiceKit/src/Loki/LokiAPI.swift index 5d261bc90..ed6453202 100644 --- a/SignalServiceKit/src/Loki/LokiAPI.swift +++ b/SignalServiceKit/src/Loki/LokiAPI.swift @@ -66,7 +66,7 @@ import PromiseKit } // MARK: Obj-C API - @objc public static func sendSignalMessage(_ signalMessage: SignalMessage, to destination: String, requiringPoW isPoWRequired: Bool, completionHandler: ((RawResponse?, NSError?) -> Void)? = nil) { - LokiMessage.fromSignalMessage(signalMessage, requiringPoW: isPoWRequired).then(sendMessage).done { completionHandler?($0, nil) }.catch { completionHandler?(nil, $0 as NSError) } + @objc public static func sendSignalMessage(_ signalMessage: SignalMessage, to destination: String, requiringPoW isPoWRequired: Bool, completionHandler: @escaping (RawResponse?, NSError?) -> Void) { + LokiMessage.fromSignalMessage(signalMessage, requiringPoW: isPoWRequired).then(sendMessage).done { completionHandler($0, nil) }.catch { completionHandler(nil, $0 as NSError) } } } diff --git a/SignalServiceKit/src/Loki/LokiMessage.swift b/SignalServiceKit/src/Loki/LokiMessage.swift index 8b70936e4..b7a506023 100644 --- a/SignalServiceKit/src/Loki/LokiMessage.swift +++ b/SignalServiceKit/src/Loki/LokiMessage.swift @@ -25,8 +25,8 @@ public struct LokiMessage { public static func fromSignalMessage(_ signalMessage: SignalMessage, requiringPoW isPoWRequired: Bool) -> Promise { return Promise { seal in DispatchQueue.global(qos: .default).async { - let destination = signalMessage["destination"]! - let data = signalMessage["content"]! + let destination = signalMessage["destination"] as! String + let data = signalMessage["content"] as! String let ttl = LokiAPI.defaultMessageTTL if isPoWRequired { let timestamp = UInt64(Date().timeIntervalSince1970) diff --git a/SignalServiceKit/src/Loki/SignalMessage.swift b/SignalServiceKit/src/Loki/SignalMessage.swift index f6c9fb6a3..11d7eec95 100644 --- a/SignalServiceKit/src/Loki/SignalMessage.swift +++ b/SignalServiceKit/src/Loki/SignalMessage.swift @@ -1,2 +1,2 @@ -public typealias SignalMessage = [String:String] +public typealias SignalMessage = [String:Any] diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index bae330cde..1137328f0 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -1111,7 +1111,9 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException"; // Convert the message to a Loki message and send it using the Loki messaging API NSDictionary *signalMessage = deviceMessages.firstObject; BOOL isPoWRequired = YES; // TODO: Base on message type - [LokiAPI sendSignalMessage:signalMessage to:recipient.recipientId requiringPoW:isPoWRequired completionHandler:nil]; + [LokiAPI sendSignalMessage:signalMessage to:recipient.recipientId requiringPoW:isPoWRequired completionHandler:^(id response, NSError *error) { + // TODO: Use the response + }]; // Loki: Original code /*