Commit Graph

230 Commits (156fbfb4c72aa4c056cd2f2c5a1a8d1087f38e8f)

Author SHA1 Message Date
Jimmy Cuadra a3d2d14dae Rephrase explanation of the purpose of reference hashes and link to the
room version spec.

Signed-off-by: Jimmy Cuadra <jimmy@jimmycuadra.com>
5 years ago
Jimmy Cuadra 5df86dabe0 Clarify the purpose of reference hashes.
The server-server specification describes a "reference hash" of an event
and how to calculate it, but is otherwise not mentioned anywhere else in
the document. This change adds a sentence to explain that they are used
for event identifiers in later room versions, which are described in
other documents.

Signed-off-by: Jimmy Cuadra <jimmy@jimmycuadra.com>
5 years ago
Travis Ralston 8e6ccf0a0e Federation r0.1.2 6 years ago
Travis Ralston 00588efd3f
Merge pull request #2086 from matrix-org/travis/1.0/fed-content-type
Clarify that the default s2s transport is JSON over HTTP
6 years ago
Travis Ralston 360ac0b900
Update specification/server_server_api.rst
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
6 years ago
Travis Ralston 500f3d3bf1 Clarify that the default s2s transport is JSON over HTTP
Fixes https://github.com/matrix-org/matrix-doc/issues/1713
6 years ago
Travis Ralston 7ce1ff2135 Clarify which servers are supposed to sign events
Fixes https://github.com/matrix-org/matrix-doc/issues/2074
6 years ago
Travis Ralston 8bd9ca4edd Prep for r0.1.1 of s2s 6 years ago
Travis Ralston bcef94ec70
Merge pull request #1847 from matrix-org/travis/s2s-unstable-warning
Add the "please use latest.html" warning to the s2s spec
6 years ago
Travis Ralston 3581368f1f Add the "please use latest.html" warning to the s2s spec
Now that we have a release, we should be warning people who try and use the unstable spec as fact.
6 years ago
Travis Ralston e9bac1b011 Remove wrong references to TLS fingerprints
Also fix some styling in the server discovery section - this didn't feel like it needed its own commit.
6 years ago
Travis Ralston 8ace64bab7 r0.1.0 of the s2s specification 6 years ago
Travis Ralston 9364787b9c Remove stability warning 6 years ago
Aaron Raimist fe7f582233
Fix several spelling mistakes
Signed-off-by: Aaron Raimist <aaron@raim.ist>
6 years ago
Travis Ralston e27c83d9f8
Merge pull request #1817 from matrix-org/neilj/remove_presence_lists
remove references to presence lists
6 years ago
Travis Ralston 41e50d553e
Merge pull request #1830 from matrix-org/travis/spec/x509-wk
Specify .well-known s2s discovery and X.509 validation
6 years ago
Travis Ralston 6421582bf2 Clarifications and alter the error handling of .well-known
Note that MSC1831 changes the order, so the changes to MSC1708 might not make sense when combining all the proposals together. However, independently the change should make sense.
6 years ago
Richard van der Hoff 39b71413be
Update specification/server_server_api.rst
Co-Authored-By: turt2live <travpc@gmail.com>
6 years ago
Travis Ralston 1c30f5eba9 Clarify certificate usage and ports 6 years ago
Travis Ralston df01acc6e2
Merge pull request #1828 from matrix-org/travis/spec/rooms-v3
Add specification for room version 3: Event IDs as hashes
6 years ago
Travis Ralston a6243da03f Wording changes and links 6 years ago
Travis Ralston ad64af3f01 Clarify how reference hashes are done 6 years ago
Travis Ralston 3c17a0e53b Mention caching 6 years ago
Travis Ralston b971bcee7d Accurately represent the 3 proposals and provide more detail 6 years ago
Travis Ralston 48e4d6e412 Document domain reuse concerns
Fixes https://github.com/matrix-org/matrix-doc/issues/1783
6 years ago
Travis Ralston d2f012f4ea Incorporate MSC1831
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1831

Implementation proof: pending
6 years ago
Travis Ralston 0347e873ef Specify .well-known s2s discovery and X.509 validation
Original proposals:
* https://github.com/matrix-org/matrix-doc/pull/1708 (note: the JSON requirements were softened by https://github.com/matrix-org/matrix-doc/pull/1824)
* https://github.com/matrix-org/matrix-doc/pull/1711

Implementation proofs:
* https://github.com/matrix-org/synapse/pull/4489
* No explicit PRs for MSC1711 could be found, however Synapse is known to implement it.

There are no intentional changes which differ from the proposals in this commit, however the author has relied upon various historical conversations outside of the proposals to gain the required context. Inaccuracies introduced by the author are purely accidental.
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
Neil Johnson bf2b6e6daa remove references to presence lists 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