From 5286bdc6bbd471939e66136b611b8e4e096f269c Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 12 Feb 2026 02:57:03 +0000 Subject: [PATCH] Consolidate concurrent event filters in messages iteration. Signed-off-by: Jason Volk --- src/api/client/message.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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) }