From eb140a6839800a1a84bc050d6683095cfb88a3e2 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 18 Apr 2018 11:45:55 -0400 Subject: [PATCH] Timer info messages *before* the message which changed the timer // FREEBIE --- .../OWSDisappearingConfigurationUpdateInfoMessage.m | 7 +++++++ .../src/Messages/OWSDisappearingMessagesJob.m | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m index 12b7006d2..1391aa271 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m +++ b/SignalServiceKit/src/Messages/Interactions/OWSDisappearingConfigurationUpdateInfoMessage.m @@ -49,6 +49,13 @@ NS_ASSUME_NONNULL_BEGIN return self; } +- (BOOL)shouldUseReceiptDateForSorting +{ + // Use the timestamp, not the "received at" timestamp to sort, + // since we're creating these interactions after the fact and back-dating them. + return NO; +} + - (NSString *)description { if (self.createdByRemoteName) { diff --git a/SignalServiceKit/src/Messages/OWSDisappearingMessagesJob.m b/SignalServiceKit/src/Messages/OWSDisappearingMessagesJob.m index e015900cb..a6034a058 100644 --- a/SignalServiceKit/src/Messages/OWSDisappearingMessagesJob.m +++ b/SignalServiceKit/src/Messages/OWSDisappearingMessagesJob.m @@ -254,16 +254,17 @@ void AssertIsOnDisappearingMessagesQueue() NSString *contactName = [contactsManager displayNameForPhoneIdentifier:incomingMessage.messageAuthorId]; // We want the info message to appear _before_ the message. - [[[OWSDisappearingConfigurationUpdateInfoMessage alloc] initWithTimestamp:message.timestamp - 1 + [[[OWSDisappearingConfigurationUpdateInfoMessage alloc] initWithTimestamp:message.timestampForSorting - 1 thread:message.thread configuration:disappearingMessagesConfiguration - createdByRemoteName:contactName] saveWithTransaction:transaction]; + createdByRemoteName:contactName] + saveWithTransaction:transaction]; } else { // We want the info message to appear _before_ the message. - [[[OWSDisappearingConfigurationUpdateInfoMessage alloc] initWithTimestamp:message.timestamp - 1 + [[[OWSDisappearingConfigurationUpdateInfoMessage alloc] initWithTimestamp:message.timestampForSorting - 1 thread:message.thread configuration:disappearingMessagesConfiguration] - saveWithTransaction:transaction]; + saveWithTransaction:transaction]; } backgroundTask = nil;