From f0e5a1c1efa8541ff57cdbd6dfcc2ad3f38d2b28 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Wed, 29 Apr 2020 09:30:18 +1000 Subject: [PATCH] Re-order files --- .../src/Loki/Database/OWSPrimaryStorage+Loki.swift | 2 +- .../Closed Groups/ClosedGroupsProtocol.swift | 13 +++++++------ .../Multi Device}/DeviceLinkIndex.swift | 0 3 files changed, 8 insertions(+), 7 deletions(-) rename SignalServiceKit/src/Loki/{Database => Protocol/Multi Device}/DeviceLinkIndex.swift (100%) diff --git a/SignalServiceKit/src/Loki/Database/OWSPrimaryStorage+Loki.swift b/SignalServiceKit/src/Loki/Database/OWSPrimaryStorage+Loki.swift index c768de746..6cc95236b 100644 --- a/SignalServiceKit/src/Loki/Database/OWSPrimaryStorage+Loki.swift +++ b/SignalServiceKit/src/Loki/Database/OWSPrimaryStorage+Loki.swift @@ -6,7 +6,7 @@ public extension OWSPrimaryStorage { } public func setDeviceLinks(_ deviceLinks: Set, in transaction: YapDatabaseReadWriteTransaction) { - // FIXME: Clear collections first? + // TODO: Clear collections first? deviceLinks.forEach { addDeviceLink($0, in: transaction) } // TODO: Check the performance impact of this } diff --git a/SignalServiceKit/src/Loki/Protocol/Closed Groups/ClosedGroupsProtocol.swift b/SignalServiceKit/src/Loki/Protocol/Closed Groups/ClosedGroupsProtocol.swift index a8f334862..14f27c309 100644 --- a/SignalServiceKit/src/Loki/Protocol/Closed Groups/ClosedGroupsProtocol.swift +++ b/SignalServiceKit/src/Loki/Protocol/Closed Groups/ClosedGroupsProtocol.swift @@ -17,29 +17,30 @@ public final class ClosedGroupsProtocol : NSObject { // MARK: - Receiving @objc(shouldIgnoreClosedGroupMessage:inThread:wrappedIn:using:) public static func shouldIgnoreClosedGroupMessage(_ dataMessage: SSKProtoDataMessage, in thread: TSThread, wrappedIn envelope: SSKProtoEnvelope, using transaction: YapDatabaseReadTransaction) -> Bool { - // The envelope source is set during UD decryption - let hexEncodedPublicKey = envelope.source! guard let thread = thread as? TSGroupThread, thread.groupModel.groupType == .closedGroup, dataMessage.group?.type == .deliver else { return false } + // The envelope source is set during UD decryption + let hexEncodedPublicKey = envelope.source! return !thread.isUser(inGroup: hexEncodedPublicKey, transaction: transaction) } @objc(shouldIgnoreClosedGroupUpdateMessage:in:using:) public static func shouldIgnoreClosedGroupUpdateMessage(_ envelope: SSKProtoEnvelope, in thread: TSGroupThread?, using transaction: YapDatabaseReadTransaction) -> Bool { + guard let thread = thread else { return false } // The envelope source is set during UD decryption let hexEncodedPublicKey = envelope.source! - guard let thread = thread else { return false } return !thread.isUserAdmin(inGroup: hexEncodedPublicKey, transaction: transaction) // TODO: I wonder how this was happening in the first place? } @objc(establishSessionsIfNeededWithClosedGroupMembers:in:using:) public static func establishSessionsIfNeeded(with closedGroupMembers: [String], in thread: TSGroupThread, using transaction: YapDatabaseReadWriteTransaction) { - for member in closedGroupMembers { - guard member != getUserHexEncodedPublicKey() else { continue } + closedGroupMembers.forEach { member in + guard member != getUserHexEncodedPublicKey() else { return } let hasSession = storage.containsSession(member, deviceId: 1, protocolContext: transaction) // TODO: Instead of 1 we should use the primary device ID thingy - if hasSession { continue } + if hasSession { return } let thread = TSContactThread.getOrCreateThread(withContactId: member, transaction: transaction) let sessionRequestMessage = SessionRequestMessage(thread: thread) + // TODO: I don't think this works correctly with multi device let messageSenderJobQueue = SSKEnvironment.shared.messageSenderJobQueue messageSenderJobQueue.add(message: sessionRequestMessage, transaction: transaction) } diff --git a/SignalServiceKit/src/Loki/Database/DeviceLinkIndex.swift b/SignalServiceKit/src/Loki/Protocol/Multi Device/DeviceLinkIndex.swift similarity index 100% rename from SignalServiceKit/src/Loki/Database/DeviceLinkIndex.swift rename to SignalServiceKit/src/Loki/Protocol/Multi Device/DeviceLinkIndex.swift