mirror of
https://forgejo.ellis.link/continuwuation/continuwuity/
synced 2026-08-28 21:58:20 +00:00
fix: Mark prev events as referenced as we come across them
This commit is contained in:
@@ -207,8 +207,10 @@ async fn progress_state_and_extremities(
|
||||
// status.
|
||||
let mut ancestors_todo: VecDeque<OwnedEventId> =
|
||||
VecDeque::from_iter(incoming_pdu.prev_events.clone());
|
||||
let room_id = incoming_pdu.room_id_or_hash();
|
||||
while let Some(prev_event_id) = ancestors_todo.pop_front() {
|
||||
new_extremities.remove(&prev_event_id);
|
||||
self.services.pdu_metadata.mark_as_referenced(&room_id, once(prev_event_id.as_ref()));
|
||||
let Ok(prev_event) = self.get_pdu(&prev_event_id).await else {
|
||||
continue;
|
||||
};
|
||||
@@ -233,12 +235,6 @@ async fn progress_state_and_extremities(
|
||||
})
|
||||
.collect::<Vec<_>>()
|
||||
.await;
|
||||
for ancestor_id in &ancestors_todo {
|
||||
self.services.pdu_metadata.mark_as_referenced(
|
||||
&incoming_pdu.room_id_or_hash(),
|
||||
once(ancestor_id.as_ref()),
|
||||
);
|
||||
}
|
||||
ancestors_todo.extend(outlier_prevs);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user