summary refs log tree commit diff
path: root/synapse/rest
diff options
context:
space:
mode:
authorPatrick Cloke <clokep@users.noreply.github.com>2021-12-20 14:14:38 -0500
committerGitHub <noreply@github.com>2021-12-20 14:14:38 -0500
commitdd4778875213d9cb8be7ee71d32751fbd6cdaba2 (patch)
treebc638f5df3a1e60a5cb2b15b8177810c2f49d700 /synapse/rest
parentImprove opentracing support for `ResponseCache` (#11607) (diff)
downloadsynapse-dd4778875213d9cb8be7ee71d32751fbd6cdaba2.tar.xz
Do not bundle aggregations for APIs which shouldn't include them. (#11592)
And make bundling aggregations opt-in, instead of opt-out to avoid
having APIs to include extraneous data (and being much heavier than
necessary).
Diffstat (limited to 'synapse/rest')
-rw-r--r--synapse/rest/admin/rooms.py12
-rw-r--r--synapse/rest/client/relations.py4
-rw-r--r--synapse/rest/client/room.py10
3 files changed, 18 insertions, 8 deletions
diff --git a/synapse/rest/admin/rooms.py b/synapse/rest/admin/rooms.py

index 17c6df1cc8..6030373ebc 100644 --- a/synapse/rest/admin/rooms.py +++ b/synapse/rest/admin/rooms.py
@@ -745,13 +745,19 @@ class RoomEventContextServlet(RestServlet): time_now = self.clock.time_msec() results["events_before"] = await self._event_serializer.serialize_events( - results["events_before"], time_now + results["events_before"], + time_now, + bundle_aggregations=True, ) results["event"] = await self._event_serializer.serialize_event( - results["event"], time_now + results["event"], + time_now, + bundle_aggregations=True, ) results["events_after"] = await self._event_serializer.serialize_events( - results["events_after"], time_now + results["events_after"], + time_now, + bundle_aggregations=True, ) results["state"] = await self._event_serializer.serialize_events( results["state"], time_now diff --git a/synapse/rest/client/relations.py b/synapse/rest/client/relations.py
index ffa37ef06c..5815650ee6 100644 --- a/synapse/rest/client/relations.py +++ b/synapse/rest/client/relations.py
@@ -232,7 +232,9 @@ class RelationPaginationServlet(RestServlet): ) # The relations returned for the requested event do include their # bundled aggregations. - serialized_events = await self._event_serializer.serialize_events(events, now) + serialized_events = await self._event_serializer.serialize_events( + events, now, bundle_aggregations=True + ) return_value = pagination_chunk.to_dict() return_value["chunk"] = serialized_events diff --git a/synapse/rest/client/room.py b/synapse/rest/client/room.py
index 60719331b6..40330749e5 100644 --- a/synapse/rest/client/room.py +++ b/synapse/rest/client/room.py
@@ -662,7 +662,9 @@ class RoomEventServlet(RestServlet): time_now = self.clock.time_msec() if event: - event_dict = await self._event_serializer.serialize_event(event, time_now) + event_dict = await self._event_serializer.serialize_event( + event, time_now, bundle_aggregations=True + ) return 200, event_dict raise SynapseError(404, "Event not found.", errcode=Codes.NOT_FOUND) @@ -707,13 +709,13 @@ class RoomEventContextServlet(RestServlet): time_now = self.clock.time_msec() results["events_before"] = await self._event_serializer.serialize_events( - results["events_before"], time_now + results["events_before"], time_now, bundle_aggregations=True ) results["event"] = await self._event_serializer.serialize_event( - results["event"], time_now + results["event"], time_now, bundle_aggregations=True ) results["events_after"] = await self._event_serializer.serialize_events( - results["events_after"], time_now + results["events_after"], time_now, bundle_aggregations=True ) results["state"] = await self._event_serializer.serialize_events( results["state"], time_now