diff --git a/Session/Closed Groups/NewClosedGroupVC.swift b/Session/Closed Groups/NewClosedGroupVC.swift index 3e799825d..c98e35227 100644 --- a/Session/Closed Groups/NewClosedGroupVC.swift +++ b/Session/Closed Groups/NewClosedGroupVC.swift @@ -343,12 +343,7 @@ final class NewClosedGroupVC: BaseVC, UITableViewDataSource, UITableViewDelegate } }, receiveValue: { thread in - Storage.shared.writeAsync { db in - try? MessageSender - .syncConfiguration(db, forceSyncNow: true) - .sinkUntilComplete() - } - + ConfigurationSyncJob.enqueue() self?.presentingViewController?.dismiss(animated: true, completion: nil) SessionApp.presentConversation(for: thread.id, action: .compose, animated: false) } diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index 92c50bb62..446ef1c8d 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -1562,13 +1562,7 @@ extension ConversationVC: .sinkUntilComplete( receiveCompletion: { result in switch result { - case .finished: - Storage.shared.writeAsync { db in - try MessageSender - .syncConfiguration(db, forceSyncNow: true) - .sinkUntilComplete() // FIXME: It's probably cleaner to do this inside addOpenGroup(...) - } - + case .finished: break case .failure(let error): let errorModal: ConfirmationModal = ConfirmationModal( info: ConfirmationModal.Info( diff --git a/Session/Meta/AppDelegate.swift b/Session/Meta/AppDelegate.swift index ec164de32..aa186b1a9 100644 --- a/Session/Meta/AppDelegate.swift +++ b/Session/Meta/AppDelegate.swift @@ -295,9 +295,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD appVersion.lastAppVersion != appVersion.currentAppVersion ) { - try MessageSender - .syncConfiguration(db, forceSyncNow: true) - .sinkUntilComplete() + ConfigurationSyncJob.enqueue(db) } } } diff --git a/Session/Open Groups/JoinOpenGroupVC.swift b/Session/Open Groups/JoinOpenGroupVC.swift index 60923ce50..648363152 100644 --- a/Session/Open Groups/JoinOpenGroupVC.swift +++ b/Session/Open Groups/JoinOpenGroupVC.swift @@ -1,6 +1,7 @@ // Copyright © 2022 Rangeproof Pty Ltd. All rights reserved. import UIKit +import Combine import AVFoundation import GRDB import SessionUIKit @@ -189,12 +190,6 @@ final class JoinOpenGroupVC: BaseVC, UIPageViewControllerDataSource, UIPageViewC self?.showError(title: title, message: message) case .finished: - Storage.shared.writeAsync { db in - try MessageSender - .syncConfiguration(db, forceSyncNow: true) - .sinkUntilComplete() // FIXME: It's probably cleaner to do this inside addOpenGroup(...) - } - self?.presentingViewController?.dismiss(animated: true, completion: nil) if shouldOpenCommunity { diff --git a/SessionMessagingKit/Open Groups/OpenGroupManager.swift b/SessionMessagingKit/Open Groups/OpenGroupManager.swift index ad963705b..26f4a290e 100644 --- a/SessionMessagingKit/Open Groups/OpenGroupManager.swift +++ b/SessionMessagingKit/Open Groups/OpenGroupManager.swift @@ -275,6 +275,9 @@ public final class OpenGroupManager { .flatMap { response -> Future in Future { resolver in dependencies.storage.write { db in + // Enqueue a config sync job (have a newly added open group to sync) + ConfigurationSyncJob.enqueue(db) + // Store the capabilities first OpenGroupManager.handleCapabilities( db,