Remove experimental configuration flag for MSC3666. (#12436)

code_spécifique_watcha
Patrick Cloke 3 years ago committed by GitHub
parent 4586119f0b
commit ab3165efb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      changelog.d/12436.feature
  2. 2
      synapse/config/experimental.py
  3. 30
      synapse/handlers/search.py

@ -0,0 +1,2 @@
Include bundled aggregations in search results
([MSC3666](https://github.com/matrix-org/matrix-spec-proposals/pull/3666)).

@ -28,8 +28,6 @@ class ExperimentalConfig(Config):
# 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)

@ -59,8 +59,6 @@ class SearchHandler:
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 @@ class SearchHandler:
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.

Loading…
Cancel
Save