diff --git a/src/api/server_server.rs b/src/api/server_server.rs index c9069fa1c789a46faeeaac016ab2dcf956977756..e4afa2a1868869858c21fcbcadad1c9a5764e747 100644 --- a/src/api/server_server.rs +++ b/src/api/server_server.rs @@ -352,22 +352,22 @@ pub(crate) async fn send_transaction_message_route( } for (room_id, room_updates) in receipt.receipts { + if services() + .rooms + .event_handler + .acl_check(origin, &room_id) + .is_err() + { + debug_warn!(%origin, %room_id, "received read receipt EDU from ACL'd server"); + continue; + } + for (user_id, user_updates) in room_updates.read { if user_id.server_name() != origin { debug_warn!(%user_id, %origin, "received read receipt EDU for user not belonging to origin"); continue; } - if services() - .rooms - .event_handler - .acl_check(user_id.server_name(), &room_id) - .is_err() - { - debug_warn!(%user_id, %room_id, "received read receipt EDU from ACL'd user's server"); - continue; - } - if services().rooms.state_cache.is_joined(&user_id, &room_id)? { if let Some((event_id, _)) = user_updates .event_ids