Revert "delete real message and sync message together"

This reverts commit cc17a952e0.
This commit is contained in:
ryanzhao 2021-08-04 14:48:32 +10:00
parent cc17a952e0
commit 8d53a775d2
4 changed files with 4 additions and 16 deletions

View File

@ -979,6 +979,7 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType)
- (void)deleteRemotelyAction
{
// TODO: closed group and one-on-one chat
TSMessage *message = (TSMessage *)self.interaction;
if (self.isGroupThread) {
@ -1009,22 +1010,14 @@ NSString *NSStringForOWSMessageCellType(OWSMessageCellType cellType)
}) retainUntilComplete];
} else {
NSString *groupPublicKey = [LKGroupUtilities getDecodedGroupID:groupThread.groupModel.groupId];
NSArray *serverHashes = @[message.serverHash];
if ([message isKindOfClass:[TSOutgoingMessage class]] && ((TSOutgoingMessage *)message).syncMessageServerHash != nil) {
serverHashes = @[message.serverHash, ((TSOutgoingMessage *)message).syncMessageServerHash];
}
[[SNSnodeAPI deleteMessageForPublickKey:groupPublicKey serverHashes:serverHashes].catch(^(NSError *error) {
[[SNSnodeAPI deleteMessageForPublickKey:groupPublicKey serverHashes:@[message.serverHash]].catch(^(NSError *error) {
// Roll back
[self.interaction save];
}) retainUntilComplete];
}
} else {
TSContactThread *contactThread = (TSContactThread *)self.interaction.thread;
NSArray *serverHashes = @[message.serverHash];
if ([message isKindOfClass:[TSOutgoingMessage class]] && ((TSOutgoingMessage *)message).syncMessageServerHash != nil) {
serverHashes = @[message.serverHash, ((TSOutgoingMessage *)message).syncMessageServerHash];
}
[[SNSnodeAPI deleteMessageForPublickKey:contactThread.contactSessionID serverHashes:serverHashes].catch(^(NSError *error) {
[[SNSnodeAPI deleteMessageForPublickKey:contactThread.contactSessionID serverHashes:@[message.serverHash]].catch(^(NSError *error) {
// Roll back
[self.interaction save];
}) retainUntilComplete];

View File

@ -133,8 +133,6 @@ typedef NS_ENUM(NSInteger, TSGroupMetaMessage) {
@property (nonatomic, readonly) BOOL isVoiceMessage;
@property (nonatomic, nullable) NSString *syncMessageServerHash;
+ (nullable instancetype)findMessageWithTimestamp:(uint64_t)timestamp;
- (BOOL)shouldBeSaved;

View File

@ -206,8 +206,6 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
if (!self) {
return self;
}
_syncMessageServerHash = nil;
_hasSyncedTranscript = NO;

View File

@ -332,8 +332,7 @@ public final class MessageSender : NSObject {
Storage.shared.addReceivedMessageTimestamp(message.sentTimestamp!, using: transaction)
// Get the visible message if possible
if let tsMessage = TSOutgoingMessage.find(withTimestamp: message.sentTimestamp!) {
if (!isSyncMessage) { tsMessage.serverHash = message.serverHash }
else { tsMessage.syncMessageServerHash = message.serverHash }
tsMessage.serverHash = message.serverHash
// Track the open group server message ID
tsMessage.openGroupServerMessageID = message.openGroupServerMessageID ?? 0
tsMessage.save(with: transaction)