diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist index 9c1f14ca2..e75634ca7 100644 --- a/Signal/Signal-Info.plist +++ b/Signal/Signal-Info.plist @@ -9,7 +9,7 @@ DateTime Tue Mar 3 05:11:41 UTC 2020 OSXVersion - 10.15.3 + 10.15.2 WebRTCCommit 1445d719bf05280270e9f77576f80f973fd847f8 M73 XCodeVersion diff --git a/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift b/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift index a2853b9da..31a33d0ab 100644 --- a/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift +++ b/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift @@ -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.") } diff --git a/SignalServiceKit/src/Messages/OWSMessageHandler.m b/SignalServiceKit/src/Messages/OWSMessageHandler.m index eb0853815..d56e30afc 100644 --- a/SignalServiceKit/src/Messages/OWSMessageHandler.m +++ b/SignalServiceKit/src/Messages/OWSMessageHandler.m @@ -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"]; } diff --git a/SignalServiceKit/src/Messages/OWSMessageManager.m b/SignalServiceKit/src/Messages/OWSMessageManager.m index bf39441cd..16ea7fd0b 100644 --- a/SignalServiceKit/src/Messages/OWSMessageManager.m +++ b/SignalServiceKit/src/Messages/OWSMessageManager.m @@ -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: { diff --git a/SignalServiceKit/src/Messages/OWSMessageSender.m b/SignalServiceKit/src/Messages/OWSMessageSender.m index 388229e78..6b2e8096d 100644 --- a/SignalServiceKit/src/Messages/OWSMessageSender.m +++ b/SignalServiceKit/src/Messages/OWSMessageSender.m @@ -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]; diff --git a/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift b/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift index 44f689eed..0ae7a2464 100644 --- a/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift +++ b/SignalServiceKit/src/Protos/Generated/SignalService.pb.swift @@ -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 {