diff --git a/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift b/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift index d0c308b42..3c4d5249b 100644 --- a/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift +++ b/SignalServiceKit/src/Loki/Protocol/Session Management/SessionManagementProtocol.swift @@ -62,7 +62,8 @@ public final class SessionManagementProtocol : NSObject { @objc(shouldUseFallbackEncryptionForMessage:recipientID:transaction:) public static func shouldUseFallbackEncryption(for message: TSOutgoingMessage, recipientID: String, transaction: YapDatabaseReadWriteTransaction) -> Bool { - if message is SessionRequestMessage { return true } + if SharedSenderKeysImplementation.shared.isClosedGroup(recipientID) { return true } // We don't actually use fallback encryption but this indicates that we don't need a session + else if message is SessionRequestMessage { return true } else if let message = message as? DeviceLinkMessage, message.kind == .request { return true } else if message is OWSOutgoingNullMessage { return false } return !storage.containsSession(recipientID, deviceId: Int32(OWSDevicePrimaryDeviceId), protocolContext: transaction)