Only ping presence for public read receipts.
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
@@ -48,15 +48,14 @@ pub(crate) async fn set_read_marker_route(
|
|||||||
.reset_notification_counts(sender_user, &body.room_id);
|
.reset_notification_counts(sender_user, &body.room_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ping presence
|
|
||||||
if services.config.allow_local_presence {
|
|
||||||
services
|
|
||||||
.presence
|
|
||||||
.ping_presence(sender_user, &ruma::presence::PresenceState::Online)
|
|
||||||
.await?;
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(event) = &body.read_receipt {
|
if let Some(event) = &body.read_receipt {
|
||||||
|
if services.config.allow_local_presence {
|
||||||
|
services
|
||||||
|
.presence
|
||||||
|
.ping_presence(sender_user, &ruma::presence::PresenceState::Online)
|
||||||
|
.await?;
|
||||||
|
}
|
||||||
|
|
||||||
let receipt_content = BTreeMap::from_iter([(
|
let receipt_content = BTreeMap::from_iter([(
|
||||||
event.to_owned(),
|
event.to_owned(),
|
||||||
BTreeMap::from_iter([(
|
BTreeMap::from_iter([(
|
||||||
@@ -120,14 +119,6 @@ pub(crate) async fn create_receipt_route(
|
|||||||
.reset_notification_counts(sender_user, &body.room_id);
|
.reset_notification_counts(sender_user, &body.room_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ping presence
|
|
||||||
if services.config.allow_local_presence {
|
|
||||||
services
|
|
||||||
.presence
|
|
||||||
.ping_presence(sender_user, &ruma::presence::PresenceState::Online)
|
|
||||||
.await?;
|
|
||||||
}
|
|
||||||
|
|
||||||
match body.receipt_type {
|
match body.receipt_type {
|
||||||
| create_receipt::v3::ReceiptType::FullyRead => {
|
| create_receipt::v3::ReceiptType::FullyRead => {
|
||||||
let fully_read_event = ruma::events::fully_read::FullyReadEvent {
|
let fully_read_event = ruma::events::fully_read::FullyReadEvent {
|
||||||
@@ -146,6 +137,13 @@ pub(crate) async fn create_receipt_route(
|
|||||||
.await?;
|
.await?;
|
||||||
},
|
},
|
||||||
| create_receipt::v3::ReceiptType::Read => {
|
| create_receipt::v3::ReceiptType::Read => {
|
||||||
|
if services.config.allow_local_presence {
|
||||||
|
services
|
||||||
|
.presence
|
||||||
|
.ping_presence(sender_user, &ruma::presence::PresenceState::Online)
|
||||||
|
.await?;
|
||||||
|
}
|
||||||
|
|
||||||
let receipt_content = BTreeMap::from_iter([(
|
let receipt_content = BTreeMap::from_iter([(
|
||||||
body.event_id.clone(),
|
body.event_id.clone(),
|
||||||
BTreeMap::from_iter([(
|
BTreeMap::from_iter([(
|
||||||
|
|||||||
Reference in New Issue
Block a user