From 2082c2ada73673e60f0d1bd059aa49e7c236b3d6 Mon Sep 17 00:00:00 2001 From: Frederic Jacobs Date: Mon, 29 Dec 2014 17:40:42 +0100 Subject: [PATCH] Bugfix: Caused private message to not be processed correctly Protocol buffers do serialise the group structure even if properties are missing. Always check with .hasGroup instead. --- Signal/src/textsecure/Messages/TSMessagesManager.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Signal/src/textsecure/Messages/TSMessagesManager.m b/Signal/src/textsecure/Messages/TSMessagesManager.m index 465ebd064..daa65d58e 100644 --- a/Signal/src/textsecure/Messages/TSMessagesManager.m +++ b/Signal/src/textsecure/Messages/TSMessagesManager.m @@ -180,7 +180,7 @@ } - (void)handleIncomingMessage:(IncomingPushMessageSignal*)incomingMessage withPushContent:(PushMessageContent*)content{ - if(content.group!= nil ) { + if(content.hasGroup) { __block BOOL ignoreMessage = NO; [self.dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { GroupModel *emptyModelToFillOutId = [[GroupModel alloc] initWithTitle:nil memberIds:nil image:nil groupId:content.group.id]; // TODO refactor the TSGroupThread to just take in an ID (as it is all that it uses). Should not take in more than it uses @@ -199,7 +199,7 @@ DDLogVerbose(@"Received end session message..."); [self handleEndSessionMessage:incomingMessage withContent:content]; } - else if (content.attachments.count > 0 || (content.group!= nil && content.group.type == PushMessageContentGroupContextTypeUpdate && content.group.hasAvatar)) { + else if (content.attachments.count > 0 || (content.hasGroup && content.group.type == PushMessageContentGroupContextTypeUpdate && content.group.hasAvatar)) { DDLogVerbose(@"Received push media message (attachment) or group with an avatar..."); [self handleReceivedMediaMessage:incomingMessage withContent:content]; }