diff --git a/src/api/client_server/sync.rs b/src/api/client_server/sync.rs index 5ff886fe..718519ca 100644 --- a/src/api/client_server/sync.rs +++ b/src/api/client_server/sync.rs @@ -1097,7 +1097,11 @@ async fn handle_left_room( }; State { - events: vec![event.to_sync_state_event()], + events: if filter.room.state.pdu_event_allowed(&event) { + vec![event.to_sync_state_event()] + } else { + vec![] + }, } } else { let mut left_state_events = Vec::new(); @@ -1164,7 +1168,9 @@ async fn handle_left_room( continue; }; - left_state_events.push(pdu.to_sync_state_event()); + if filter.room.state.pdu_event_allowed(&pdu) { + left_state_events.push(pdu.to_sync_state_event()); + } i += 1; if i % 100 == 0 {