diff --git a/src/api/client/message.rs b/src/api/client/message.rs index 3f3ffa57..00c448f3 100644 --- a/src/api/client/message.rs +++ b/src/api/client/message.rs @@ -122,8 +122,7 @@ pub(crate) async fn get_message_events_route( let events: Vec<_> = it .ready_take_while(|(count, _)| Some(*count) != to) .ready_filter_map(|item| event_filter(item, filter)) - .wide_filter_map(|item| ignored_filter(&services, item, sender_user)) - .wide_filter_map(|item| visibility_filter(&services, item, sender_user)) + .wide_filter_map(|item| event_filters(&services, sender_user, item)) .take(limit) .collect() .await; @@ -228,6 +227,17 @@ async fn get_member_event( .ok() } +async fn event_filters( + services: &Services, + user_id: &UserId, + item: PdusIterItem, +) -> Option { + let item = ignored_filter(services, item, user_id).await?; + let item = visibility_filter(services, item, user_id).await?; + + Some(item) +} + #[inline] pub(crate) async fn ignored_filter( services: &Services, @@ -238,7 +248,7 @@ pub(crate) async fn ignored_filter( is_ignored_pdu(services, pdu, user_id) .await - .eq(&false) + .is_false() .then_some(item) }