Make sure the live timeline is destroyed before clearing a room's cache (#4515)
* Make sure the live timeline is destroyed before clearing a room's cache According to the SDK team, having a live timeline could lead to DB issues. * Try to destroy all room and list item references when the `RustRoomFactory` is destroyed It may also have some effect on DB corruption issues we've seen
This commit is contained in:
parent
d7ca529db1
commit
b2791d5aad
2 changed files with 6 additions and 0 deletions
|
|
@ -81,6 +81,10 @@ class RustRoomFactory(
|
|||
withContext(NonCancellable + dispatcher) {
|
||||
mutex.withLock {
|
||||
Timber.d("Destroying room factory")
|
||||
cache.snapshot().values.forEach { (listItem, innerRoom) ->
|
||||
innerRoom.destroy()
|
||||
listItem.destroy()
|
||||
}
|
||||
cache.evictAll()
|
||||
isDestroyed = true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue