wip: fix sync message

pull/104/head
Ryan ZHAO 5 years ago
parent 63aafe06a1
commit dfa238a287

@ -5,7 +5,7 @@
<key>BuildDetails</key>
<dict>
<key>CarthageVersion</key>
<string>0.33.0</string>
<string>0.34.0</string>
<key>OSXVersion</key>
<string>10.15.2</string>
<key>WebRTCCommit</key>

@ -165,8 +165,8 @@ final class DeviceLinkingModal : Modal, DeviceLinkingSessionDelegate {
let linkingAuthorizationMessage = DeviceLinkingUtilities.getLinkingAuthorizationMessage(for: deviceLink)
ThreadUtil.enqueue(linkingAuthorizationMessage)
SSKEnvironment.shared.messageSender.send(linkingAuthorizationMessage, success: {
let _ = SSKEnvironment.shared.syncManager.syncAllContacts()
// _ = SSKEnvironment.shared.syncManager.syncAllGroups()
let _ = [SSKEnvironment.shared.syncManager.syncAllContacts(),
SSKEnvironment.shared.syncManager.syncAllGroups()]
}) { _ in
print("[Loki] Failed to send device link authorization message.")
}

@ -288,15 +288,21 @@ NSString *const kSyncManagerLastContactSyncKey = @"kTSStorageManagerOWSSyncManag
if (hexEncodedPublicKey != nil && thread.isContactFriend && thread.shouldThreadBeVisible && !thread.isForceHidden) {
[friends addObject:[[SignalAccount alloc] initWithRecipientId:hexEncodedPublicKey]];
}
if (friends.count >= 2) {
[promises addObject:[self syncContactsForSignalAccounts:friends]];
[friends removeAllObjects];
}
}];
if (friends.count > 0) {
[promises addObject:[self syncContactsForSignalAccounts:friends]];
NSMutableArray<SignalAccount *> *signalAccounts = @[].mutableCopy;
for (SignalAccount *contact in friends) {
[signalAccounts addObject:contact];
if (signalAccounts.count >= 2) {
[promises addObject:[self syncContactsForSignalAccounts:signalAccounts]];
[signalAccounts removeAllObjects];
}
}
return PMKJoin(promises);
if (signalAccounts.count > 0) {
[promises addObject:[self syncContactsForSignalAccounts:signalAccounts]];
}
AnyPromise *promise = PMKJoin(promises);
[promise retainUntilComplete];
return promise;
}
- (AnyPromise *)syncContactsForSignalAccounts:(NSArray<SignalAccount *> *)signalAccounts
@ -319,13 +325,19 @@ NSString *const kSyncManagerLastContactSyncKey = @"kTSStorageManagerOWSSyncManag
- (AnyPromise *)syncAllGroups
{
NSMutableArray<TSGroupThread *> *groupThreads = @[].mutableCopy;
NSMutableArray<AnyPromise *> *promises = @[].mutableCopy;
[TSGroupThread enumerateCollectionObjectsUsingBlock:^(TSGroupThread *thread, BOOL *stop) {
if (thread.groupModel && thread.shouldThreadBeVisible && !thread.isForceHidden) {
[promises addObject:[self syncGroupForThread:thread]];
if (thread.groupModel.groupType == closedGroup && thread.shouldThreadBeVisible && !thread.isForceHidden) {
[groupThreads addObject:thread];
}
}];
return PMKJoin(promises);
for (TSGroupThread *groupThread in groupThreads) {
[promises addObject:[self syncGroupForThread:groupThread]];
}
AnyPromise *promise = PMKJoin(promises);
[promise retainUntilComplete];
return promise;
}
- (AnyPromise *)syncGroupForThread:(TSGroupThread *)thread

Loading…
Cancel
Save