Skip to content

Commit 08b3b62

Browse files
turt2liverichvdh
andauthored
MSC3821: Update the redaction rules, again (#3821)
* Start an MSC2176 2.0 * Remove scary warning about unstable implementation * Update spec links * Apply suggestions from code review Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> * Rewrite words into order that sense make * Update intro & unstable prefix history --------- Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
1 parent bab39e2 commit 08b3b62

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# MSC3821: Update redaction rules, again
2+
3+
[MSC2176](https://github.com/matrix-org/matrix-spec-proposals/pull/2176) aimed to fix inconsistencies
4+
with the [redaction algorithm](https://spec.matrix.org/v1.6/rooms/v10/#redactions) where server-side
5+
event auth required properties to exist that were being removed. While MSC2176 fixed a number of cases,
6+
one was unfortunately missed.
7+
8+
This MSC aims to fix that missing case, originally identified long ago by [synapse#1831](https://github.com/matrix-org/synapse/issues/1831).
9+
10+
## Proposal
11+
12+
*Note*: It is recommended to read [MSC2176](https://github.com/matrix-org/matrix-spec-proposals/pull/2176)
13+
before this proposal as MSC2176 contains a lot of backing context.
14+
15+
In a future room version, the following changes are made to the [redaction algorithm](https://spec.matrix.org/v1.6/rooms/v10/#redactions).
16+
Note that this requires a new room version because changing the redaction algorithm changes how
17+
[event IDs](https://spec.matrix.org/v1.6/rooms/v10/#event-ids) are calculated, as they are
18+
[reference hashes](https://spec.matrix.org/v1.6/server-server-api/#calculating-the-reference-hash-for-an-event)
19+
which redact the event during calculation.
20+
21+
* [`m.room.member`](https://spec.matrix.org/v1.6/client-server-api/#mroommember) events preserve a portion
22+
of `third_party_invite` under `content`, if present. Those properties being:
23+
24+
* `signed`: the block is required for the server to validate the event, however excess adjacent properties
25+
such as `display_name` are not important.
26+
27+
Clients should note that because `display_name` is *not* preserved during redaction they might need to change
28+
how that event is rendered/presented to users. For example, when rendering such a redacted event the client
29+
might show it as "Bob accepted a third party invite".
30+
31+
## Unstable prefix
32+
33+
Implementations looking to test these changes before adopted into a stable room version should use
34+
`org.matrix.msc3821.opt1` as the room version, using **v9** as a base and treating it as unstable.
35+
36+
**History**: This MSC was originally written before room version 10 existed. Implementations wishing to use
37+
v10 as a base instead of v9 should use `org.matrix.msc3821.opt1.v10` as the room version instead.

0 commit comments

Comments
 (0)