Return cached room members before fetching new ones, do it in batches (#2274)
* Use cached users from the Rust SDK. Also lazy load received users by batches. * Create `RoomMemberListFetcher` to wrap all the room member loading logic * Ensure we clear `RoomMember` Rust references if the fetching coroutine is canceled
This commit is contained in:
parent
196d8a2db6
commit
da4825aa44
17 changed files with 579 additions and 84 deletions
|
|
@ -118,14 +118,7 @@ class RoomLoadedFlowNode @AssistedInject constructor(
|
|||
}
|
||||
|
||||
private fun fetchRoomMembers() = lifecycleScope.launch {
|
||||
val room = inputs.room
|
||||
room.updateMembers()
|
||||
.onFailure {
|
||||
Timber.e(it, "Fail to fetch members for room ${room.roomId}")
|
||||
}
|
||||
.onSuccess {
|
||||
Timber.v("Success fetching members for room ${room.roomId}")
|
||||
}
|
||||
inputs.room.updateMembers()
|
||||
}
|
||||
|
||||
private fun createRoomDetailsNode(buildContext: BuildContext, initialTarget: RoomDetailsEntryPoint.InitialTarget): Node {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue