From 2f3fa3adf806409a92ccce9ea48b37db7530721f Mon Sep 17 00:00:00 2001 From: Ryan ZHAO Date: Fri, 28 Aug 2020 16:35:16 +1000 Subject: [PATCH] fix open group time for self sent messages --- SignalServiceKit/src/Devices/OWSRecordTranscriptJob.h | 1 + SignalServiceKit/src/Devices/OWSRecordTranscriptJob.m | 9 +++++++++ SignalServiceKit/src/Messages/OWSMessageManager.m | 2 ++ 3 files changed, 12 insertions(+) diff --git a/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.h b/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.h index 464db81e9..53f383a20 100644 --- a/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.h +++ b/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.h @@ -16,6 +16,7 @@ NS_ASSUME_NONNULL_BEGIN + (void)processIncomingSentMessageTranscript:(OWSIncomingSentMessageTranscript *)incomingSentMessageTranscript serverID:(uint64_t)serverID + serverTimestamp:(uint64_t)serverTimestamp attachmentHandler:(void (^)( NSArray *attachmentStreams))attachmentHandler transaction:(YapDatabaseReadWriteTransaction *)transaction; diff --git a/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.m b/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.m index 35ae6e23c..02c4b4cd5 100644 --- a/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.m +++ b/SignalServiceKit/src/Devices/OWSRecordTranscriptJob.m @@ -62,6 +62,7 @@ NS_ASSUME_NONNULL_BEGIN + (void)processIncomingSentMessageTranscript:(OWSIncomingSentMessageTranscript *)transcript serverID:(uint64_t)serverID + serverTimestamp:(uint64_t)serverTimestamp attachmentHandler:(void (^)( NSArray *attachmentStreams))attachmentHandler transaction:(YapDatabaseReadWriteTransaction *)transaction @@ -104,6 +105,14 @@ NS_ASSUME_NONNULL_BEGIN contactShare:transcript.contact linkPreview:transcript.linkPreview]; + + if (transcript.thread.isGroupThread) { + TSGroupThread *thread = (TSGroupThread *)transcript.thread; + if (thread.isPublicChat) { + [outgoingMessage setServerTimestampAsReceiveTimestamp:serverTimestamp]; + } + } + if (serverID != 0) { outgoingMessage.openGroupServerMessageID = serverID; } diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 1029e9025..c97b2fd09 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -915,6 +915,7 @@ NS_ASSUME_NONNULL_BEGIN [OWSRecordTranscriptJob processIncomingSentMessageTranscript:transcript serverID:0 + serverTimestamp:0 attachmentHandler:^(NSArray *attachmentStreams) { OWSAssertDebug(attachmentStreams.count == 1); TSAttachmentStream *attachmentStream = attachmentStreams.firstObject; @@ -943,6 +944,7 @@ NS_ASSUME_NONNULL_BEGIN [OWSRecordTranscriptJob processIncomingSentMessageTranscript:transcript serverID:(serverID ?: 0) + serverTimestamp:(uint64_t)envelope.serverTimestamp attachmentHandler:^(NSArray *attachmentStreams) { OWSLogDebug(@"successfully fetched transcript attachments: %lu", (unsigned long)attachmentStreams.count);