From 6b7b15800057aa5ea97429a54beabd8adcf488cd Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Mon, 25 Jan 2021 14:46:47 +1100 Subject: [PATCH] Debug --- Session/Meta/AppDelegate.m | 3 +-- SessionMessagingKit/Database/Storage+Messaging.swift | 5 ++++- .../Messages/Control Messages/ConfigurationMessage.swift | 2 ++ .../Messages/Signal/TSOutgoingMessage+Conversion.swift | 2 +- SessionMessagingKit/Sending & Receiving/MessageSender.swift | 6 ++---- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Session/Meta/AppDelegate.m b/Session/Meta/AppDelegate.m index c843725c9..4e063823e 100644 --- a/Session/Meta/AppDelegate.m +++ b/Session/Meta/AppDelegate.m @@ -429,9 +429,8 @@ static NSTimeInterval launchStartedAt; if (CurrentAppContext().isMainApp) { [SNJobQueue.shared resumePendingJobs]; + [self syncConfigurationIfNeeded]; } - - [self syncConfigurationIfNeeded]; }); } } diff --git a/SessionMessagingKit/Database/Storage+Messaging.swift b/SessionMessagingKit/Database/Storage+Messaging.swift index 6d47c3a98..fcaefd3e1 100644 --- a/SessionMessagingKit/Database/Storage+Messaging.swift +++ b/SessionMessagingKit/Database/Storage+Messaging.swift @@ -31,7 +31,10 @@ extension Storage { let thread = TSThread.fetch(uniqueId: threadID, transaction: transaction) else { return nil } let tsMessage: TSMessage if message.sender == getUserPublicKey() { - tsMessage = TSOutgoingMessage.from(message, associatedWith: thread, using: transaction) + guard let syncTarget = message.syncTarget else { return nil } + let tsOutgoingMessage = TSOutgoingMessage.from(message, associatedWith: thread, using: transaction) + tsOutgoingMessage.update(withSentRecipient: syncTarget, wasSentByUD: true, transaction: transaction) + tsMessage = tsOutgoingMessage } else { tsMessage = TSIncomingMessage.from(message, quotedMessage: quotedMessage, linkPreview: linkPreview, associatedWith: thread) } diff --git a/SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift b/SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift index 18b234cb8..65e9e1575 100644 --- a/SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift +++ b/SessionMessagingKit/Messages/Control Messages/ConfigurationMessage.swift @@ -4,6 +4,8 @@ import SessionUtilitiesKit public final class ConfigurationMessage : ControlMessage { public var closedGroups: Set = [] public var openGroups: Set = [] + + public override var ttl: UInt64 { 4 * 24 * 60 * 60 * 1000 } public override var isSelfSendValid: Bool { true } diff --git a/SessionMessagingKit/Messages/Signal/TSOutgoingMessage+Conversion.swift b/SessionMessagingKit/Messages/Signal/TSOutgoingMessage+Conversion.swift index 1391f7f5c..1017c8162 100644 --- a/SessionMessagingKit/Messages/Signal/TSOutgoingMessage+Conversion.swift +++ b/SessionMessagingKit/Messages/Signal/TSOutgoingMessage+Conversion.swift @@ -22,7 +22,7 @@ import SessionUtilitiesKit outgoingMessageWithTimestamp: visibleMessage.sentTimestamp!, in: thread, messageBody: visibleMessage.text, - attachmentIds: NSMutableArray(), + attachmentIds: NSMutableArray(array: visibleMessage.attachmentIDs), expiresInSeconds: expiration, expireStartedAt: 0, isVoiceMessage: false, diff --git a/SessionMessagingKit/Sending & Receiving/MessageSender.swift b/SessionMessagingKit/Sending & Receiving/MessageSender.swift index 72e40abda..7cb4cefa2 100644 --- a/SessionMessagingKit/Sending & Receiving/MessageSender.swift +++ b/SessionMessagingKit/Sending & Receiving/MessageSender.swift @@ -358,11 +358,9 @@ public final class MessageSender : NSObject { tsMessage.update(withSentRecipient: recipient, wasSentByUD: true, transaction: transaction) } OWSDisappearingMessagesJob.shared().startAnyExpiration(for: tsMessage, expirationStartedAt: NSDate.millisecondTimestamp(), transaction: transaction) - // Sync the message if: - // • it wasn't a self-send - // • it was a visible message + // Sync the message if needed let userPublicKey = getUserHexEncodedPublicKey() - if case .contact(let publicKey) = destination, publicKey != userPublicKey, let message = message as? VisibleMessage { + if case .contact(let publicKey) = destination, let message = message as? VisibleMessage { message.syncTarget = publicKey // FIXME: Make this a job sendToSnodeDestination(.contact(publicKey: userPublicKey), message: message, using: transaction, isSyncMessage: true).retainUntilComplete()