summary refs log tree commit diff
path: root/synapse/config/server.py
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2020-08-10 11:48:01 +0100
committerGitHub <noreply@github.com>2020-08-10 11:48:01 +0100
commitcdbb8e6d6e36e0b6bc36e676d8fe66c96986b399 (patch)
tree107cf5525dc4dffda31be025ea138485aed68073 /synapse/config/server.py
parentConvert directory, e2e_room_keys, end_to_end_keys, monthly_active_users datab... (diff)
parentTypo (diff)
downloadsynapse-cdbb8e6d6e36e0b6bc36e676d8fe66c96986b399.tar.xz
Implement new experimental push rules (#7997)
With an undocumented configuration setting to enable them for specific users.
Diffstat (limited to 'synapse/config/server.py')
-rw-r--r--synapse/config/server.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/synapse/config/server.py b/synapse/config/server.py
index 848587d232..9f15ed109e 100644
--- a/synapse/config/server.py
+++ b/synapse/config/server.py
@@ -530,6 +530,21 @@ class ServerConfig(Config):
             "request_token_inhibit_3pid_errors", False,
         )
 
+        # List of users trialing the new experimental default push rules. This setting is
+        # not included in the sample configuration file on purpose as it's a temporary
+        # hack, so that some users can trial the new defaults without impacting every
+        # user on the homeserver.
+        users_new_default_push_rules = (
+            config.get("users_new_default_push_rules") or []
+        )  # type: list
+        if not isinstance(users_new_default_push_rules, list):
+            raise ConfigError("'users_new_default_push_rules' must be a list")
+
+        # Turn the list into a set to improve lookup speed.
+        self.users_new_default_push_rules = set(
+            users_new_default_push_rules
+        )  # type: set
+
     def has_tls_listener(self) -> bool:
         return any(listener.tls for listener in self.listeners)