fix: incremental lazy loading
@@ -484,6 +484,8 @@ async fn sync_helper(
state_events.push(pdu);
}
+ }
+
for (_, event) in &timeline_pdus {
if lazy_loaded.contains(&event.sender) {
continue;
@@ -496,16 +498,13 @@ async fn sync_helper(
&event.sender,
)? || lazy_load_send_redundant
{
- let pdu = match db.rooms.get_pdu(&id)? {
- Some(pdu) => pdu,
- None => {
- error!("Pdu in state not found: {}", id);
- continue;
- }
- };
-
+ if let Some(member_event) = db.rooms.room_state_get(
+ &room_id,
+ &EventType::RoomMember,
+ event.sender.as_str(),
+ )? {
lazy_loaded.insert(event.sender.clone());
- state_events.push(pdu);
+ state_events.push(member_event);
}
}
}
