From 1cc6fb11308262cd6285bca462dfb1ec82aabb2d Mon Sep 17 00:00:00 2001 From: timedout Date: Fri, 21 Aug 2026 06:21:09 +0100 Subject: [PATCH] chore: Add newsfrag and re-run cargo fmt --- changelog.d/2164.bugfix.md | 1 + src/service/rooms/timeline/append.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/2164.bugfix.md diff --git a/changelog.d/2164.bugfix.md b/changelog.d/2164.bugfix.md new file mode 100644 index 000000000..59ef5043d --- /dev/null +++ b/changelog.d/2164.bugfix.md @@ -0,0 +1 @@ +Fixed event tracking forgetting to mark soft-failed/rejected events as referenced, which caused a build-up of incorrectly unreferenced events, triggering frequent dummy squashes and associated state resets. diff --git a/src/service/rooms/timeline/append.rs b/src/service/rooms/timeline/append.rs index f4b53a785..35b3771d1 100644 --- a/src/service/rooms/timeline/append.rs +++ b/src/service/rooms/timeline/append.rs @@ -210,7 +210,9 @@ async fn progress_state_and_extremities( 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())); + 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; };