Fix multi device closed group syncing

pull/183/head
nielsandriesse 5 years ago
parent 3889c0af39
commit 415d033183

@ -201,9 +201,9 @@ public final class SyncMessagesProtocol : NSObject {
public static func handleClosedGroupSyncMessageIfNeeded(_ syncMessage: SSKProtoSyncMessage, wrappedIn envelope: SSKProtoEnvelope, using transaction: YapDatabaseReadWriteTransaction) { public static func handleClosedGroupSyncMessageIfNeeded(_ syncMessage: SSKProtoSyncMessage, wrappedIn envelope: SSKProtoEnvelope, using transaction: YapDatabaseReadWriteTransaction) {
// The envelope source is set during UD decryption // The envelope source is set during UD decryption
let hexEncodedPublicKey = envelope.source! let hexEncodedPublicKey = envelope.source!
guard let masterHexEncodedPublicKey = storage.getMasterHexEncodedPublicKey(for: getUserHexEncodedPublicKey(), in: transaction) else { return } let linkedDevices = LokiDatabaseUtilities.getLinkedDeviceHexEncodedPublicKeys(for: hexEncodedPublicKey, in: transaction)
let wasSentByMasterDevice = (masterHexEncodedPublicKey == hexEncodedPublicKey) let wasSentByLinkedDevice = linkedDevices.contains(hexEncodedPublicKey)
guard wasSentByMasterDevice, let groups = syncMessage.groups, let groupsAsData = groups.data, groupsAsData.count > 0 else { return } guard wasSentByLinkedDevice, let groups = syncMessage.groups, let groupsAsData = groups.data, groupsAsData.count > 0 else { return }
print("[Loki] Closed group sync message received.") print("[Loki] Closed group sync message received.")
let parser = ClosedGroupParser(data: groupsAsData) let parser = ClosedGroupParser(data: groupsAsData)
let groupModels = parser.parseGroupModels() let groupModels = parser.parseGroupModels()

Loading…
Cancel
Save