2 files changed, 9 insertions, 1 deletions
diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py
index 0444ef8244..89586db763 100644
--- a/synapse/config/experimental.py
+++ b/synapse/config/experimental.py
@@ -146,6 +146,13 @@ class ExperimentalConfig(Config):
"required to communicate account data deletions to clients."
)
+ # MSC3381: Polls.
+ # In practice, supporting polls in Synapse only requires an implementation of
+ # MSC3930: Push rules for MSC3391 polls; which is what this option enables.
+ self.msc3381_polls_enabled: bool = experimental.get(
+ "msc3381_polls_enabled", False
+ )
+
# MSC3912: Relation-based redactions.
self.msc3912_enabled: bool = experimental.get("msc3912_enabled", False)
diff --git a/synapse/storage/databases/main/push_rule.py b/synapse/storage/databases/main/push_rule.py
index d4e4b777da..03182887d1 100644
--- a/synapse/storage/databases/main/push_rule.py
+++ b/synapse/storage/databases/main/push_rule.py
@@ -86,8 +86,9 @@ def _load_rules(
filtered_rules = FilteredPushRules(
push_rules,
enabled_map,
- msc3664_enabled=experimental_config.msc3664_enabled,
msc1767_enabled=experimental_config.msc1767_enabled,
+ msc3664_enabled=experimental_config.msc3664_enabled,
+ msc3381_polls_enabled=experimental_config.msc3381_polls_enabled,
)
return filtered_rules
|