Commit Graph

45 Commits (ab64bda76dcefcff2fcf4e050427409b9d0068af)

Author SHA1 Message Date
Travis Ralston 5ce774629b
Update specification/rooms/v1.rst 4 years ago
Aaron Raimist bc085fd75d
Remove extra space
Signed-off-by: Aaron Raimist <aaron@raim.ist>
4 years ago
Aaron Raimist 15805761be
Describe what a state reset is
Signed-off-by: Aaron Raimist <aaron@raim.ist>
4 years ago
Aaron Raimist 8005467628
Put back first warning, reword "most popular"
Signed-off-by: Aaron Raimist <aaron@raim.ist>
4 years ago
Aaron Raimist 954099efc6
Improve wording of room version 1 warnings
Signed-off-by: Aaron Raimist <aaron@raim.ist>
4 years ago
Travis Ralston d4c19a0e80
Federation
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
5 years ago
Travis Ralston 66ab480967 Incorporate MSC2540 (Canonical JSON validation)
MSC: https://github.com/matrix-org/matrix-doc/pull/2540
5 years ago
Travis Ralston 74c51b05a4 Incorporate MSC2209 (`notifications` auth rules)
MSC: https://github.com/matrix-org/matrix-doc/pull/2209

The changes are slightly difficult to word without dumping the text in and playing a game of spot the difference, so we now use our pre-existing pygments support to render a representation of the difference. The difference is shown in markdown-like format instead of RST for ease of understanding. It's also not rendered HTML for largely complexity reasons.
5 years ago
Travis Ralston a1324aa9dc Move MSC2432 (alias handling) to v6 5 years ago
Travis Ralston be35311559 s/should/must for redaction algorithm
This feels like it was a mistake some time ago considering the redaction algorithm is used in very strict algorithms like event signing.
5 years ago
Travis Ralston 0300a3cab4 Move redaction algorithm into room version specification
We stick it in a client section of v1 as the earliest version to define the algorithm is v1, and the client-server spec tells clients to use this algorithm.
5 years ago
Hubert Chathi 9e7bcaac9c
Merge pull request #2465 from uhoreg/state_res_clarification
clarify first run of iterative auth checks
5 years ago
Hubert Chathi 2b71234f3c clarify first run of iterative auth checks 5 years ago
Carolin Beer 3aba6e3eeb
Change state_type to event_type
I couldn't find any other reference to a state_type within the entire specification. I assume this is supposed to be the event_type? This aligns with the description of changes resulting from a state update.
5 years ago
Luca Becker f4d6b6c261
Fixed broken indentations 5 years ago
Luca Becker c7a23557d4
Last cosmetic changes
switched back to the use of `.. NOTE::`
5 years ago
Luca Becker d43111cdd2
Incorporated @turt2live suggestions.
Used **Note** to describe notes around the authorisation rules. Otherwise restored the original state for the consequences from the auth rules.
Moved the clarification regarding default power levels up above the auth rules. Removed third sentence. And followed @turt2live's example, but opted for "for users in that room" because the default user power level is applied to all users.
5 years ago
Luca Becker 094005dca1
Incorporated @turt2live suggestions.
Added missing added and removed to the rule, because these keys are not required for m.room.power_levels. Also moved the note down to the Note section.
5 years ago
Luca Becker 8aece4f644
Incorporated @richvdh suggestions 5 years ago
Luca Becker 15994c61a5
Clarification regarding authorisation rules
The rules for m.room.power_levels power were somewhat unclear regarding the behaviour towards the always present keys, such as kick and ban. Additionally, it is now also clarified that in the users and events dictionary also added and removed keys are taken into consideration.
5 years ago
Travis Ralston 8e6ccf0a0e Federation r0.1.2 6 years ago
Travis Ralston 6d60258e25
Merge pull request #2080 from matrix-org/travis/1.0/msc2076-msc2077-v5-rooms
Spec v5 rooms: Key validity
6 years ago
Travis Ralston cf19f52576 Enforce 7 day validity requirement everywhere
also misc formatting fixes
6 years ago
Jamie McClymont d7858354f2 Fix 404s in links from room v1 spec 6 years ago
Travis Ralston a6314df44c Spec v5 rooms: Key validity
Proposals:
* [MSC2076](https://github.com/matrix-org/matrix-doc/pull/2076)
* [MSC2077](https://github.com/matrix-org/matrix-doc/pull/2077)

Implementation references:
* 00bf99fa62
* https://github.com/matrix-org/synapse/pull/5354
* https://github.com/matrix-org/synapse/pull/5321

No known differences from the proposals are included here - alterations are accidental.
6 years ago
Travis Ralston 3b0e194ff7 Add version 4 rooms to the spec
As per [MSC1884](https://github.com/matrix-org/matrix-doc/pull/1884) and [MSC2002](https://github.com/matrix-org/matrix-doc/pull/2002).

No known changes since the proposals were accepted.

Due to being in the area: This fixes https://github.com/matrix-org/matrix-doc/issues/1863
6 years ago
Anatoly Sablin befd76f853 Fix links. 6 years ago
Anatoly Sablin 17420c537a Fix links. 6 years ago
Travis Ralston 3e06473305
Merge pull request #1859 from matrix-org/travis/fix-v2-scope
Change notice about room v2's scope to represent reality
6 years ago
J. Ryan Stinnett 0ed0fee261
Update specification/rooms/v2.rst
Co-Authored-By: turt2live <travpc@gmail.com>
6 years ago
Travis Ralston 772ba8dc2a Add a table of contents to each room version spec
Fixes https://github.com/matrix-org/matrix-doc/issues/1852

We get clickable headers for free by doing this.
6 years ago
Travis Ralston cf11965a8e Change notice about room v2's scope to represent reality
Fixes https://github.com/matrix-org/matrix-doc/issues/1851
6 years ago
Travis Ralston 8bd9ca4edd Prep for r0.1.1 of s2s 6 years ago
Travis Ralston 8ace64bab7 r0.1.0 of the s2s specification 6 years ago
Aaron Raimist fe7f582233
Fix several spelling mistakes
Signed-off-by: Aaron Raimist <aaron@raim.ist>
6 years ago
Travis Ralston a6243da03f Wording changes and links 6 years ago
Travis Ralston 48912a7320 Fix auth rules of redactions in v3 6 years ago
Travis Ralston ad64af3f01 Clarify how reference hashes are done 6 years ago
Travis Ralston 01556e5b17 Clarifications and bug fixes in how v3 rooms work 6 years ago
Travis Ralston ff75996524 Add specification for room version 3: Event IDs as hashes
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1659
Implementation proofs (some traversing of the PR tree may be required to get all of them):
* https://github.com/matrix-org/synapse/pull/4483
* https://github.com/matrix-org/synapse/pull/4499

This doesn't intentionally change anything from the proposal.

**Implementation details**:

The simple part of this is the introduction of a rooms/v3.html document. The somewhat unclear part is the stuff done to the s2s definitions. This pulls `unsigned_pdu` out to `unsigned_pdu_base` (all fields except `event_id`) where it can be reused in `pdu` and `pdu_v3` (for rooms v3). These definitions are further moved into the room version specifications where they can highlight the exact schemas in detail.

Version 1 has been updated to include the pre-existing event format, however the core principles of the room have not been changed. The same applies to room version 2. Room versions have immutable core principles once in the spec, otherwise these format changes would land in a pre-existing version.

The client-server API event formats will need updating, however that is being punted to a different commit to try and keep these changes reviewable.
6 years ago
Travis Ralston 061f59547a Minor wording changes 6 years ago
Hubert Chathi 5cafcd103f
Fix copyright
> Since this is a copy-and-paste of old text, I think the copyright year should match when the original text was written, which according to git was 2017.

Co-Authored-By: turt2live <travpc@gmail.com>
6 years ago
Travis Ralston 71e6321f4d Rework how room versions are represented
Versions are actually on a scale of recommendations, and are expected to be created as needed. The scale presented here (develop/beta/default/recommended/mandatory) is a more wordy version of what was previously discussed/intended for room versions - the labels aren't final and may be changed.
6 years ago
Travis Ralston 258aba5fed Incorporate MSC1693
This is largely blatant copy/paste from the MSC with some formatting done to tidy it up a bit.
6 years ago
Travis Ralston ffe577371d Add a room version specification
The "Room Specification" (or "Room Version Specification") is the specification that defines which room versions do what and are intended to be documents which speak the truth about how rooms operate under the hood.

The approach taken here is a bit different than other specifications. For starters, the specification is versioned in this project instead of relying on the matrix.org repository to track compiled HTML. This is done for a couple reasons, the first being we're still developing the v1 specification while concurrently making a v2 spec and the second being trying to reduce the reliance on matrix.org's repository for specifications.

Because the room spec is built into versions, some changes needed to be made. The `targets.yaml` now has a special syntax for indicating what version something is at, and the changelog generator can handle rendering different versions of the same changelog (as parsed from the RST). Some additional work has been put in to the changelog parsing to allow us to reference the v1 room spec as "v1" without having to sacrifice clarity in the changelog headings.

Finally, this moves the state resolution algorithms into the versioned
spec as a result of MSC1759 (https://github.com/matrix-org/matrix-doc/pull/1759).

Note: this does not introduce the concept of versioned schemas (tabs) that I was previously working with. There's currently no use for them, so they are shelved elsewhere.
6 years ago