Load all room members when showing a room to user
This commit is contained in:
parent
99d59bb49b
commit
744c6f1b3f
|
@ -740,6 +740,13 @@ class MatrixClient(nio.AsyncClient):
|
|||
)
|
||||
|
||||
|
||||
async def load_all_room_members(self, room_id: str) -> None:
|
||||
room = self.all_rooms[room_id]
|
||||
|
||||
if not room.members_synced:
|
||||
await super().joined_members(room_id)
|
||||
|
||||
|
||||
async def load_past_events(self, room_id: str) -> bool:
|
||||
"""Ask the server for 100 previous events of the room.
|
||||
|
||||
|
|
|
@ -13,9 +13,11 @@ HColumnPage {
|
|||
rightPadding: 0
|
||||
|
||||
onLoadEventListChanged: if (loadEventList) loadedOnce = true
|
||||
Component.onDestruction: if (loadMembersFuture) loadMembersFuture.cancel()
|
||||
|
||||
|
||||
property bool loadedOnce: false
|
||||
property var loadMembersFuture: null
|
||||
|
||||
readonly property alias composer: composer
|
||||
readonly property bool loadEventList:
|
||||
|
@ -23,6 +25,17 @@ HColumnPage {
|
|||
! mainUI.mainPane.visible : ! pageLoader.appearAnimation.running
|
||||
|
||||
|
||||
Timer {
|
||||
interval: 200
|
||||
running: true
|
||||
onTriggered: loadMembersFuture = py.callClientCoro(
|
||||
chat.userId,
|
||||
"load_all_room_members",
|
||||
[chat.roomId],
|
||||
() => { loadMembersFuture = null },
|
||||
)
|
||||
}
|
||||
|
||||
RoomHeader {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user