diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2021-12-20 14:14:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-20 14:14:38 -0500 |
commit | dd4778875213d9cb8be7ee71d32751fbd6cdaba2 (patch) | |
tree | bc638f5df3a1e60a5cb2b15b8177810c2f49d700 /synapse/rest | |
parent | Improve opentracing support for `ResponseCache` (#11607) (diff) | |
download | synapse-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.py | 12 | ||||
-rw-r--r-- | synapse/rest/client/relations.py | 4 | ||||
-rw-r--r-- | synapse/rest/client/room.py | 10 |
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 |