diff --git a/src/api/client_server/sync/msc4186.rs b/src/api/client_server/sync/msc4186.rs index 7c7cee3a..d65cb6c7 100644 --- a/src/api/client_server/sync/msc4186.rs +++ b/src/api/client_server/sync/msc4186.rs @@ -484,9 +484,27 @@ pub(crate) async fn sync_events_v5_route( }) .collect(); + let mut rooms_account_data = BTreeMap::new(); + for (room_id, todo_room) in &todo_rooms { + let account_data: Vec<_> = services() + .account_data + .room_changes_since(&sender_user, room_id, todo_room.roomsince)? + .into_iter() + .map(|(event_type, content)| { + account_data::raw_room_event_from_parts( + &event_type, + &content, + ) + }) + .collect(); + if !account_data.is_empty() { + rooms_account_data.insert(room_id.clone(), account_data); + } + } + Some(sync_events::v5::response::AccountData { global, - rooms: BTreeMap::new(), + rooms: rooms_account_data, }) } else { None