summary refs log tree commit diff
path: root/synapse/config/experimental.py
diff options
context:
space:
mode:
authorPatrick Cloke <patrickc@matrix.org>2023-07-26 12:45:17 -0400
committerPatrick Cloke <patrickc@matrix.org>2023-07-26 12:45:17 -0400
commit02867aeb257c666f23574864b18cf50c4ce99002 (patch)
tree358aef29f3ec3730457f73fc32a15acf418d1e1e /synapse/config/experimental.py
parentFIx-up content hash checking for PDUs vs. delegated PDUs. (diff)
parentMerge branch 'release-v1.89' into develop (diff)
downloadsynapse-02867aeb257c666f23574864b18cf50c4ce99002.tar.xz
Merge remote-tracking branch 'origin/develop' into clokep/lm
Diffstat (limited to 'synapse/config/experimental.py')
-rw-r--r--synapse/config/experimental.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py
index 0970f22a75..1695ed8ca3 100644
--- a/synapse/config/experimental.py
+++ b/synapse/config/experimental.py
@@ -247,6 +247,27 @@ class ExperimentalConfig(Config):
         # MSC3026 (busy presence state)
         self.msc3026_enabled: bool = experimental.get("msc3026_enabled", False)
 
+        # MSC2697 (device dehydration)
+        # Enabled by default since this option was added after adding the feature.
+        # It is not recommended that both MSC2697 and MSC3814 both be enabled at
+        # once.
+        self.msc2697_enabled: bool = experimental.get("msc2697_enabled", True)
+
+        # MSC3814 (dehydrated devices with SSSS)
+        # This is an alternative method to achieve the same goals as MSC2697.
+        # It is not recommended that both MSC2697 and MSC3814 both be enabled at
+        # once.
+        self.msc3814_enabled: bool = experimental.get("msc3814_enabled", False)
+
+        if self.msc2697_enabled and self.msc3814_enabled:
+            raise ConfigError(
+                "MSC2697 and MSC3814 should not both be enabled.",
+                (
+                    "experimental_features",
+                    "msc3814_enabled",
+                ),
+            )
+
         # MSC3244 (room version capabilities)
         self.msc3244_enabled: bool = experimental.get("msc3244_enabled", True)