mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
Merge pull request #5486 from vector-im/gil/5171_joining_a_space_seemed_to_noop
This commit is contained in:
commit
7bce24ae96
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))
|
||||
}
|
||||
|
|
1
changelog.d/5171.bugfix
Normal file
1
changelog.d/5171.bugfix
Normal file
|
@ -0,0 +1 @@
|
|||
joining a space seemed to noop
|
Loading…
Reference in a new issue