matrix-org / matrix-org/matrix-spec
Inconsistency of `m.room.power_levels` definition with room verion 12 (MSC4289)
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
**Link to problem area**:
Spec: https://spec.matrix.org/v1.19/client-server-api/#mroompower_levels
MSC: [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/issues/4289)
**Issue**
The definition of `m.room.power_levels` in the Client-Server API contains the following:
> If the room contains no m.room.power_levels event, the room’s creator has a **power level of 100**, and all other users have a power level of 0.
This is not compatible with [room version 12](https://spec.matrix.org/v1.19/rooms/v12/#authorisation-rules) / [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/issues/4289), which specifies room creators to have an **infinite PL**.
**Expected behaviour**
`m.room.power_levels` should not contradict room version 12.
There probably needs to be a distinction between pre-v12 rooms and v12-and-later rooms in place of the current wording.
A more fundamental question would be: Should these definitions of what exactly the default PLs under which circumstances are even be part of the Client-Server API? Wouldn't they be better placed in the Room Version?
Contributor guide
Research direction
Start with the Client-Server API definition of m.room.power_levels and compare its default power-level wording with the room version 12 authorisation rules and MSC4289. Determine how pre-v12 and v12-and-later rooms should be described, and whether the defaults belong in the Client-Server API or room-version documentation. Done means the specification no longer contradicts room version 12 and the chosen scope is documented.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100