diff --git a/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift b/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift index 433ad0376..80c954466 100644 --- a/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift +++ b/Signal/src/Loki/View Controllers/DeviceLinkingModal.swift @@ -184,15 +184,17 @@ final class DeviceLinkingModal : Modal, DeviceLinkingSessionDelegate { let signedDeviceLink = DeviceLink(between: master, and: deviceLink.slave) LokiFileServerAPI.addDeviceLink(signedDeviceLink).done(on: DispatchQueue.main) { [weak self] in SSKEnvironment.shared.messageSender.send(linkingAuthorizationMessage, success: { - let hexEncodedPublicKey = deviceLink.slave.hexEncodedPublicKey - let thread = TSContactThread.getOrCreateThread(contactId: hexEncodedPublicKey) - thread.save() + let storage = OWSPrimaryStorage.shared() + let slaveHexEncodedPublicKey = deviceLink.slave.hexEncodedPublicKey + storage.dbReadWriteConnection.readWrite { transaction in + let thread = TSContactThread.getOrCreateThread(withContactId: slaveHexEncodedPublicKey, transaction: transaction) + thread.save(with: transaction) + } let _ = SSKEnvironment.shared.syncManager.syncAllContacts() let _ = SSKEnvironment.shared.syncManager.syncAllGroups() let _ = SSKEnvironment.shared.syncManager.syncAllOpenGroups() - let storage = OWSPrimaryStorage.shared() storage.dbReadWriteConnection.readWrite { transaction in - storage.setFriendRequestStatus(.friends, for: hexEncodedPublicKey, transaction: transaction) + storage.setFriendRequestStatus(.friends, for: slaveHexEncodedPublicKey, transaction: transaction) } DispatchQueue.main.async { self?.dismiss(animated: true, completion: nil)