Merge pull request #131 from RyanRory/fix-syncing-for-multidevice
Fix syncing for multidevice
This commit is contained in:
commit
0820e6ee34
|
@ -9,7 +9,7 @@
|
|||
<key>DateTime</key>
|
||||
<string>Tue Mar 3 05:11:41 UTC 2020</string>
|
||||
<key>OSXVersion</key>
|
||||
<string>10.15.3</string>
|
||||
<string>10.15.2</string>
|
||||
<key>WebRTCCommit</key>
|
||||
<string>1445d719bf05280270e9f77576f80f973fd847f8 M73</string>
|
||||
<key>XCodeVersion</key>
|
||||
|
|
|
@ -168,6 +168,9 @@ final class DeviceLinkingModal : Modal, DeviceLinkingSessionDelegate {
|
|||
SSKEnvironment.shared.syncManager.syncAllContacts()
|
||||
SSKEnvironment.shared.syncManager.syncAllGroups()
|
||||
SSKEnvironment.shared.syncManager.syncAllOpenGroups()
|
||||
let thread = TSContactThread.getOrCreateThread(contactId: deviceLink.slave.hexEncodedPublicKey)
|
||||
thread.friendRequestStatus = .friends
|
||||
thread.save()
|
||||
}) { _ in
|
||||
print("[Loki] Failed to send device link authorization message.")
|
||||
}
|
||||
|
|
|
@ -172,6 +172,10 @@ NSString *envelopeAddress(SSKProtoEnvelope *envelope)
|
|||
[description appendString:verifiedString];
|
||||
} else if (syncMessage.contacts) {
|
||||
[description appendString:@"Contacts"];
|
||||
} else if (syncMessage.groups) {
|
||||
[description appendString:@"ClosedGroups"];
|
||||
} else if (syncMessage.openGroups) {
|
||||
[description appendString:@"OpenGroups"];
|
||||
} else {
|
||||
[description appendString:@"Unknown"];
|
||||
}
|
||||
|
|
|
@ -1089,8 +1089,19 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
case LKThreadFriendRequestStatusNone: {
|
||||
OWSMessageSender *messageSender = SSKEnvironment.shared.messageSender;
|
||||
LKFriendRequestMessage *automatedFriendRequestMessage = [messageSender getMultiDeviceFriendRequestMessageForHexEncodedPublicKey:hexEncodedPublicKey transaction:transaction];
|
||||
[automatedFriendRequestMessage saveWithTransaction:transaction];
|
||||
[self.messageSenderJobQueue addMessage:automatedFriendRequestMessage transaction:transaction];
|
||||
thread.isForceHidden = true;
|
||||
[thread saveWithTransaction:transaction];
|
||||
[messageSender sendMessage:automatedFriendRequestMessage
|
||||
success:^{
|
||||
[automatedFriendRequestMessage remove];
|
||||
thread.isForceHidden = false;
|
||||
[thread save];
|
||||
}
|
||||
failure:^(NSError *error) {
|
||||
[automatedFriendRequestMessage remove];
|
||||
thread.isForceHidden = false;
|
||||
[thread save];
|
||||
}];
|
||||
break;
|
||||
}
|
||||
case LKThreadFriendRequestStatusRequestReceived: {
|
||||
|
|
|
@ -988,9 +988,7 @@ NSString *const OWSMessageSenderRateLimitedException = @"RateLimitedException";
|
|||
BOOL isGroupMessage = messageSend.thread.isGroupThread;
|
||||
BOOL isPublicChatMessage = isGroupMessage && ((TSGroupThread *)messageSend.thread).isPublicChat;
|
||||
BOOL isDeviceLinkMessage = [message isKindOfClass:LKDeviceLinkMessage.class];
|
||||
BOOL isUnlinkDeviceMessage = [message isKindOfClass:LKUnlinkDeviceMessage.class];
|
||||
// FIXME: Clean this up
|
||||
if (isPublicChatMessage || isDeviceLinkMessage || isUnlinkDeviceMessage) {
|
||||
if (isPublicChatMessage || isDeviceLinkMessage) {
|
||||
[self sendMessage:messageSend];
|
||||
} else {
|
||||
BOOL isSilentMessage = message.isSilent || [message isKindOfClass:LKEphemeralMessage.class] || [message isKindOfClass:OWSOutgoingSyncMessage.class];
|
||||
|
|
|
@ -4348,6 +4348,7 @@ extension SignalServiceProtos_SyncMessage: SwiftProtobuf.Message, SwiftProtobuf.
|
|||
7: .same(proto: "verified"),
|
||||
9: .same(proto: "configuration"),
|
||||
8: .same(proto: "padding"),
|
||||
100: .same(proto: "openGroups"),
|
||||
]
|
||||
|
||||
fileprivate class _StorageClass {
|
||||
|
|
Loading…
Reference in New Issue