From 01a77f8a716bc93b0ddacc7ba8d7d294089fbc69 Mon Sep 17 00:00:00 2001 From: strawberry Date: Tue, 11 Jun 2024 12:37:18 -0400 Subject: [PATCH] add `replaces_state` and `prev_sender` in `unsigned` for membership changes Signed-off-by: strawberry --- src/service/rooms/timeline/mod.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/service/rooms/timeline/mod.rs b/src/service/rooms/timeline/mod.rs index affe35ab..df23da8f 100644 --- a/src/service/rooms/timeline/mod.rs +++ b/src/service/rooms/timeline/mod.rs @@ -236,11 +236,19 @@ impl Service { "prev_content".to_owned(), CanonicalJsonValue::Object( utils::to_canonical_object(prev_state.content.clone()).map_err(|e| { - error!("Failed to convert prev_state to canonical JSON: {}", e); + error!("Failed to convert prev_state to canonical JSON: {e}"); Error::bad_database("Failed to convert prev_state to canonical JSON.") })?, ), ); + unsigned.insert( + String::from("prev_sender"), + CanonicalJsonValue::String(prev_state.sender.clone().to_string()), + ); + unsigned.insert( + String::from("replaces_state"), + CanonicalJsonValue::String(prev_state.event_id.clone().to_string()), + ); } } } else { @@ -660,6 +668,10 @@ impl Service { "prev_sender".to_owned(), serde_json::to_value(&prev_pdu.sender).expect("UserId::to_value always works"), ); + unsigned.insert( + "replaces_state".to_owned(), + serde_json::to_value(&prev_pdu.event_id).expect("EventId is valid json"), + ); } }