From 63aeba784c67dc3f26f008b4c5ee6a2acfc07a85 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 9 Sep 2021 15:17:11 +0200 Subject: [PATCH 1/3] initial draft proposal --- proposals/xxxx-relation-redactions.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 proposals/xxxx-relation-redactions.md diff --git a/proposals/xxxx-relation-redactions.md b/proposals/xxxx-relation-redactions.md new file mode 100644 index 0000000000..e08015fc1f --- /dev/null +++ b/proposals/xxxx-relation-redactions.md @@ -0,0 +1,27 @@ +# MSCXXXX: Redaction changes for events with a relation + +[MSC2674](https://github.com/matrix-org/matrix-doc/pull/2674) defines a +standard shape for indicating events which relate to other events. + +When redacting events relating to other events, some information needs to be +preserved for the best user experience. Given that this will require +a room version change, it was split up into a separate MSC here. + +## Proposal + +Events with a relation may be redacted like any other event. + +The `m.relates_to`.`rel_type` and `m.relates_to`.`event_id` fields should +be preserved over redactions, so that clients can still distinguish +redacted relations from other redacted events of the same event type. +If `m.relates_to` is not an object, or `m._relates_to` would be +an empty object after redacting any other keys, then `m.relates_to` +should also be removed from `content`. + +One example is telling redacted edits (as proposed in +[MSC 2676](https://github.com/matrix-org/matrix-doc/pull/2676)) apart from +from normal redacted messages, and maintain reply ordering. + +This modification to the redaction algorithm requires a new room version. +However, event relationships can still be used in existing room versions, but +the user experience may be worse if redactions are performed. \ No newline at end of file From e8829248b2b18f9ddc7b7e3476c0487e3567bc66 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Thu, 9 Sep 2021 15:18:32 +0200 Subject: [PATCH 2/3] apply MSC number --- ...{xxxx-relation-redactions.md => 3389-relation-redactions.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename proposals/{xxxx-relation-redactions.md => 3389-relation-redactions.md} (95%) diff --git a/proposals/xxxx-relation-redactions.md b/proposals/3389-relation-redactions.md similarity index 95% rename from proposals/xxxx-relation-redactions.md rename to proposals/3389-relation-redactions.md index e08015fc1f..048120a35a 100644 --- a/proposals/xxxx-relation-redactions.md +++ b/proposals/3389-relation-redactions.md @@ -1,4 +1,4 @@ -# MSCXXXX: Redaction changes for events with a relation +# MSC3389: Redaction changes for events with a relation [MSC2674](https://github.com/matrix-org/matrix-doc/pull/2674) defines a standard shape for indicating events which relate to other events. From b06daf0dec9130d5ddba14af9e7ef805c8f6c193 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Wed, 10 May 2023 13:23:20 -0400 Subject: [PATCH 3/3] Fix typo. --- proposals/3389-relation-redactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/3389-relation-redactions.md b/proposals/3389-relation-redactions.md index 048120a35a..94da4845c8 100644 --- a/proposals/3389-relation-redactions.md +++ b/proposals/3389-relation-redactions.md @@ -14,7 +14,7 @@ Events with a relation may be redacted like any other event. The `m.relates_to`.`rel_type` and `m.relates_to`.`event_id` fields should be preserved over redactions, so that clients can still distinguish redacted relations from other redacted events of the same event type. -If `m.relates_to` is not an object, or `m._relates_to` would be +If `m.relates_to` is not an object, or `m.relates_to` would be an empty object after redacting any other keys, then `m.relates_to` should also be removed from `content`.