From d19573c7b5c9de0e6289851d4bc67fd3a8d20edc Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 22 Apr 2024 22:42:43 -0700 Subject: [PATCH] Revert "Revert "prevent empty transactions from going out"" This reverts commit bb433516587836cd0ea69b90b676c4fba8e8a20b. --- src/service/sending/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/service/sending/mod.rs b/src/service/sending/mod.rs index bc88abf4..6003c7ed 100644 --- a/src/service/sending/mod.rs +++ b/src/service/sending/mod.rs @@ -348,7 +348,11 @@ impl Service { vec![(event, key)], &mut current_transaction_status, ) { - futures.push(send_events(dest, events)); + if !events.is_empty() { + futures.push(send_events(dest, events)); + } else { + current_transaction_status.remove(&dest); + } } } } @@ -596,6 +600,7 @@ pub(crate) fn select_edus_receipts( } async fn send_events(dest: Destination, events: Vec) -> Result { + debug_assert!(!events.is_empty(), "sending empty transaction"); match dest { Destination::Normal(ref server) => send_events_dest_normal(&dest, server, events).await, Destination::Appservice(ref id) => send_events_dest_appservice(&dest, id, events).await, @@ -636,6 +641,7 @@ async fn send_events_dest_appservice( let permit = services().sending.maximum_requests.acquire().await; + debug_assert!(!pdu_jsons.is_empty(), "sending empty transaction"); let response = match appservice::send_request( services() .appservice @@ -795,6 +801,7 @@ async fn send_events_dest_normal( let permit = services().sending.maximum_requests.acquire().await; let client = &services().globals.client.sender; + debug_assert!(pdu_jsons.len() + edu_jsons.len() > 0, "sending empty transaction"); let response = send::send( client, server_name,