From c22b4fcfb2f67193201b3d69ed0d47041536e766 Mon Sep 17 00:00:00 2001 From: Benjamin Kampmann Date: Wed, 23 Feb 2022 12:37:10 +0100 Subject: [PATCH] minor refactor for simplicity --- .../matrix-sdk-base/src/store/sled_store.rs | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/crates/matrix-sdk-base/src/store/sled_store.rs b/crates/matrix-sdk-base/src/store/sled_store.rs index a4aca43bb..52685caeb 100644 --- a/crates/matrix-sdk-base/src/store/sled_store.rs +++ b/crates/matrix-sdk-base/src/store/sled_store.rs @@ -1141,9 +1141,20 @@ impl SledStore { end_position: usize::MAX / 2, } }; + let room_version = self.room_info + .get(room_id.encode())? + .map(|r| self.deserialize_event::(&r)) + .transpose()? + .and_then(|info| { + info.base_info + .create + .map(|event| event.room_version) + }).unwrap_or_else(|| { + warn!("Unable to find the room version for {}, assume version 9", room_id); + RoomVersionId::V9 + }); if timeline.sync { - let mut room_version = None; for event in timeline.events.iter().rev() { // Redact events already in store only on sync response if let Ok(AnySyncRoomEvent::Message(AnySyncMessageEvent::RoomRedaction( @@ -1164,23 +1175,10 @@ impl SledStore { .transpose()? { let inner_event = full_event.event.deserialize()?; - if room_version.is_none() { - room_version = Some(self.room_info - .get(room_id.encode())? - .map(|r| self.deserialize_event::(&r)) - .transpose()? - .and_then(|info| { - info.base_info - .create - .map(|event| event.room_version) - }).unwrap_or_else(|| { - warn!("Unable to find the room version for {}, assume version 9", room_id); - RoomVersionId::V9 - })); - } + full_event.event = Raw::new(&AnySyncRoomEvent::from( - inner_event.redact(redaction, room_version.as_ref().unwrap()), + inner_event.redact(redaction, &room_version), ))?; timeline_batch .insert(position_key, self.serialize_event(&full_event)?);