refactor: Promote handling unsigned data out of timeline

Also fixes:
- Transaction IDs leaking in event route
- Age not being set for event relations or threads
- Both of the above for search results

Notes down concern with relations table
This commit is contained in:
Jade Ellis
2025-06-03 21:31:02 +01:00
parent 7fa4fa9862
commit 987c5eeb03
18 changed files with 111 additions and 75 deletions
+8 -1
View File
@@ -40,12 +40,19 @@ pub(crate) async fn room_initial_sync_route(
.map_ok(Event::into_format)
.try_collect::<Vec<_>>();
// Events are returned in body
let limit = LIMIT_MAX;
let events = services
.rooms
.timeline
.pdus_rev(None, room_id, None)
.pdus_rev(room_id, None)
.try_take(limit)
.and_then(async |mut pdu| {
pdu.1.set_unsigned(body.sender_user.as_deref());
// TODO: bundled aggregations
Ok(pdu)
})
.try_collect::<Vec<_>>();
let (membership, visibility, state, events) =