Merge pull request #5486 from vector-im/gil/5171_joining_a_space_seemed_to_noop

This commit is contained in:
Gil Eluard 2022-02-02 19:48:24 +01:00 committed by GitHub
commit 7bce24ae96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 1 deletions

View file

@ -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))
}

1
changelog.d/5171.bugfix Normal file
View file

@ -0,0 +1 @@
joining a space seemed to noop