Commit Graph

1370 Commits (7ba4564ac3145bae862069a16cb2c5a1308fbfb4)

Author SHA1 Message Date
Travis Ralston 6706d772c9 Fix test vectors with invalid JSON and signature
Fixes https://github.com/matrix-org/matrix-doc/issues/2023

The content hashes appear correct, however applying the algorithm defined in the spec never resulted in the signatures previously demonstrated.
6 years ago
Travis Ralston 3ade2a9ae7 List the endpoints which support LL 6 years ago
Travis Ralston 76829ad988
Merge pull request #2037 from matrix-org/travis/1.0/appservice-hs-token
Clarify how homeservers are meant to auth themselves to appservices
6 years ago
Travis Ralston e2da3728a0 Only error if the token doesn't match 6 years ago
Travis Ralston a8f61697d1
Merge pull request #2032 from matrix-org/travis/1.0/redaction-effects
Clarify how redactions affect room state
6 years ago
Travis Ralston 8151aa331f
Update specification/client_server_api.rst
Co-Authored-By: Hubert Chathi <hubert@uhoreg.ca>
6 years ago
Travis Ralston 0580f51206 Clarify that failing to follow the flows == 401 6 years ago
Travis Ralston 4e58414b26 Clarify that clients should not ack their own messages
Fixes https://github.com/matrix-org/matrix-doc/issues/567
6 years ago
Travis Ralston 572a6056ad Clarify that login flows must be completed in order
Fixes https://github.com/matrix-org/matrix-doc/issues/1134

Evidence of this being the case is shown here: https://github.com/matrix-org/synapse/pull/5174
6 years ago
Travis Ralston d0fd20fdb4 Clarify how homeservers are meant to auth themselves to appservices
Fixes https://github.com/matrix-org/matrix-doc/issues/1765

Note that the swagger definitions already say that authorization is required. It just wasn't mentioned in the spec.
6 years ago
Travis Ralston 10648aa9e8 Clarify that FAIL_ERROR is not limited to just homeservers.
Fixes https://github.com/matrix-org/matrix-doc/issues/1735
6 years ago
Travis Ralston bf8ca3abba
Merge pull request #2026 from matrix-org/travis/1.0/msc1452-server-notices
Add server notices support
6 years ago
Travis Ralston 9acd960cf6
Update specification/client_server_api.rst
Co-Authored-By: Kitsune Ral <Kitsune-Ral@users.sf.net>
6 years ago
Travis Ralston ade346f8cc Add m.server_notice to reserved tags 6 years ago
Travis Ralston d14dc1d8e1 Clarify that redacted state events affect the room with default values 6 years ago
Travis Ralston 8330810e95 Specify the new room naming scheme 6 years ago
Travis Ralston e610f085a9
Merge pull request #2019 from matrix-org/travis/1.0/msc1884-msc2002-v4-rooms
Add version 4 rooms to the spec
6 years ago
Travis Ralston ba520df004 Move lazy loading to a section in Filtering 6 years ago
Travis Ralston 23ab1c527a Clarify how redactions affect room state
Fixes https://github.com/matrix-org/matrix-doc/issues/1726
6 years ago
Travis Ralston 1bda3fe2b2 Spec MSISDN UIA support
Fixes https://github.com/matrix-org/matrix-doc/issues/1702

1702 describes the lack of `bind_msisdn` parameter, however the whole login type was missing from UIA.
6 years ago
Travis Ralston 5eea4a477f Add server notices support
As per [MSC1452](https://github.com/matrix-org/matrix-doc/issues/1452) 

Fixes https://github.com/matrix-org/matrix-doc/issues/1254

Although MSC1452 focuses on just the warnings part of the server notices, the base for notices has not been established in the spec. This commit adds the needed support to be able to handle notices.

No intentional divergences from the proposal are included in this changeset. There are a few additions which are used in practice although not defined in the proposal, such as who is responsible for aesthetics, sending notices, and other misc rules.
6 years ago
Travis Ralston 2b96d73305 Fix third party signed definitions for join APIs
Fixes https://github.com/matrix-org/matrix-doc/issues/1978
6 years ago
Travis Ralston 5c268ef21f
Merge pull request #2020 from matrix-org/travis/1.0/msc1930-tombstone-notif
Add a .m.rule.tombstone default push rule for room upgrades
6 years ago
Travis Ralston ceaccffdf7 Add a .m.rule.tombstone default push rule for room upgrades
As per [MSC1930](https://github.com/matrix-org/matrix-doc/pull/1930)

There are no known changes to this proposal since it was accepted.
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
Travis Ralston 3c38956510 Remove prev_content from the redaction essential keys list
As per [MSC1954](https://github.com/matrix-org/matrix-doc/pull/1954)

No known changes since the proposal was accepted.
6 years ago
David Baker c38581fb86
Too many spaces
Co-Authored-By: Travis Ralston <travpc@gmail.com>
6 years ago
David Baker 383e02835e Words on using m.login.dummy for disambiguation
Add some text on how m.login.dummy can be used to distinguish
a flow that would otherwise be a subset of other flows.
6 years ago
Travis Ralston ba18a6e9fa
Merge pull request #1992 from matrix-org/anoa/missing_punctuation3
Add missing period
6 years ago
Travis Ralston ce904f9750
Merge pull request #1990 from matrix-org/anoa/missing_punctuation
Add missing period
6 years ago
Travis Ralston c54a5fc3df
Merge pull request #1989 from matrix-org/anoa/typo2
Add missing 'as'
6 years ago
Andrew Morgan 57cf1aaa96 Add missing period 6 years ago
Andrew Morgan 40482f7616 Add missing period 6 years ago
Andrew Morgan c233535de0 fix typo 6 years ago
Andrew Morgan da82a42308 fix grammatical error 6 years ago
Richard van der Hoff 4e9dc2098f
Fix comments which refer to jenkins. (#1981)
* Fix comments which refer to jenkins.

* Spelling

Co-Authored-By: turt2live <travpc@gmail.com>
6 years ago
Travis Ralston 8ad82ce3c0 Add permalink routing through ?via parameters on matrix.to URIs
Spec for [MSC1704](https://github.com/matrix-org/matrix-doc/pull/1704)

Reference implementations:
* Original: https://github.com/matrix-org/matrix-react-sdk/pull/2250
* Modern recommendations: 2ca281f6b7/src/matrix-to.js (L29-L70)

The only deviation from the original MSC is the recommendation for which servers to pick. The original MSC failed to consider server ACLs and IP addresses correctly, and during implementation it was realized that both of these cases should be handled. The core principles of the original MSC are left unaltered.
6 years ago
Matthew Hodgson efcbf2f807
Merge branch 'master' into matthew/msc1779 6 years ago
Travis Ralston 1c5ec68cd0
Merge pull request #1876 from matrix-org/travis/v3-id-grammar
Clarify v3 event representation in identifier grammar
6 years ago
Hubert Chathi d224c4ff71 fix some errors in key export format
- empirically, we don't acatually wrap the array in an object
- fix an incorrect type
6 years ago
Travis Ralston 0ec34039e8 URL encode all the things 6 years ago
Travis Ralston 42cf72c60f URL encode matrix.to URIs 6 years ago
Vikingat-RAGE 76ee13b9bb Fixed bad spacing. 6 years ago
Vikingat-RAGE 1a739ec97b E2E typo fix in spec 6 years ago
Travis Ralston c08d223cfe
Merge pull request #1889 from ma1uta/push_rules
Fix for the #1865
6 years ago
Ben Parsons 99405418c9 in the appendices, thanks earfolds 6 years ago
Hristo Venev e825224b5b Restrict identifier port numbers to 5 digits. 6 years ago
Travis Ralston 621437b0c5
Merge pull request #1891 from QMatrixClient/kitsune-drop-obsolete-text
Remove extended text about life without transaction IDs
6 years ago
Travis Ralston 49119ed345
Merge pull request #1875 from matrix-org/travis/clarify-upgrades
Clarify the recommendations for "transferable state"
6 years ago
Kitsune Ral 989d7ff192 Remove extended text about life without transaction IDs
Signed-off-by: Kitsune Ral <Kitsune-Ral@users.sf.net>
6 years ago
Anatoly Sablin befd76f853 Fix links. 6 years ago
Anatoly Sablin 17420c537a Fix links. 6 years ago
Anatoly Sablin 2de7ef9a3d #1865 Add the m.push_rules schema. 6 years ago
Andrew Morgan 48569c2156
Merge pull request #1853 from matrix-org/anoa/3pid_typos
Replace "3pid" with "3PID"
6 years ago
Andrew Morgan df7223f992 Add changelogs 6 years ago
Travis Ralston 22188ebfeb Further clarify why membership events are not to be transferred 6 years ago
Travis Ralston 946acbf380 Clarify v3 event representation in identifier grammar
Fixes https://github.com/matrix-org/matrix-doc/issues/1870
Fixes https://github.com/matrix-org/matrix-doc/issues/1869
Fixes https://github.com/matrix-org/matrix-doc/issues/1867
6 years ago
Travis Ralston f058a0f40a also power levels 6 years ago
Travis Ralston ef13aef8c3 Clarify the recommendations for "transferable state"
Fixes https://github.com/matrix-org/matrix-doc/issues/1843
6 years ago
Travis Ralston 5721712eae Add M_RESOURCE_LIMIT_EXCEEDED
Original proposal: https://github.com/matrix-org/matrix-doc/issues/1504

No changes from the original proposal or implementations have been made intentionally here.
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
Travis Ralston 1f05c44a0b
Merge pull request #1860 from matrix-org/travis/fix-spelling-1
Fix spelling mistake: endponts -> endpoints
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 85578f9842 Fix spelling mistake: endponts -> endpoints
Fixes https://github.com/matrix-org/matrix-doc/issues/1677
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 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
Andrew Morgan 4ec3a43a85 Replace "3pid" with "3PID" 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 1f5783b329 fix links and wording 6 years ago
Travis Ralston 9631e4bcb1 Add a bit of text to ensure that the intro page isn't missed 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 d94a70f49d Warn clients about changes in event format 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 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 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 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.
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
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
Matthew Hodgson a358e2d4d8 rst 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
Matthew Hodgson 86703ef952
Merge branch 'master' into matthew/msc1779 6 years ago
Matthew Hodgson 3b86fa0e3c incorporating delph & vdh reviews 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
Matthew Hodgson 811e65a4d1 kitsune review on when to add things to the spec 6 years ago
Matthew Hodgson 70be8393a3 clarify the technical note and guiding principles 6 years ago
Matthew Hodgson f3085812e9 more examples; remove widget MSC ref 6 years ago
Matthew Hodgson 156488384c add more examples for spec inclusion; add interoperability as a core value 6 years ago
Matthew Hodgson c053996a77 add new technical guidelines to proposals.rst
this was originally a todo for MSC1779, but belongs better in proposals.rst
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
Richard van der Hoff 958b956776
Merge pull request #1755 from matrix-org/erikj/event_checks
Document the checks made for incoming PDUs
6 years ago
Travis Ralston 35de43de61
Merge pull request #1743 from matrix-org/dbkr/add_sandbox_to_csp
Add 'sandbox' to recommended CSP header
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
Richard van der Hoff fa0b4f9e13 Make the proposal labels match what happens in practice 6 years ago
J. Ryan Stinnett d197a5761f Clarify encrypted push rules
Fix `.m.rule.encrypted_room_one_to_one` by moving a condition to the right block
of the rule.

Fix `.m.rule.encrypted` to state that it applies to group rooms.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
6 years ago
David Baker e318286404 Add 'sandbox' to recommended CSP header 6 years ago
Ben Parsons 16f17855c9 link to CS API Swagger Viewer 6 years ago
Ben Parsons 43109a717f placeholder for proposals CSS 6 years ago
Richard van der Hoff 767af87744
Merge pull request #1701 from uhoreg/e2e_export
document megolm session export format
6 years ago
Hubert Chathi 189725659a clarifications and formatting fixes 6 years ago
Matthew Hodgson 179162379e spell out that shepherd cannot be author 6 years ago
Erik Johnston 4271391214
Initial stab at documenting soft fail (#1641) 6 years ago