Commit Graph

1186 Commits (33406e4662a101eaa23f9b74612f18856b902b25)

Author SHA1 Message Date
Travis Ralston d94a70f49d Warn clients about changes in event format 5 years ago
Travis Ralston e27c83d9f8
Merge pull request #1817 from matrix-org/neilj/remove_presence_lists
remove references to presence lists
5 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
5 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.
5 years ago
Richard van der Hoff 39b71413be
Update specification/server_server_api.rst
Co-Authored-By: turt2live <travpc@gmail.com>
5 years ago
Travis Ralston 1c30f5eba9 Clarify certificate usage and ports 5 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
5 years ago
Travis Ralston a6243da03f Wording changes and links 5 years ago
Travis Ralston 48912a7320 Fix auth rules of redactions in v3 5 years ago
Travis Ralston ad64af3f01 Clarify how reference hashes are done 5 years ago
Travis Ralston 01556e5b17 Clarifications and bug fixes in how v3 rooms work 5 years ago
Travis Ralston 3c17a0e53b Mention caching 5 years ago
Travis Ralston b971bcee7d Accurately represent the 3 proposals and provide more detail 5 years ago
Travis Ralston 48e4d6e412 Document domain reuse concerns
Fixes https://github.com/matrix-org/matrix-doc/issues/1783
5 years ago
Travis Ralston d2f012f4ea Incorporate MSC1831
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1831

Implementation proof: pending
5 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.
5 years ago
Travis Ralston ccce6c196d Specify how capabilities work in the c2s API
Original proposals:
* https://github.com/matrix-org/matrix-doc/pull/1753
* https://github.com/matrix-org/matrix-doc/pull/1804

Implementation proof:
* https://github.com/matrix-org/synapse/pull/4472
* https://github.com/matrix-org/matrix-js-sdk/pull/830

There is one change to MSC1753 which is included in this commit. MSC1804 remains unchanged. In the original proposal, the change password capability being present was an indication that password changes were possible. It was found that this doesn't really communicate the state very well to clients in that lack of a capability (or a 404, etc) would mean that users would erroneously not be able to change their passwords. A simple boolean flag was added to assist clients in detecting this capability.
5 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.
5 years ago
Neil Johnson c09fa6845e
Update presence.rst 6 years ago
Travis Ralston 00adfdbf4a
Merge pull request #1820 from matrix-org/travis/spec/fed-v2-invite
Specification for v2 s2s invite API
6 years ago
Andrew Morgan 0712fd36a2 75% majority now required for FCP 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
Richard van der Hoff 9f443225ac fix incorrect spelling of homeserver 6 years ago
Travis Ralston 6c7eea555a
Merge pull request #1773 from matrix-org/travis/spec/rooms
Add a room version specification
6 years ago
Travis Ralston 052d68d83d
Merge pull request #1791 from matrix-org/travis/spec/rver-upgrades
Add room version upgrades
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 0dfc64a9f4 Improve wording 6 years ago
Travis Ralston bd5e760a0d Simplify the description for room versions
Instead of trying to describe maturity, stability, and recommendedness in one list we should describe what is "safe" and "unsafe" to use. The default version is just something that servers should use, and is normally going to be stable.
6 years ago
Hubert Chathi ebe887d931
Grammar
Co-Authored-By: turt2live <travpc@gmail.com>
6 years ago
Travis Ralston ba37f2d311 prompt->advertise 6 years ago
Travis Ralston 19e94815f9 Try and improve the understanding of room versions 6 years ago
Travis Ralston 0dde2489b6 Clarify what a Mandatory room version is 6 years ago
Travis Ralston 96d754f429 promote -> prompt 6 years ago
Travis Ralston a6f5d01586 Clarify that servers don't have to implement development/beta versions 6 years ago
Travis Ralston 2457438f1e Encourage servers to transfer whatever they can while being open-ended 6 years ago
Travis Ralston 4e0533a5f3 Soften UX requirements 6 years ago
Travis Ralston fcc26d247e
Merge pull request #1789 from matrix-org/travis/spec/sso-login
Add a generic SSO login API
6 years ago
Travis Ralston 82ee3a6035 Adjust wording for SSO introduction 6 years ago
Travis Ralston 166d4ada86 Fix room versions reference in appendices & s2s spec 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 aeb524ef89 Remove CAS login and reference it against r0.4.0
The SSO module should cover what CAS provides, and r0.4.0 is good as a reference for how CAS could be implemented without us repeating it here.
6 years ago
Travis Ralston b85f7bb248 Add room version upgrades
Implements https://github.com/matrix-org/matrix-doc/issues/1501
6 years ago
Travis Ralston d6c33ea0a5 Make CAS a subset of SSO 6 years ago
Travis Ralston 3e7a5f5ea4 Initial draft for SSO support 6 years ago
Travis Ralston bc1303a1a0
Add a bit of rationale for WIP tags 6 years ago
Travis Ralston 671527360c
Recommend some kind of WIP tag for MSCs 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