From 468071336b1d8e834d7db4c55d1a3c5e0c84b211 Mon Sep 17 00:00:00 2001 From: strawberry Date: Sun, 15 Dec 2024 14:12:00 -0500 Subject: [PATCH] ping online presence on read updates like synapse Signed-off-by: strawberry --- src/api/client/read_marker.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/api/client/read_marker.rs b/src/api/client/read_marker.rs index 2e98afbc..89fe003a 100644 --- a/src/api/client/read_marker.rs +++ b/src/api/client/read_marker.rs @@ -49,6 +49,14 @@ pub(crate) async fn set_read_marker_route( .reset_notification_counts(sender_user, &body.room_id); } + // ping presence + if services.globals.allow_local_presence() { + services + .presence + .ping_presence(sender_user, &ruma::presence::PresenceState::Online) + .await?; + } + if let Some(event) = &body.read_receipt { let receipt_content = BTreeMap::from_iter([( event.to_owned(), @@ -117,6 +125,14 @@ pub(crate) async fn create_receipt_route( .reset_notification_counts(sender_user, &body.room_id); } + // ping presence + if services.globals.allow_local_presence() { + services + .presence + .ping_presence(sender_user, &ruma::presence::PresenceState::Online) + .await?; + } + match body.receipt_type { | create_receipt::v3::ReceiptType::FullyRead => { let fully_read_event = ruma::events::fully_read::FullyReadEvent {