Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit ad8b909

Browse files
Add origin_server_ts and sender fields to m.replace (#5613)
Riot team would like some extra fields as part of m.replace, so here you go. Fixes: #5598
1 parent 80cc82a commit ad8b909

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

changelog.d/5613.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add `sender` and `origin_server_ts` fields to `m.replace`.

synapse/events/utils.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,11 @@ def serialize_event(self, event, time_now, bundle_aggregations=True, **kwargs):
392392
serialized_event["content"].pop("m.relates_to", None)
393393

394394
r = serialized_event["unsigned"].setdefault("m.relations", {})
395-
r[RelationTypes.REPLACE] = {"event_id": edit.event_id}
395+
r[RelationTypes.REPLACE] = {
396+
"event_id": edit.event_id,
397+
"origin_server_ts": edit.origin_server_ts,
398+
"sender": edit.sender,
399+
}
396400

397401
defer.returnValue(serialized_event)
398402

tests/rest/client/v2_alpha/test_relations.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -466,9 +466,15 @@ def test_edit(self):
466466

467467
self.assertEquals(channel.json_body["content"], new_body)
468468

469-
self.assertEquals(
470-
channel.json_body["unsigned"].get("m.relations"),
471-
{RelationTypes.REPLACE: {"event_id": edit_event_id}},
469+
relations_dict = channel.json_body["unsigned"].get("m.relations")
470+
self.assertIn(RelationTypes.REPLACE, relations_dict)
471+
472+
m_replace_dict = relations_dict[RelationTypes.REPLACE]
473+
for key in ["event_id", "sender", "origin_server_ts"]:
474+
self.assertIn(key, m_replace_dict)
475+
476+
self.assert_dict(
477+
{"event_id": edit_event_id, "sender": self.user_id}, m_replace_dict
472478
)
473479

474480
def test_multi_edit(self):
@@ -518,9 +524,15 @@ def test_multi_edit(self):
518524

519525
self.assertEquals(channel.json_body["content"], new_body)
520526

521-
self.assertEquals(
522-
channel.json_body["unsigned"].get("m.relations"),
523-
{RelationTypes.REPLACE: {"event_id": edit_event_id}},
527+
relations_dict = channel.json_body["unsigned"].get("m.relations")
528+
self.assertIn(RelationTypes.REPLACE, relations_dict)
529+
530+
m_replace_dict = relations_dict[RelationTypes.REPLACE]
531+
for key in ["event_id", "sender", "origin_server_ts"]:
532+
self.assertIn(key, m_replace_dict)
533+
534+
self.assert_dict(
535+
{"event_id": edit_event_id, "sender": self.user_id}, m_replace_dict
524536
)
525537

526538
def _send_relation(

0 commit comments

Comments
 (0)