base: Only update the tracked users when we're done with the state and timeline.
parent
f33298b1a6
commit
98d36d0ef0
|
@ -990,21 +990,6 @@ impl BaseClient {
|
||||||
self.get_or_create_joined_room(&room_id).await?.clone()
|
self.get_or_create_joined_room(&room_id).await?.clone()
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(feature = "encryption")]
|
|
||||||
{
|
|
||||||
let mut olm = self.olm.lock().await;
|
|
||||||
|
|
||||||
if let Some(o) = &mut *olm {
|
|
||||||
let room = matrix_room.read().await;
|
|
||||||
|
|
||||||
// If the room is encrypted, update the tracked users.
|
|
||||||
if room.is_encrypted() {
|
|
||||||
o.update_tracked_users(room.joined_members.keys()).await;
|
|
||||||
o.update_tracked_users(room.invited_members.keys()).await;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// RoomSummary contains information for calculating room name.
|
// RoomSummary contains information for calculating room name.
|
||||||
matrix_room
|
matrix_room
|
||||||
.write()
|
.write()
|
||||||
|
@ -1042,6 +1027,21 @@ impl BaseClient {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "encryption")]
|
||||||
|
{
|
||||||
|
let mut olm = self.olm.lock().await;
|
||||||
|
|
||||||
|
if let Some(o) = &mut *olm {
|
||||||
|
let room = matrix_room.read().await;
|
||||||
|
|
||||||
|
// If the room is encrypted, update the tracked users.
|
||||||
|
if room.is_encrypted() {
|
||||||
|
o.update_tracked_users(room.joined_members.keys()).await;
|
||||||
|
o.update_tracked_users(room.invited_members.keys()).await;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// look at AccountData to further cut down users by collecting ignored users
|
// look at AccountData to further cut down users by collecting ignored users
|
||||||
if let Some(account_data) = &joined_room.account_data {
|
if let Some(account_data) = &joined_room.account_data {
|
||||||
for account_data in &account_data.events {
|
for account_data in &account_data.events {
|
||||||
|
|
Loading…
Reference in New Issue