Only handle the first config sync message after restoration

pull/350/head
nielsandriesse 3 years ago
parent 517360a773
commit 4803b96eb1

@ -219,4 +219,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: bb4f6cffd6e7c08814b945e1787d01d639036b1e
COCOAPODS: 1.10.0.rc.1
COCOAPODS: 1.10.1

@ -144,7 +144,7 @@ extension MessageReceiver {
}
private static func handleConfigurationMessage(_ message: ConfigurationMessage, using transaction: Any) {
guard message.sender == getUserHexEncodedPublicKey() else { return }
guard message.sender == getUserHexEncodedPublicKey(), !UserDefaults.standard[.hasSyncedConfiguration] else { return }
let storage = SNMessagingKitConfiguration.shared.storage
let allClosedGroupPublicKeys = storage.getUserClosedGroupPublicKeys()
for closedGroup in message.closedGroups {
@ -157,6 +157,7 @@ extension MessageReceiver {
guard !allOpenGroups.contains(openGroupURL) else { continue }
OpenGroupManager.shared.add(with: openGroupURL, using: transaction).retainUntilComplete()
}
UserDefaults.standard[.hasSyncedConfiguration] = true
}
@discardableResult

@ -364,6 +364,7 @@ public final class MessageSender : NSObject {
OWSDisappearingMessagesJob.shared().startAnyExpiration(for: tsMessage, expirationStartedAt: NSDate.millisecondTimestamp(), transaction: transaction)
// Sync the message if:
// it's a visible message
// the destination was a contact
// we didn't sync it already
let userPublicKey = getUserHexEncodedPublicKey()
if case .contact(let publicKey) = destination, !isSyncMessage, let message = message as? VisibleMessage {

@ -5,6 +5,7 @@ public enum SNUserDefaults {
public enum Bool : Swift.String {
case hasLaunchedOnce
case hasSeenGIFMetadataWarning
case hasSyncedConfiguration
case hasViewedSeed
case isUsingFullAPNs
case isMigratingToV2KeyPair

Loading…
Cancel
Save