mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-08-03 10:46:09 -04:00
Edits/annotations should not have any bundled aggregations calculated. (#12633)
Fixes a regression from8b309adb43
(#11660) andb65acead42
(#11752) where events which themselves were an edit or an annotation could have bundled aggregations calculated, which is not allowed.
This commit is contained in:
parent
ddc8bba00f
commit
f90d381c7b
3 changed files with 50 additions and 20 deletions
|
@ -620,6 +620,19 @@ class RelationsTestCase(BaseRelationsTestCase):
|
|||
{"event_id": edit_event_id, "sender": self.user_id}, m_replace_dict
|
||||
)
|
||||
|
||||
# Directly requesting the edit should not have the edit to the edit applied.
|
||||
channel = self.make_request(
|
||||
"GET",
|
||||
f"/rooms/{self.room}/event/{edit_event_id}",
|
||||
access_token=self.user_token,
|
||||
)
|
||||
self.assertEqual(200, channel.code, channel.json_body)
|
||||
self.assertEqual("Wibble", channel.json_body["content"]["body"])
|
||||
self.assertIn("m.new_content", channel.json_body["content"])
|
||||
|
||||
# The relations information should not include the edit to the edit.
|
||||
self.assertNotIn("m.relations", channel.json_body["unsigned"])
|
||||
|
||||
def test_unknown_relations(self) -> None:
|
||||
"""Unknown relations should be accepted."""
|
||||
channel = self._send_relation("m.relation.test", "m.room.test")
|
||||
|
@ -984,6 +997,24 @@ class BundledAggregationsTestCase(BaseRelationsTestCase):
|
|||
|
||||
self._test_bundled_aggregations(RelationTypes.ANNOTATION, assert_annotations, 7)
|
||||
|
||||
def test_annotation_to_annotation(self) -> None:
|
||||
"""Any relation to an annotation should be ignored."""
|
||||
channel = self._send_relation(RelationTypes.ANNOTATION, "m.reaction", "a")
|
||||
event_id = channel.json_body["event_id"]
|
||||
self._send_relation(
|
||||
RelationTypes.ANNOTATION, "m.reaction", "b", parent_id=event_id
|
||||
)
|
||||
|
||||
# Fetch the initial annotation event to see if it has bundled aggregations.
|
||||
channel = self.make_request(
|
||||
"GET",
|
||||
f"/_matrix/client/v3/rooms/{self.room}/event/{event_id}",
|
||||
access_token=self.user_token,
|
||||
)
|
||||
self.assertEquals(200, channel.code, channel.json_body)
|
||||
# The first annotationt should not have any bundled aggregations.
|
||||
self.assertNotIn("m.relations", channel.json_body["unsigned"])
|
||||
|
||||
def test_reference(self) -> None:
|
||||
"""
|
||||
Test that references get correctly bundled.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue