Commit Graph

203 Commits (48912a73202121f86f1a8f971539df55eabea0d8)

Author SHA1 Message Date
Travis Ralston ad64af3f01 Clarify how reference hashes are done 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 aca9437bf3 Specification for v2 s2s invite API
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1794
Implementation proofs:
* https://github.com/matrix-org/synapse/pull/4402
* https://github.com/matrix-org/synapse/pull/4496

There are no changes from the original proposal.
6 years ago
Travis Ralston 061f59547a Minor wording changes 6 years ago
Travis Ralston 166d4ada86 Fix room versions reference in appendices & s2s spec 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
Erik Johnston 39df8291e9 Add TODO 6 years ago
Erik Johnston be625254b1 Fix up wording about auth rules to not lie 6 years ago
Erik Johnston c93bdcc59c Fix up headings 6 years ago
Richard van der Hoff cac150d567
Fix up wording
Co-Authored-By: erikjohnston <erikj@jki.re>
6 years ago
Erik Johnston ee9c010c37 Document the checks made for incoming PDUs 6 years ago
Erik Johnston 4271391214
Initial stab at documenting soft fail (#1641) 6 years ago
Matthew Hodgson 6dab4b28f8
Merge pull request #1648 from matrix-org/matthew/device_list_update
document device list synchronisation over federation.
6 years ago
Matthew Hodgson 334c69bcda wording fix 6 years ago
Matthew Hodgson ccbc88ee5d reword to spell out to when device list updates should be sent 6 years ago
Matthew Hodgson bcd48ebbec
Merge pull request #1610 from uhoreg/reloaded
document new state resolution algorithm
6 years ago
Matthew Hodgson e9e3afbd34 clarify who servers should send m.device_list_update EDUs to 6 years ago
Matthew Hodgson 928fc5cbe5 incorporate review 6 years ago
Matthew Hodgson 42b11e096f Review 6 years ago
Matthew Hodgson d25f4412d4 improve wording 6 years ago
Matthew Hodgson db302b66ca revert example which was corect first time; fix rst 6 years ago
Matthew Hodgson 0f9a23c471 swaggerify to-device 6 years ago
Matthew Hodgson 0afdcc59ea spell out stream_id and fix todo 6 years ago
Matthew Hodgson 30d56691b1 document device list synchronisation over federation.
untested
closes MSC1212
6 years ago
Travis Ralston 38ae166e9d
Merge pull request #1505 from turt2live/travis/general/3pid_invite
Clarify how third party invites work
6 years ago
Erik Johnston 080845ac1c Add link to previous section 6 years ago
Erik Johnston bbca5ce43a Merge branch 'master' of github.com:matrix-org/matrix-doc into erikj/limit_auth_events 6 years ago
Erik Johnston b6ed25e4b4 Fix incorrect indent 6 years ago
Erik Johnston f3a13eed76
Merge pull request #1593 from matrix-org/erikj/auth_events
Update rules on which events to add to `auth_events`
6 years ago
Erik Johnston 86891ca7e4
Merge pull request #1625 from matrix-org/erikj/auth_rejections
Explain how to handle rejected events
6 years ago
Erik Johnston d91dc6fbf6 Fixup 6 years ago
Erik Johnston 4d653748d6 Add note back in 6 years ago
Erik Johnston 8e6c8ba59e Merge branch 'master' of github.com:matrix-org/matrix-doc into erikj/spec_3pid_ruls 6 years ago
Erik Johnston a1aedb386a Actually use proper sentences like a proper adult 6 years ago
Erik Johnston 0adfd1ebb0
Merge pull request #1591 from matrix-org/erikj/fixup_auth_rules
Fix up auth rules
6 years ago
Erik Johnston d63184ebac Fixup 6 years ago
Erik Johnston 3c53e1910d Fixup 6 years ago
Erik Johnston 1a45bc4a85 Reword 6 years ago
Erik Johnston 59f86ec8f2 Reindent as RST requires sublists to be three spaces 6 years ago
Erik Johnston f4706c8889 Require creator field 6 years ago
Erik Johnston f3aea32a24 Be consistent with 'If..., reject' 6 years ago
Erik Johnston 6c8a45c165 Full stops 6 years ago
Erik Johnston ebb044674f Remove duplicated explanation about event rejection 6 years ago
Travis Ralston caaa688e37 Fix links to client-server spec 6 years ago
Travis Ralston 219b27b182 Merge remote matrix-org/master 6 years ago
Richard van der Hoff 0f84c69805
Merge branch 'master' into rav/clarify_event_signing 6 years ago
Travis Ralston d57b977a55 Merge branch 'm-master' into travis/general/3pid_invite 6 years ago
Travis Ralston f09db16027 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/key-mgmt 6 years ago
Travis Ralston 2753d24302 Merge remote-tracking branch 'matrix-org/master' into travis/general/r0-prep 6 years ago
Travis Ralston ab14f33060 Add link to the client-server ACLs module 6 years ago