diff --git a/src/api/client_server/sync/msc4186.rs b/src/api/client_server/sync/msc4186.rs index 1760f93f..9e021ef1 100644 --- a/src/api/client_server/sync/msc4186.rs +++ b/src/api/client_server/sync/msc4186.rs @@ -406,6 +406,9 @@ pub(crate) async fn sync_events_v5_route( let mut all_rooms = all_joined_rooms; all_rooms.extend(invited_rooms_data(&sender_user)); + all_rooms.sort_by_key(|r| { + services().rooms.timeline.last_timeline_count(&sender_user, &r.id).ok() + }); let all_room_ids: Vec<_> = all_rooms.iter().map(|r| r.id.clone()).collect(); let all_room_ids: Vec<_> = all_room_ids.iter().map(|id| &**id).collect();