From a4b042f2827e8c7702c0c3ec7cf2429268f450d5 Mon Sep 17 00:00:00 2001 From: Mikunj Date: Tue, 14 May 2019 10:59:14 +1000 Subject: [PATCH] Added convenience function to make empty outgoing messages. --- Pods | 2 +- SignalMessaging/utils/ThreadUtil.m | 13 +------------ .../src/Loki/API/LokiAPI+Message.swift | 4 ++-- .../Extensions/TSOutgoingMessage+Loki.swift | 17 +++++++++++++++++ 4 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 SignalServiceKit/src/Loki/Extensions/TSOutgoingMessage+Loki.swift diff --git a/Pods b/Pods index aa0882607..93c439b84 160000 --- a/Pods +++ b/Pods @@ -1 +1 @@ -Subproject commit aa0882607c603f6ef576c9538e2f6481d09fd0ce +Subproject commit 93c439b844c98a76a0785c5f9529966c8c076f18 diff --git a/SignalMessaging/utils/ThreadUtil.m b/SignalMessaging/utils/ThreadUtil.m index 79e2cb66f..009131108 100644 --- a/SignalMessaging/utils/ThreadUtil.m +++ b/SignalMessaging/utils/ThreadUtil.m @@ -88,18 +88,7 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess // Loki: TODO We may change this? + (TSOutgoingMessage *)enqueueFriendRequestAcceptMessageInThread:(TSThread *)thread { - TSOutgoingMessage *message = - [[TSOutgoingMessage alloc] initOutgoingMessageWithTimestamp:[NSDate ows_millisecondTimeStamp] - inThread:thread - messageBody:@"" - attachmentIds:[NSMutableArray new] - expiresInSeconds:0 - expireStartedAt:0 - isVoiceMessage:NO - groupMetaMessage:TSGroupMetaMessageUnspecified - quotedMessage:nil - contactShare:nil - linkPreview:nil]; + TSOutgoingMessage *message = [TSOutgoingMessage emptyOutgoingMessageInThread:thread]; [self.dbConnection asyncReadWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) { [self.messageSenderJobQueue addMessage:message transaction:transaction]; }]; diff --git a/SignalServiceKit/src/Loki/API/LokiAPI+Message.swift b/SignalServiceKit/src/Loki/API/LokiAPI+Message.swift index 7b661c3e4..4f76f5a3f 100644 --- a/SignalServiceKit/src/Loki/API/LokiAPI+Message.swift +++ b/SignalServiceKit/src/Loki/API/LokiAPI+Message.swift @@ -37,8 +37,8 @@ public extension LokiAPI { let destination = signalMessage["destination"] as! String let ttl = LokiAPI.defaultMessageTTL if isPoWRequired { - // timeIntervalSince1970 returns a time interval in seconds but the storage server takes a time interval in milliseconds - let now = UInt64(Date().timeIntervalSince1970 * 1000) + // Storage server takes a time interval in milliseconds + let now = NSDate.ows_millisecondTimeStamp() if let nonce = ProofOfWork.calculate(data: data, pubKey: destination, timestamp: now, ttl: ttl) { let result = Message(destination: destination, data: data, ttl: ttl, timestamp: now, nonce: nonce) seal.fulfill(result) diff --git a/SignalServiceKit/src/Loki/Extensions/TSOutgoingMessage+Loki.swift b/SignalServiceKit/src/Loki/Extensions/TSOutgoingMessage+Loki.swift new file mode 100644 index 000000000..824eb82bc --- /dev/null +++ b/SignalServiceKit/src/Loki/Extensions/TSOutgoingMessage+Loki.swift @@ -0,0 +1,17 @@ +public extension TSOutgoingMessage { + + /// Loki: This is a message used to establish sessions + @objc public static func emptyOutgoingMessage(inThread thread: TSThread) -> TSOutgoingMessage { + return TSOutgoingMessage(outgoingMessageWithTimestamp: NSDate.ows_millisecondTimeStamp(), + in: thread, + messageBody: "", + attachmentIds: [], + expiresInSeconds: 0, + expireStartedAt: 0, + isVoiceMessage: false, + groupMetaMessage: .unspecified, + quotedMessage: nil, + contactShare: nil, + linkPreview: nil) + } +}