Make room proxy unsubscriptions explicit. Fixes problems in which creating and deallocating room proxies would unexpectedly unsubscribe other proxies.

This commit is contained in:
Stefan Ceriu
2024-01-17 11:47:17 +02:00
parent 922eca0ae5
commit 9bb9c8b31e
4 changed files with 24 additions and 5 deletions
@@ -51,10 +51,6 @@ class RoomProxy: RoomProxyProtocol {
room.ownUserId()
}
deinit {
roomListItem.unsubscribe()
}
init(roomListItem: RoomListItemProtocol,
room: RoomProtocol,
backgroundTaskService: BackgroundTaskServiceProtocol) async {
@@ -89,6 +85,10 @@ class RoomProxy: RoomProxyProtocol {
subscribeToRoomStateUpdates()
}
func unsubscribeFromUpdates() {
roomListItem.unsubscribe()
}
lazy var id: String = room.id()
@@ -69,6 +69,8 @@ protocol RoomProxyProtocol {
func subscribeForUpdates() async
func unsubscribeFromUpdates()
func redact(_ eventID: String) async -> Result<Void, RoomProxyError>
func reportContent(_ eventID: String, reason: String?) async -> Result<Void, RoomProxyError>