docs-matrix-spec/content/rooms/fragments/v1-stringy-power-levels.md
Richard van der Hoff b07fe504ed
Stop rendering CS modules and room version fragments as standalone pages (#1317)
This is actually doing two things:

 * creating `{fragments,modules}/index.md` turns the fragments and modules into
   page resources, rather than pages in their own right. We have to update the
   shortcodes to match.

 * adding `headless: true` means that we don't render the pages.

The net effect is that we don't render pages like
https://spec.matrix.org/v1.4/rooms/fragments/v1-auth-rules/ and
https://spec.matrix.org/v1.4/client-server-api/modules/account_data/.
2022-11-08 17:27:44 +00:00

1.3 KiB

m.room.power_levels events accept values as strings

In order to maintain backwards compatibility with early implementations, each of the integer-valued properties within m.room.power_levels events can be encoded as strings instead of integers. This includes the nested values within the events, notifications and users properties. For example, the following is a valid m.room.power_levels event in this room version:

{
  "content": {
    "ban": "50",
    "events": {
      "m.room.power_levels": "100"
    },
    "events_default": "0",
    "state_default": "50",
    "users": {
      "@example:localhost": "100"
    },
    "users_default": "0"
  },
  "origin_server_ts": 1432735824653,
  "room_id": "!jEsUZKDJdhlrceRyVU:example.org",
  "sender": "@example:example.org",
  "state_key": "",
  "type": "m.room.power_levels"
}

When the value is representative of an integer, they must be the following format:

  • a single base 10 integer, no float values or decimal points, optionally with any number of leading zeroes ("100", "000100");
  • optionally prefixed with a single - or + character before the integer ("+100", "-100").
  • optionally with any number of leading or trailing whitespace characters (" 100 ", " 00100 ", " +100 ", " -100 ");