mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-15 21:03:51 +01:00
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
This commit is contained in:
parent
80cc82a445
commit
ad8b909ce9
3 changed files with 24 additions and 7 deletions
1
changelog.d/5613.feature
Normal file
1
changelog.d/5613.feature
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add `sender` and `origin_server_ts` fields to `m.replace`.
|
|
@ -392,7 +392,11 @@ class EventClientSerializer(object):
|
||||||
serialized_event["content"].pop("m.relates_to", None)
|
serialized_event["content"].pop("m.relates_to", None)
|
||||||
|
|
||||||
r = serialized_event["unsigned"].setdefault("m.relations", {})
|
r = serialized_event["unsigned"].setdefault("m.relations", {})
|
||||||
r[RelationTypes.REPLACE] = {"event_id": edit.event_id}
|
r[RelationTypes.REPLACE] = {
|
||||||
|
"event_id": edit.event_id,
|
||||||
|
"origin_server_ts": edit.origin_server_ts,
|
||||||
|
"sender": edit.sender,
|
||||||
|
}
|
||||||
|
|
||||||
defer.returnValue(serialized_event)
|
defer.returnValue(serialized_event)
|
||||||
|
|
||||||
|
|
|
@ -466,9 +466,15 @@ class RelationsTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
self.assertEquals(channel.json_body["content"], new_body)
|
self.assertEquals(channel.json_body["content"], new_body)
|
||||||
|
|
||||||
self.assertEquals(
|
relations_dict = channel.json_body["unsigned"].get("m.relations")
|
||||||
channel.json_body["unsigned"].get("m.relations"),
|
self.assertIn(RelationTypes.REPLACE, relations_dict)
|
||||||
{RelationTypes.REPLACE: {"event_id": edit_event_id}},
|
|
||||||
|
m_replace_dict = relations_dict[RelationTypes.REPLACE]
|
||||||
|
for key in ["event_id", "sender", "origin_server_ts"]:
|
||||||
|
self.assertIn(key, m_replace_dict)
|
||||||
|
|
||||||
|
self.assert_dict(
|
||||||
|
{"event_id": edit_event_id, "sender": self.user_id}, m_replace_dict
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_multi_edit(self):
|
def test_multi_edit(self):
|
||||||
|
@ -518,9 +524,15 @@ class RelationsTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
self.assertEquals(channel.json_body["content"], new_body)
|
self.assertEquals(channel.json_body["content"], new_body)
|
||||||
|
|
||||||
self.assertEquals(
|
relations_dict = channel.json_body["unsigned"].get("m.relations")
|
||||||
channel.json_body["unsigned"].get("m.relations"),
|
self.assertIn(RelationTypes.REPLACE, relations_dict)
|
||||||
{RelationTypes.REPLACE: {"event_id": edit_event_id}},
|
|
||||||
|
m_replace_dict = relations_dict[RelationTypes.REPLACE]
|
||||||
|
for key in ["event_id", "sender", "origin_server_ts"]:
|
||||||
|
self.assertIn(key, m_replace_dict)
|
||||||
|
|
||||||
|
self.assert_dict(
|
||||||
|
{"event_id": edit_event_id, "sender": self.user_id}, m_replace_dict
|
||||||
)
|
)
|
||||||
|
|
||||||
def _send_relation(
|
def _send_relation(
|
||||||
|
|
Loading…
Reference in a new issue