MSC3375: Room version 9. (#3375)

* Room version 9.

* Fix text which was swapped.

* Update stability.
This commit is contained in:
Patrick Cloke 2021-09-03 10:14:58 -04:00 committed by GitHub
parent d2cb13cc8c
commit fa479afa97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

26
proposals/3375-room-v9.md Normal file
View file

@ -0,0 +1,26 @@
# MSC3375: Room Version 9
A new room version, `9`, is proposed using [room version 8](https://spec.matrix.org/unstable/rooms/v8/)
as a base and incorporating the following:
The redaction rules for room version 9 are updated, such that `m.room.member`
events allow the `join_authorised_via_users_server` key in addition to the
`membership` key.
Though other MSCs are capable of being included in this version, they do not have
sufficient implementation to be considered for this room version. A future room
version may include them.
Room version `9` upon being added to the specification shall be considered stable.
No other room versions are affected by this MSC.
## Background
Protecting this key from redaction was missing in [MSC3083](https://github.com/matrix-org/matrix-doc/blob/main/proposals/3083-restricted-rooms.md).
By redacting it, new servers which join a room are unable to properly authorise
`m.room.member` events which include the `join_authorised_via_users_server` key
and have been redacted. This can cause a split-brained room where some servers
believe a member is joined and other servers do not see the member in the room.
Note that a new room version is necessary since this will change that event ID
calculation of the `m.room.member` event (and thus is not backwards compatible).