From e4aff871de8d1efe6b0ae8ad57795667a9754e43 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Thu, 25 Dec 2025 22:25:19 +0100 Subject: [PATCH] Refactor IndexeddbStateStore::save_changes --- .../src/state_store/mod.rs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/crates/matrix-sdk-indexeddb/src/state_store/mod.rs b/crates/matrix-sdk-indexeddb/src/state_store/mod.rs index ee6eefbd6..ce3a3f30c 100644 --- a/crates/matrix-sdk-indexeddb/src/state_store/mod.rs +++ b/crates/matrix-sdk-indexeddb/src/state_store/mod.rs @@ -1047,20 +1047,26 @@ impl_state_store!({ if let Ok(Some(event_id)) = raw_evt.get_field::("event_id") && let Some(redaction) = redactions.get(&event_id) { - let redaction_rules = { - if redaction_rules.is_none() { - redaction_rules.replace(room_info + let redaction_rules = match &redaction_rules { + Some(r) => r, + None => { + let value = room_info .get(&self.encode_key(keys::ROOM_INFOS, room_id)) .await? .and_then(|f| self.deserialize_value::(&f).ok()) .map(|info| info.room_version_rules_or_default()) .unwrap_or_else(|| { - warn!(?room_id, "Unable to get the room version rules, defaulting to rules for room version {ROOM_VERSION_FALLBACK}"); + warn!( + ?room_id, + "Unable to get the room version rules, \ + defaulting to rules for room version \ + {ROOM_VERSION_FALLBACK}" + ); ROOM_VERSION_RULES_FALLBACK - }).redaction - ); + }) + .redaction; + redaction_rules.get_or_insert(value) } - redaction_rules.as_ref().unwrap() }; let redacted = redact(