From 6aaa2ff5b35827ba8ba9933c8dfa62eef23ee547 Mon Sep 17 00:00:00 2001 From: James Magahern Date: Fri, 4 Jan 2019 13:08:28 -0800 Subject: [PATCH] Plumb guid down for deduplication on the conversation level --- .../Operations/MBIMMessagesListOperation.m | 6 +++--- kordophone/Categories/IMMessageItem+Encoded.h | 5 ----- kordophone/Categories/IMMessageItem+Encoded.m | 18 +++--------------- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/kordophone/Bridge/Operations/MBIMMessagesListOperation.m b/kordophone/Bridge/Operations/MBIMMessagesListOperation.m index f58355c..2c5b04f 100644 --- a/kordophone/Bridge/Operations/MBIMMessagesListOperation.m +++ b/kordophone/Bridge/Operations/MBIMMessagesListOperation.m @@ -43,10 +43,10 @@ // Load messages [chat loadMessagesBeforeDate:[NSDate date] limit:50 loadImmediately:YES]; - for (IMMessageItem *imMessage in [[chat chatItems] messages]) { - NSDictionary *messageDict = [imMessage mbim_dictionaryRepresentation]; + [[chat chatItems] enumerateMessagesWithOptions:0 usingBlock:^(IMMessage *message, BOOL *stop) { + NSDictionary *messageDict = [message mbim_dictionaryRepresentation]; [messages addObject:messageDict]; - } + }]; } }); diff --git a/kordophone/Categories/IMMessageItem+Encoded.h b/kordophone/Categories/IMMessageItem+Encoded.h index 222d704..da78de1 100644 --- a/kordophone/Categories/IMMessageItem+Encoded.h +++ b/kordophone/Categories/IMMessageItem+Encoded.h @@ -16,9 +16,4 @@ NS_ASSUME_NONNULL_BEGIN @end -@interface IMMessageItem (Encoded) -- (NSDictionary *)mbim_dictionaryRepresentation; - -@end - NS_ASSUME_NONNULL_END diff --git a/kordophone/Categories/IMMessageItem+Encoded.m b/kordophone/Categories/IMMessageItem+Encoded.m index 479f3db..25b4084 100644 --- a/kordophone/Categories/IMMessageItem+Encoded.m +++ b/kordophone/Categories/IMMessageItem+Encoded.m @@ -16,21 +16,8 @@ NSMutableDictionary *messageDict = [NSMutableDictionary dictionary]; messageDict[@"text"] = [[self text] string]; messageDict[@"date"] = MBIMWebServerFormatISO8601([self time]); - messageDict[@"sender"] = [[self sender] displayID]; - - return messageDict; -} - -@end - -@implementation IMMessageItem (Encoded) - -- (NSDictionary *)mbim_dictionaryRepresentation -{ - NSMutableDictionary *messageDict = [NSMutableDictionary dictionary]; - messageDict[@"text"] = [[self body] string]; - messageDict[@"date"] = MBIMWebServerFormatISO8601([self time]); - messageDict[@"sender"] = [self sender]; + messageDict[@"sender"] = ([self isFromMe] ? nil : [[self sender] displayID]); // TODO: nil sender is still a weird way to represent this... + messageDict[@"guid"] = [self guid]; if ([self fileTransferGUIDs]) { // Support only images right now @@ -51,3 +38,4 @@ } @end +