diff --git a/src/api/client_server/sync.rs b/src/api/client_server/sync.rs index 8322a978..ff2b25a6 100644 --- a/src/api/client_server/sync.rs +++ b/src/api/client_server/sync.rs @@ -460,16 +460,16 @@ async fn sync_helper( } }; - left_rooms.insert( - room_id.into_owned(), - LeftRoom { - account_data: RoomAccountData { - events: Vec::new(), - }, - timeline, - state, + let left_room = LeftRoom { + account_data: RoomAccountData { + events: Vec::new(), }, - ); + timeline, + state, + }; + if !left_room.is_empty() { + left_rooms.insert(room_id.into_owned(), left_room); + } } let mut invited_rooms = BTreeMap::new(); @@ -519,14 +519,14 @@ async fn sync_helper( continue; } - invited_rooms.insert( - room_id.into_owned(), - InvitedRoom { - invite_state: InviteState { - events: invite_state_events, - }, + let invited_room = InvitedRoom { + invite_state: InviteState { + events: invite_state_events, }, - ); + }; + if !invited_room.is_empty() { + invited_rooms.insert(room_id.into_owned(), invited_room); + } } for user_id in left_encrypted_users {