From 2a609a5cdf8c81f89ab2bbc26f575df92dc3b038 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 24 Jun 2026 15:32:38 -0500 Subject: [PATCH] Fill in missing experimental config --- rust/src/config/mod.rs | 15 +++++++++++++++ rust/src/handlers/versions.rs | 11 ++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/rust/src/config/mod.rs b/rust/src/config/mod.rs index d1788b5ab9..6dd4ae220a 100644 --- a/rust/src/config/mod.rs +++ b/rust/src/config/mod.rs @@ -64,7 +64,22 @@ pub struct RoomConfig { #[derive(FromPyObject, Clone)] pub struct ExperimentalConfig { + pub msc3026_enabled: bool, + pub msc3773_enabled: bool, + pub msc2815_enabled: bool, pub msc3881_enabled: bool, + pub msc3874_enabled: bool, + pub msc3912_enabled: bool, + pub msc3391_enabled: bool, + pub msc4069_profile_inhibit_propagation: bool, + pub msc4028_push_encrypted_events: bool, + pub msc4108_enabled: bool, + pub msc4108_delegation_endpoint: Option, pub msc3575_enabled: bool, + pub msc4133_enabled: bool, + pub msc4155_enabled: bool, + pub msc4306_enabled: bool, + pub msc4169_enabled: bool, + pub msc4354_enabled: bool, pub msc4222_enabled: bool, } diff --git a/rust/src/handlers/versions.rs b/rust/src/handlers/versions.rs index f74a56ff64..d2627b9e79 100644 --- a/rust/src/handlers/versions.rs +++ b/rust/src/handlers/versions.rs @@ -236,10 +236,10 @@ pub struct UnstableFeatureMap { #[serde(rename = "org.matrix.msc4028")] msc4028: bool, /// MSC4108: Mechanism to allow OIDC sign in and E2EE set up via QR code - 2024 version - #[serde(rename = "org.matrix.msc4108")] + #[serde(rename = "org.matrix.msc4108")] msc4108: bool, /// MSC4140: Delayed events - #[serde(rename = "org.matrix.msc4140")] + #[serde(rename = "org.matrix.msc4140")] msc4140: bool, /// Simplified sliding sync #[serde(rename = "org.matrix.simplified_msc3575")] @@ -269,7 +269,6 @@ pub struct UnstableFeatureMap { #[serde(rename = "org.matrix.msc4445.initial_sync_timeline_topological_ordering")] msc4445_initial_sync_timeline_topological_ordering: bool, - // Whether new rooms will be set to encrypted or not (based on presets). #[serde(rename = "io.element.e2ee_forced.public")] e2ee_forced_public: bool, @@ -303,10 +302,8 @@ pub fn synapse_config_to_global_unstable_feature_map(config: &SynapseConfig) -> msc3391: config.experimental.msc3391_enabled, msc4069: config.experimental.msc4069_profile_inhibit_propagation, msc4028: config.experimental.msc4028_push_encrypted_events, - msc4108: config.experimental.msc4108_enabled || ( - config.experimental.msc4108_delegation_endpoint - is not None - ), + msc4108: config.experimental.msc4108_enabled + || (config.experimental.msc4108_delegation_endpoint.is_some()), msc4140: bool(config.server.max_event_delay_ms), msc3575: config.experimental.msc3575_enabled, msc4133: config.experimental.msc4133_enabled,