diff --git a/SignalServiceKit/src/Messages/OWSMessageDecrypter.m b/SignalServiceKit/src/Messages/OWSMessageDecrypter.m index dc758a542..7a956ceaa 100644 --- a/SignalServiceKit/src/Messages/OWSMessageDecrypter.m +++ b/SignalServiceKit/src/Messages/OWSMessageDecrypter.m @@ -406,9 +406,6 @@ NSError *EnsureDecryptError(NSError *_Nullable error, NSString *fallbackErrorDes OWSAssertDebug(successBlock); OWSAssertDebug(failureBlock); - // Check whether we need to refresh our PreKeys every time we receive a Unidentified Sender Message. - [TSPreKeyManager checkPreKeys]; - // NOTE: We don't need to bother with `legacyMessage` for UD messages. NSData *encryptedData = envelope.content; if (!encryptedData) { @@ -470,6 +467,10 @@ NSError *EnsureDecryptError(NSError *_Nullable error, NSString *fallbackErrorDes return failureBlock(error); } + if (decryptResult.messageType == SMKMessageTypePrekey) { + [TSPreKeyManager checkPreKeys]; + } + NSString *source = decryptResult.senderRecipientId; if (source.length < 1 || !source.isValidE164) { NSString *errorDescription = @"Invalid UD sender.";