feat: Only allow private read receipts when suspended

This commit is contained in:
nexy7574 2025-06-28 22:52:20 +01:00 committed by Ellis Git
parent 08527a2880
commit 1124097bd1

View file

@ -58,14 +58,18 @@ pub(crate) async fn set_read_marker_route(
} }
if let Some(event) = &body.read_receipt { if let Some(event) = &body.read_receipt {
if !services.users.is_suspended(sender_user).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([(
ReceiptType::Read, ReceiptType::Read,
BTreeMap::from_iter([(sender_user.to_owned(), ruma::events::receipt::Receipt { BTreeMap::from_iter([(
sender_user.to_owned(),
ruma::events::receipt::Receipt {
ts: Some(MilliSecondsSinceUnixEpoch::now()), ts: Some(MilliSecondsSinceUnixEpoch::now()),
thread: ReceiptThread::Unthreaded, thread: ReceiptThread::Unthreaded,
})]), },
)]),
)]), )]),
)]); )]);
@ -82,6 +86,7 @@ pub(crate) async fn set_read_marker_route(
) )
.await; .await;
} }
}
if let Some(event) = &body.private_read_receipt { if let Some(event) = &body.private_read_receipt {
let count = services let count = services