diff --git a/src/service/sending/mod.rs b/src/service/sending/mod.rs index 1ee38dfbf65422157997117a01c469e96b1f84aa..b670b54fd009aee8aefce126c1920633b755ca59 100644 --- a/src/service/sending/mod.rs +++ b/src/service/sending/mod.rs @@ -35,6 +35,8 @@ pub mod send; pub use send::FedDest; +const SELECT_EDU_LIMIT: usize = 16; + pub struct Service { db: &'static dyn Data, @@ -514,6 +516,10 @@ pub fn select_edus_presence( .unwrap_or_else(|| uint!(0)), status_msg: presence_event.content.status_msg, }); + + if presence_updates.len() >= SELECT_EDU_LIMIT { + break; + } } let presence_content = Edu::Presence(PresenceContent::new(presence_updates)); @@ -581,7 +587,7 @@ pub fn select_edus_receipts( events.push(serde_json::to_vec(&federation_event).expect("json can be serialized")); - if events.len() >= 20 { + if events.len() >= SELECT_EDU_LIMIT { return Ok(false); } }