From 5de7c452cf01c4789644f4ab0e713fff0f1f50f2 Mon Sep 17 00:00:00 2001 From: Niels Andriesse <andriesseniels@gmail.com> Date: Thu, 30 Jan 2020 11:12:11 +1100 Subject: [PATCH] Fix session handling bug --- SignalServiceKit/src/Messages/OWSMessageManager.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index 4de6a8a7e..27e58ed17 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -1660,15 +1660,15 @@ NS_ASSUME_NONNULL_BEGIN } // Loki: Establish a session if there is no session between the memebers of a group -- (void)establishSessionsWithMembersIfNeeded: (NSArray *)members forThread: (TSGroupThread *)thread transaction:(YapDatabaseReadWriteTransaction *)transaction +- (void)establishSessionsWithMembersIfNeeded:(NSArray *)members forThread:(TSGroupThread *)thread transaction:(YapDatabaseReadWriteTransaction *)transaction { NSString *userHexEncodedPublicKey = OWSIdentityManager.sharedManager.identityKeyPair.hexEncodedPublicKey; for (NSString *member in members) { if ([member isEqualToString:userHexEncodedPublicKey] ) { continue; } - __block BOOL hasSession; - hasSession = [self.primaryStorage containsSession:member deviceId:1 protocolContext:transaction]; + BOOL hasSession = [self.primaryStorage containsSession:member deviceId:1 protocolContext:transaction]; if (hasSession) { continue; } - LKSessionRequestMessage *message = [[LKSessionRequestMessage alloc] initWithThread:thread]; + TSContactThread *contactThread = [TSContactThread getOrCreateThreadWithContactId:member transaction:transaction]; + LKSessionRequestMessage *message = [[LKSessionRequestMessage alloc] initWithThread:contactThread]; [self.messageSenderJobQueue addMessage:message transaction:transaction]; } }