docs-matrix-spec/content/rooms/v2.md
Travis Ralston f14e18131b
Specify room version 10: knock_restricted and int power levels (#1099)
* Clarification on historical power level handling

* Revert "Clarification on historical power level handling"

This reverts commit f443b3d5a9afac3095b14a72ec471ba06f4cc78b.

* Clean up

* Let us try this again not using VS Code

* Markdown is full of mysteries

* Move stringy power levels to room versions

* Describe range

* Fix minor issues with previous room version stuff

* Copy/paste v9 into v10

* Describe deprecated formatting

* Paste unmodified auth rules from v8 into v10

* Move 9.1 to 9.3, add 9.1 and 9.2 for integer enforcement

* Add knock_restricted to v10 auth

* Misc cleanup and clarification for fragments

* Describe `knock_restricted` client changes

* Changelogs

* spelling

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply code review suggestions manually

* Fix v9 redactions

* Fix auth rules clarity issues

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Remove false integer requirements

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-06-08 15:22:47 -06:00

1.5 KiB

title type weight
Room Version 2 docs 20

This room version builds on version 1 with an improved state resolution algorithm.

Client considerations

There are no client considerations introduced in this room version. Clients which implement the redaction algorithm locally should refer to the redactions section below for a full overview of the algorithm.

Server implementation components

{{% boxes/warning %}} The information contained in this section is strictly for server implementors. Applications which use the Client-Server API are generally unaffected by the details contained here, and can safely ignore their presence. {{% /boxes/warning %}}

Room version 2 uses the base components of room version 1, changing only the state resolution algorithm.

State resolution

{{% added-in this=true %}}

{{% rver-fragment name="v2-state-res" %}}

Unchanged from v1

The following sections have not been modified since v1, but are included for completeness.

Redactions

{{% rver-fragment name="v1-redactions" %}}

Event format

Events in rooms of this version have the following structure:

{{% definition path="api/server-server/definitions/pdu" %}}

Deprecated event content schemas

{{% rver-fragment name="v1-deprecated-formatting-off-spec" %}}

{{% rver-fragment name="v1-stringy-power-levels" %}}

Authorization rules

{{% rver-fragment name="v1-auth-rules" %}}

Canonical JSON

{{% rver-fragment name="v1-canonical-json" %}}