joining a space seemed to noop

- Should be fixed
This commit is contained in:
Gil Eluard
2022-02-02 17:38:33 +01:00
parent b24d7725ec
commit 07accfb186
2 changed files with 16 additions and 1 deletions
@@ -27,6 +27,7 @@ class SpaceDetailViewModel: SpaceDetailViewModelType {
private let session: MXSession
private let spaceId: String
private let publicRoom: MXPublicRoom?
private var spaceGraphObserver: Any?
// MARK: - Setup
@@ -42,6 +43,12 @@ class SpaceDetailViewModel: SpaceDetailViewModelType {
self.spaceId = publicRoom.roomId
}
deinit {
if let spaceGraphObserver = spaceGraphObserver {
NotificationCenter.default.removeObserver(spaceGraphObserver)
}
}
// MARK: - Public
func process(viewAction: SpaceDetailViewAction) {
@@ -108,7 +115,14 @@ class SpaceDetailViewModel: SpaceDetailViewModelType {
guard let self = self else { return }
switch response {
case .success:
self.coordinatorDelegate?.spaceDetailViewModelDidJoin(self)
self.spaceGraphObserver = NotificationCenter.default.addObserver(forName: MXSpaceService.didBuildSpaceGraph, object: nil, queue: OperationQueue.main) { [weak self] notification in
guard let self = self else { return }
if let spaceGraphObserver = self.spaceGraphObserver {
NotificationCenter.default.removeObserver(spaceGraphObserver)
}
self.coordinatorDelegate?.spaceDetailViewModelDidJoin(self)
}
case .failure(let error):
self.update(viewState: .error(error))
}