From f956e8c3b588386bc2ba9310d92791cc48a7c458 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Fri, 29 Mar 2024 00:27:10 -0700 Subject: [PATCH] move and deduplicate read receipt flusher. Signed-off-by: Jason Volk --- src/api/client_server/read_marker.rs | 4 ---- src/service/rooms/edus/read_receipt/mod.rs | 7 +++++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/api/client_server/read_marker.rs b/src/api/client_server/read_marker.rs index 210a6c55..f68463d6 100644 --- a/src/api/client_server/read_marker.rs +++ b/src/api/client_server/read_marker.rs @@ -88,8 +88,6 @@ pub async fn set_read_marker_route(body: Ruma) -> room_id: body.room_id.clone(), }, )?; - - services().sending.flush_room(&body.room_id)?; } Ok(set_read_marker::v3::Response {}) @@ -148,8 +146,6 @@ pub async fn create_receipt_route(body: Ruma) -> Re room_id: body.room_id.clone(), }, )?; - - services().sending.flush_room(&body.room_id)?; }, create_receipt::v3::ReceiptType::ReadPrivate => { let count = services() diff --git a/src/service/rooms/edus/read_receipt/mod.rs b/src/service/rooms/edus/read_receipt/mod.rs index 9b2bcd94..85291182 100644 --- a/src/service/rooms/edus/read_receipt/mod.rs +++ b/src/service/rooms/edus/read_receipt/mod.rs @@ -3,7 +3,7 @@ mod data; pub use data::Data; use ruma::{events::receipt::ReceiptEvent, serde::Raw, OwnedUserId, RoomId, UserId}; -use crate::Result; +use crate::{services, Result}; pub struct Service { pub db: &'static dyn Data, @@ -12,7 +12,10 @@ pub struct Service { impl Service { /// Replaces the previous read receipt. pub fn readreceipt_update(&self, user_id: &UserId, room_id: &RoomId, event: ReceiptEvent) -> Result<()> { - self.db.readreceipt_update(user_id, room_id, event) + self.db.readreceipt_update(user_id, room_id, event)?; + services().sending.flush_room(room_id)?; + + Ok(()) } /// Returns an iterator over the most recent read_receipts in a room that