From 332d1f0b0814db7016f3b99977c9ba725669130f Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Tue, 26 Nov 2019 09:48:26 +1100 Subject: [PATCH] Fix pre key handling --- .../src/Loki/Messaging/LKDeviceLinkMessage.m | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/SignalServiceKit/src/Loki/Messaging/LKDeviceLinkMessage.m b/SignalServiceKit/src/Loki/Messaging/LKDeviceLinkMessage.m index 8610d3b5a..eb6380c61 100644 --- a/SignalServiceKit/src/Loki/Messaging/LKDeviceLinkMessage.m +++ b/SignalServiceKit/src/Loki/Messaging/LKDeviceLinkMessage.m @@ -35,14 +35,16 @@ SSKProtoContentBuilder *contentBuilder = SSKProtoContent.builder; NSError *error; // Build the pre key bundle message - PreKeyBundle *preKeyBundle = [OWSPrimaryStorage.sharedManager generatePreKeyBundleForContact:recipient.recipientId]; - SSKProtoPrekeyBundleMessageBuilder *preKeyBundleMessageBuilder = [SSKProtoPrekeyBundleMessage builderFromPreKeyBundle:preKeyBundle]; - SSKProtoPrekeyBundleMessage *preKeyBundleMessage = [preKeyBundleMessageBuilder buildAndReturnError:&error]; - if (error || preKeyBundleMessage == nil) { - OWSFailDebug(@"Failed to build pre key bundle message for: %@ due to error: %@.", recipient.recipientId, error); - return nil; - } else { - [contentBuilder setPrekeyBundleMessage:preKeyBundleMessage]; + if (self.kind == LKDeviceLinkMessageKindRequest) { + PreKeyBundle *preKeyBundle = [OWSPrimaryStorage.sharedManager generatePreKeyBundleForContact:recipient.recipientId]; + SSKProtoPrekeyBundleMessageBuilder *preKeyBundleMessageBuilder = [SSKProtoPrekeyBundleMessage builderFromPreKeyBundle:preKeyBundle]; + SSKProtoPrekeyBundleMessage *preKeyBundleMessage = [preKeyBundleMessageBuilder buildAndReturnError:&error]; + if (error || preKeyBundleMessage == nil) { + OWSFailDebug(@"Failed to build pre key bundle message for: %@ due to error: %@.", recipient.recipientId, error); + return nil; + } else { + [contentBuilder setPrekeyBundleMessage:preKeyBundleMessage]; + } } // Build the device link message SSKProtoLokiDeviceLinkMessageBuilder *deviceLinkMessageBuilder = [SSKProtoLokiDeviceLinkMessage builder];