From 278f962488e7715c1a13d260d61eb2fdd9ca64e5 Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Fri, 6 Aug 2021 17:30:18 +1000 Subject: [PATCH] clean & rollback to fix the issue that the date will not show after a message has been deleted --- Session/Conversations/ConversationViewItem.m | 3 ++- Session/Conversations/ConversationViewModel.m | 17 +++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Session/Conversations/ConversationViewItem.m b/Session/Conversations/ConversationViewItem.m index 7fe2c6e61..8fcd4ae95 100644 --- a/Session/Conversations/ConversationViewItem.m +++ b/Session/Conversations/ConversationViewItem.m @@ -974,7 +974,9 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType) - (void)deleteLocallyAction { + TSMessage *message = (TSMessage *)self.interaction; [LKStorage writeWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { + [MessageInvalidator invalidate:message with:transaction]; [self.interaction removeWithTransaction:transaction]; if (self.interaction.interactionType == OWSInteractionType_OutgoingMessage) { [LKStorage.shared cancelPendingMessageSendJobIfNeededForMessage:self.interaction.timestamp using:transaction]; @@ -984,7 +986,6 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType) - (void)deleteRemotelyAction { - // TODO: closed group and one-on-one chat TSMessage *message = (TSMessage *)self.interaction; if (self.isGroupThread) { diff --git a/Session/Conversations/ConversationViewModel.m b/Session/Conversations/ConversationViewModel.m index 588711011..3c89aafe4 100644 --- a/Session/Conversations/ConversationViewModel.m +++ b/Session/Conversations/ConversationViewModel.m @@ -823,13 +823,18 @@ NS_ASSUME_NONNULL_BEGIN return [self.delegate conversationViewModelDidUpdate:ConversationUpdate.reloadUpdate]; } - if ([viewItem.interaction isKindOfClass:TSMessage.class]) { - TSMessage *message = (TSMessage *)viewItem.interaction; - if ([MessageInvalidator isInvalidated:message]) { - [updatedItemSet addObject:itemId]; - [updatedNeighborItemSet addObject:itemId]; - } + if (!viewItem.hasCachedLayoutState) { + [updatedItemSet addObject:itemId]; + [updatedNeighborItemSet addObject:itemId]; } + +// if ([viewItem.interaction isKindOfClass:TSMessage.class]) { +// TSMessage *message = (TSMessage *)viewItem.interaction; +// if ([MessageInvalidator isInvalidated:message]) { +// [updatedItemSet addObject:itemId]; +// [updatedNeighborItemSet addObject:itemId]; +// } +// } } // 3. Updates.