1
0
Fork 0
mirror of https://forgejo.ellis.link/continuwuation/continuwuity.git synced 2025-10-09 19:10:50 +00:00

fix(hydra): Always append the current extremity to leaves

This commit is contained in:
nexy7574 2025-09-17 21:29:37 +01:00
parent 6840ec45f7
commit 446db274a3
No known key found for this signature in database

View file

@ -175,7 +175,7 @@ where
// Now we calculate the set of extremities this room has after the incoming // Now we calculate the set of extremities this room has after the incoming
// event has been applied. We start with the previous extremities (aka leaves) // event has been applied. We start with the previous extremities (aka leaves)
trace!("Calculating extremities"); trace!("Calculating extremities");
let extremities: Vec<_> = self let mut extremities: Vec<_> = self
.services .services
.state .state
.get_forward_extremities(room_id) .get_forward_extremities(room_id)
@ -195,6 +195,7 @@ where
}) })
.collect() .collect()
.await; .await;
extremities.push(incoming_pdu.event_id().to_owned());
debug!( debug!(
"Retained {} extremities checked against {} prev_events", "Retained {} extremities checked against {} prev_events",
@ -306,7 +307,7 @@ where
); );
// assert!(extremities.is_empty(), "soft_fail extremities empty"); // assert!(extremities.is_empty(), "soft_fail extremities empty");
let extremities = extremities.iter().map(Borrow::borrow); let extremities = extremities.iter().map(Borrow::borrow);
assert!(extremities.clone().count() > 0, "extremities not empty"); debug_assert!(extremities.clone().count() > 0, "extremities not empty");
self.services self.services
.timeline .timeline
@ -341,7 +342,7 @@ where
.iter() .iter()
.map(Borrow::borrow) .map(Borrow::borrow)
.chain(once(incoming_pdu.event_id())); .chain(once(incoming_pdu.event_id()));
assert!(extremities.clone().count() > 0, "extremities not empty"); debug_assert!(extremities.clone().count() > 0, "extremities not empty");
let pdu_id = self let pdu_id = self
.services .services