From cd38c0538187fed024bd2b69ed5583226eb982e3 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Wed, 3 Nov 2021 13:01:22 -0400 Subject: [PATCH] Use the experimental configuration flag. --- synapse/api/filtering.py | 17 +++++++++++++---- tests/rest/client/test_rooms.py | 5 +++++ tests/storage/test_stream.py | 5 +++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/synapse/api/filtering.py b/synapse/api/filtering.py index abf9b1ec24ec..13dd6ce248e1 100644 --- a/synapse/api/filtering.py +++ b/synapse/api/filtering.py @@ -317,10 +317,19 @@ def __init__(self, hs: "HomeServer", filter_json: JsonDict): self.labels = filter_json.get("org.matrix.labels", None) self.not_labels = filter_json.get("org.matrix.not_labels", []) - self.relation_senders = self.filter_json.get( - "io.element.relation_senders", None - ) - self.relation_types = self.filter_json.get("io.element.relation_types", None) + # Ideally these would be rejected at the endpoint if they were provided + # and not supported, but that would involve modifying the JSON schema + # based on the homeserver configuration. + if hs.config.experimental.msc3440_enabled: + self.relation_senders = self.filter_json.get( + "io.element.relation_senders", None + ) + self.relation_types = self.filter_json.get( + "io.element.relation_types", None + ) + else: + self.relation_senders = None + self.relation_types = None def filters_all_types(self) -> bool: return "*" in self.not_types diff --git a/tests/rest/client/test_rooms.py b/tests/rest/client/test_rooms.py index b68119ff478a..10a4a4dc5ecc 100644 --- a/tests/rest/client/test_rooms.py +++ b/tests/rest/client/test_rooms.py @@ -2169,6 +2169,11 @@ class RelationsTestCase(unittest.HomeserverTestCase): login.register_servlets, ] + def default_config(self): + config = super().default_config() + config["experimental_features"] = {"msc3440_enabled": True} + return config + def prepare(self, reactor, clock, homeserver): self.user_id = self.register_user("test", "test") self.tok = self.login("test", "test") diff --git a/tests/storage/test_stream.py b/tests/storage/test_stream.py index dd2746219a44..ce782c7e1d4d 100644 --- a/tests/storage/test_stream.py +++ b/tests/storage/test_stream.py @@ -38,6 +38,11 @@ class PaginationTestCase(HomeserverTestCase): login.register_servlets, ] + def default_config(self): + config = super().default_config() + config["experimental_features"] = {"msc3440_enabled": True} + return config + def prepare(self, reactor, clock, homeserver): self.user_id = self.register_user("test", "test") self.tok = self.login("test", "test")