From 4a90545e3da7084415710e08aeb676c9191af1cb Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 31 Mar 2023 09:14:08 +0100 Subject: [PATCH 1/4] Revert "Mention that `state_default` can be zero by default. (#1478)" This reverts commit 7670a74116c5933dd18a90cca0a4be38d7a82b29. --- changelogs/client_server/newsfragments/1478.clarification | 1 - data/event-schemas/schema/m.room.power_levels.yaml | 3 --- 2 files changed, 4 deletions(-) delete mode 100644 changelogs/client_server/newsfragments/1478.clarification diff --git a/changelogs/client_server/newsfragments/1478.clarification b/changelogs/client_server/newsfragments/1478.clarification deleted file mode 100644 index df90d2789..000000000 --- a/changelogs/client_server/newsfragments/1478.clarification +++ /dev/null @@ -1 +0,0 @@ -Further clarify that `state_default` on `m.room.power_levels` is 0 when no power levels event is in the room. \ No newline at end of file diff --git a/data/event-schemas/schema/m.room.power_levels.yaml b/data/event-schemas/schema/m.room.power_levels.yaml index c3ea94aac..a24b2e446 100644 --- a/data/event-schemas/schema/m.room.power_levels.yaml +++ b/data/event-schemas/schema/m.room.power_levels.yaml @@ -75,9 +75,6 @@ properties: description: |- The default level required to send state events. Can be overridden by the `events` key. Defaults to 50 if unspecified. - - **Note**: When there is no `m.room.power_levels` event in the room, this defaults - to 0. See description for more information. type: integer users: additionalProperties: From a31427f4edf3588dcbf3a33e9b4f90dd3350faed Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 31 Mar 2023 09:21:30 +0100 Subject: [PATCH 2/4] Clarify that `state_default` is *not* zero by default --- changelogs/client_server/1479.clarification | 1 + .../schema/m.room.power_levels.yaml | 18 ++++-------------- 2 files changed, 5 insertions(+), 14 deletions(-) create mode 100644 changelogs/client_server/1479.clarification diff --git a/changelogs/client_server/1479.clarification b/changelogs/client_server/1479.clarification new file mode 100644 index 000000000..f1c4b1786 --- /dev/null +++ b/changelogs/client_server/1479.clarification @@ -0,0 +1 @@ +Remove outdated text saying that `state_default` is 0 if there is no `m.room.power_levels` event in a room. diff --git a/data/event-schemas/schema/m.room.power_levels.yaml b/data/event-schemas/schema/m.room.power_levels.yaml index a24b2e446..7c778c558 100644 --- a/data/event-schemas/schema/m.room.power_levels.yaml +++ b/data/event-schemas/schema/m.room.power_levels.yaml @@ -18,11 +18,10 @@ description: |- `events_default` for Message Events and `state_default` for State Events. - If there is no `state_default` in the `m.room.power_levels` event, the - `state_default` is 50. If there is no `events_default` in the - `m.room.power_levels` event, the `events_default` is 0. If the room - contains no `m.room.power_levels` event, *both* the `state_default` and - `events_default` are 0. + If there is no `state_default` in the `m.room.power_levels` event, or + there is no `m.room.power_levels` event, the `state_default` is 50. + If there is no `events_default` in the `m.room.power_levels` event, + or there is no `m.room.power_levels` event, the `events_default` is 0. The power level required to invite a user to the room, kick a user from the room, ban a user from the room, or redact an event sent by another user, is @@ -33,15 +32,6 @@ description: |- **Note:** - As noted above, in the absence of an `m.room.power_levels` event, the - `state_default` is 0, and all users are considered to have power level 0. - That means that **any** member of the room can send an - `m.room.power_levels` event, changing the permissions in the room. - - Server implementations should therefore ensure that each room has an - `m.room.power_levels` event as soon as it is created. See also the - documentation of the `/createRoom` API. - The allowed range for power level values is `[-(2**53)+1, (2**53)-1]`, as required by the [Canonical JSON specification](/appendices/#canonical-json). From 1fc7d5b8d2df8fa4c74ee2528b62842a4fcfbc63 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 31 Mar 2023 10:03:10 +0100 Subject: [PATCH 3/4] Fix changelog --- changelogs/client_server/{ => newsfragments}/1479.clarification | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelogs/client_server/{ => newsfragments}/1479.clarification (100%) diff --git a/changelogs/client_server/1479.clarification b/changelogs/client_server/newsfragments/1479.clarification similarity index 100% rename from changelogs/client_server/1479.clarification rename to changelogs/client_server/newsfragments/1479.clarification From fa7b6417d94fb1a19df291f260510c8a9261e3ed Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Mon, 3 Apr 2023 11:17:15 +0100 Subject: [PATCH 4/4] clarifications for `users_default` --- data/event-schemas/schema/m.room.power_levels.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/data/event-schemas/schema/m.room.power_levels.yaml b/data/event-schemas/schema/m.room.power_levels.yaml index 7c778c558..f5f15fab4 100644 --- a/data/event-schemas/schema/m.room.power_levels.yaml +++ b/data/event-schemas/schema/m.room.power_levels.yaml @@ -74,9 +74,11 @@ properties: type: object users_default: description: |- - The default power level for every user in the room, unless their - `user_id` is mentioned in the `users` key. Defaults to 0 if + The power level for users in the room whose `user_id` is not mentioned in the `users` key. Defaults to 0 if unspecified. + + **Note**: When there is no `m.room.power_levels` event in the room, the room creator has + a power level of 100, and all other users have a power level of 0. type: integer notifications: properties: