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 {