From ab3165efb77e670da807977f0cb227217649aa44 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Mon, 11 Apr 2022 15:37:46 -0400 Subject: [PATCH] Remove experimental configuration flag for MSC3666. (#12436) --- changelog.d/12436.feature | 2 ++ synapse/config/experimental.py | 2 -- synapse/handlers/search.py | 30 +++++++++++++----------------- 3 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 changelog.d/12436.feature diff --git a/changelog.d/12436.feature b/changelog.d/12436.feature new file mode 100644 index 000000000000..883ac1557474 --- /dev/null +++ b/changelog.d/12436.feature @@ -0,0 +1,2 @@ +Include bundled aggregations in search results +([MSC3666](https://github.com/matrix-org/matrix-spec-proposals/pull/3666)). diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py index 0dd4c5958111..447476fbfac5 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -28,8 +28,6 @@ def read_config(self, config: JsonDict, **kwargs: Any) -> None: # MSC3440 (thread relation) self.msc3440_enabled: bool = experimental.get("msc3440_enabled", False) - # MSC3666: including bundled relations in /search. - self.msc3666_enabled: bool = experimental.get("msc3666_enabled", False) # MSC3026 (busy presence state) self.msc3026_enabled: bool = experimental.get("msc3026_enabled", False) diff --git a/synapse/handlers/search.py b/synapse/handlers/search.py index 30eddda65fc2..102dd4b57dea 100644 --- a/synapse/handlers/search.py +++ b/synapse/handlers/search.py @@ -59,8 +59,6 @@ def __init__(self, hs: "HomeServer"): self.state_store = self.storage.state self.auth = hs.get_auth() - self._msc3666_enabled = hs.config.experimental.msc3666_enabled - async def get_old_rooms_from_upgraded_room(self, room_id: str) -> Iterable[str]: """Retrieves room IDs of old rooms in the history of an upgraded room. @@ -353,22 +351,20 @@ async def _search( state = await self.state_handler.get_current_state(room_id) state_results[room_id] = list(state.values()) - aggregations = None - if self._msc3666_enabled: - aggregations = await self._relations_handler.get_bundled_aggregations( - # Generate an iterable of EventBase for all the events that will be - # returned, including contextual events. - itertools.chain( - # The events_before and events_after for each context. - itertools.chain.from_iterable( - itertools.chain(context["events_before"], context["events_after"]) # type: ignore[arg-type] - for context in contexts.values() - ), - # The returned events. - search_result.allowed_events, + aggregations = await self._relations_handler.get_bundled_aggregations( + # Generate an iterable of EventBase for all the events that will be + # returned, including contextual events. + itertools.chain( + # The events_before and events_after for each context. + itertools.chain.from_iterable( + itertools.chain(context["events_before"], context["events_after"]) # type: ignore[arg-type] + for context in contexts.values() ), - user.to_string(), - ) + # The returned events. + search_result.allowed_events, + ), + user.to_string(), + ) # We're now about to serialize the events. We should not make any # blocking calls after this. Otherwise, the 'age' will be wrong.