fix: Process profiles for all room members not only state event senders (#3278)

This commit is contained in:
Stefan Ceriu
2024-03-27 10:13:18 +02:00
committed by GitHub
parent ab9e4f73b1
commit 99e47ed5d7

View File

@@ -69,7 +69,7 @@ use crate::{
StateChanges, StateStoreDataKey, StateStoreDataValue, StateStoreExt, Store, StoreConfig,
},
sync::{JoinedRoomUpdate, LeftRoomUpdate, Notification, RoomUpdates, SyncResponse, Timeline},
RoomStateFilter, SessionMeta,
MinimalRoomMemberEvent, RoomStateFilter, SessionMeta,
};
/// A no IO Client implementation.
@@ -1170,14 +1170,13 @@ impl BaseClient {
}
let sync_member: SyncRoomMemberEvent = member.clone().into();
let profile = MinimalRoomMemberEvent::from(sync_member);
if member.state_key() == member.sender() {
changes
.profiles
.entry(room_id.to_owned())
.or_default()
.insert(member.sender().to_owned(), sync_member.into());
}
changes
.profiles
.entry(room_id.to_owned())
.or_default()
.insert(member.state_key().to_owned(), profile);
changes
.state