send private read receipt on sliding stink (sync)

Signed-off-by: strawberry <strawberry@puppygock.gay>
This commit is contained in:
strawberry 2024-12-11 22:02:48 -05:00
parent c9bb943a34
commit a26b1c5722
No known key found for this signature in database

View file

@ -490,7 +490,25 @@ pub(crate) async fn sync_events_v4_route(
.await,
);
let vector: Vec<_> = services
let last_privateread_update = services
.rooms
.read_receipt
.last_privateread_update(sender_user, room_id)
.await > *roomsince;
let private_read_event = if last_privateread_update {
services
.rooms
.read_receipt
.private_read_get(room_id, sender_user)
.await
.ok()
.map(|read_event| (sender_user.to_owned(), 0_u64, read_event))
} else {
None
};
let mut vector: Vec<_> = services
.rooms
.read_receipt
.readreceipts_since(room_id, *roomsince)
@ -504,6 +522,10 @@ pub(crate) async fn sync_events_v4_route(
.collect()
.await;
if let Some(private_read_event) = private_read_event {
vector.push(private_read_event);
}
let receipt_size = vector.len();
receipts
.rooms