summary refs log tree commit diff
path: root/synapse/config/registration.py
diff options
context:
space:
mode:
authorMathieu Velten <mathieuv@matrix.org>2023-08-22 16:47:59 +0200
committerGitHub <noreply@github.com>2023-08-22 14:47:59 +0000
commit0ba17777be81ba9457defb407112b664042a14d2 (patch)
tree3eea0de6202c4686023bce0c08691eb9c9f90342 /synapse/config/registration.py
parentAdd an admin endpoint to allow authorizing server to signal token revocations... (diff)
downloadsynapse-0ba17777be81ba9457defb407112b664042a14d2.tar.xz
Disable `m.3pid_changes` capability when MSC3861 is enabled. (#16134)
Diffstat (limited to 'synapse/config/registration.py')
-rw-r--r--synapse/config/registration.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/synapse/config/registration.py b/synapse/config/registration.py
index df1d83dfaa..b8ad6fbc06 100644
--- a/synapse/config/registration.py
+++ b/synapse/config/registration.py
@@ -133,7 +133,16 @@ class RegistrationConfig(Config):
 
         self.enable_set_displayname = config.get("enable_set_displayname", True)
         self.enable_set_avatar_url = config.get("enable_set_avatar_url", True)
-        self.enable_3pid_changes = config.get("enable_3pid_changes", True)
+
+        # The default value of enable_3pid_changes is True, unless msc3861 is enabled.
+        msc3861_enabled = (
+            (config.get("experimental_features") or {})
+            .get("msc3861", {})
+            .get("enabled", False)
+        )
+        self.enable_3pid_changes = config.get(
+            "enable_3pid_changes", not msc3861_enabled
+        )
 
         self.disable_msisdn_registration = config.get(
             "disable_msisdn_registration", False