diff options
author | Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | 2019-07-10 14:43:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-10 14:43:11 +0100 |
commit | f28171458342c474e7a091fff022972afb366169 (patch) | |
tree | c21a1b18e30c7e116c60301f4152adad2446eb3a /synapse/rest | |
parent | Add a linting script (#5627) (diff) | |
download | synapse-f28171458342c474e7a091fff022972afb366169.tar.xz |
Don't bundle aggregations when retrieving the original event (#5654)
A fix for PR #5626, which returned the original event content as part of a call to /relations. Only problem was that we were attempting to aggregate the relations on top of it when we did so. We now set bundle_aggregations to False in the get_event call. We also do this when pulling the relation events as well, because edits of edits are not something we'd like to support here.
Diffstat (limited to 'synapse/rest')
-rw-r--r-- | synapse/rest/client/v2_alpha/relations.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/synapse/rest/client/v2_alpha/relations.py b/synapse/rest/client/v2_alpha/relations.py index 458afd135f..7ce485b471 100644 --- a/synapse/rest/client/v2_alpha/relations.py +++ b/synapse/rest/client/v2_alpha/relations.py @@ -173,8 +173,18 @@ class RelationPaginationServlet(RestServlet): ) now = self.clock.time_msec() - original_event = yield self._event_serializer.serialize_event(event, now) - events = yield self._event_serializer.serialize_events(events, now) + # We set bundle_aggregations to False when retrieving the original + # event because we want the content before relations were applied to + # it. + original_event = yield self._event_serializer.serialize_event( + event, now, bundle_aggregations=False + ) + # Similarly, we don't allow relations to be applied to relations, so we + # return the original relations without any aggregations on top of them + # here. + events = yield self._event_serializer.serialize_events( + events, now, bundle_aggregations=False + ) return_value = result.to_dict() return_value["chunk"] = events |