From 5701a4eab098dca623b14dee54b430d6cc5b413d Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Thu, 17 Oct 2019 17:49:25 -0600 Subject: [PATCH] restrict more syncing on iPad --- SignalMessaging/contacts/OWSSyncManager.m | 5 ++++- SignalServiceKit/src/Util/OWSUserProfile.m | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/SignalMessaging/contacts/OWSSyncManager.m b/SignalMessaging/contacts/OWSSyncManager.m index 55eb0a73c7..c608207777 100644 --- a/SignalMessaging/contacts/OWSSyncManager.m +++ b/SignalMessaging/contacts/OWSSyncManager.m @@ -292,10 +292,13 @@ NSString *const kSyncManagerLastContactSyncKey = @"kTSStorageManagerOWSSyncManag skipIfRedundant:(BOOL)skipIfRedundant debounce:(BOOL)debounce { + if (!self.tsAccountManager.isRegisteredPrimaryDevice) { + return [AnyPromise promiseWithValue:OWSErrorMakeAssertionError(@"should not sync from secondary device")]; + } + AnyPromise *promise = [AnyPromise promiseWithResolverBlock:^(PMKResolver resolve) { [AppReadiness runNowOrWhenAppDidBecomeReady:^{ dispatch_async(self.serialQueue, ^{ - OWSAssertDebug(self.tsAccountManager.isRegisteredPrimaryDevice); if (debounce && self.isRequestInFlight) { // De-bounce. It's okay if we ignore some new changes; // `sendSyncContactsMessageIfPossible` is called fairly diff --git a/SignalServiceKit/src/Util/OWSUserProfile.m b/SignalServiceKit/src/Util/OWSUserProfile.m index 6c0f0384e2..3480e4c70e 100644 --- a/SignalServiceKit/src/Util/OWSUserProfile.m +++ b/SignalServiceKit/src/Util/OWSUserProfile.m @@ -320,7 +320,8 @@ NSUInteger const kUserProfileSchemaVersion = 1; // We populate an initial (empty) profile on launch of a new install, but // until we have a registered account, syncing will fail (and there could not // be any linked device to sync to at this point anyway). - if ([self.tsAccountManager isRegistered] && CurrentAppContext().isMainApp) { + if (self.tsAccountManager.isRegisteredPrimaryDevice + && CurrentAppContext().isMainApp) { [[self.syncManager syncLocalContact] retainUntilComplete]; }