Commit Graph

75 Commits (c0955a6aee9073a536ed8c525527b9ce2819a74d)

Author SHA1 Message Date
Andrew Morgan c0955a6aee
Add a hyphen between third and party when used as an adjective (#1447) 1 year ago
Hugh Nimmo-Smith 10844fef8c
Clarification to transaction identifier idempotent semantics (#1449) 1 year ago
Andrew Morgan 5c7bb2fcd5
Remove some erroneous underscores from the Client-Server spec text (#1432)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
1 year ago
Andy Balaam b5566dbadb
Clarify which events will be included in Stripped State (#1409)
Signed-off-by: Andy Balaam andy.balaam@matrix.org
1 year ago
Hubert Chathi 94465fe93b
Add spec for getting events by timestamp (#1366) 1 year ago
Kim Brose 05d2bc4c95
move login API definitions to the right heading (#1382)
* move login API definitions to the right heading

regressed from https://github.com/matrix-org/matrix-spec-proposals/pull/3324

* Create 1382.clarification
1 year ago
Patrick Cloke eeb43043ad
Add standard error responses (MSC3743). (#1347) 2 years ago
Andrew Morgan cb2d5653ee
Add Event Replacements, Threading and Reference Relations modules to module summary table (#1344) 2 years ago
Richard van der Hoff 6cbb88f9df Fix broken links
A bunch of broken links I found
2 years ago
Andrew Morgan c8242eeb35
Replace misuses of 'plaintext' with 'cleartext' and clarify spoiler docs (#1306) 2 years ago
Travis Ralston b2cc836649
Spec reference relationships (#1206)
* Spec reference relationships

MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3267

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Edits per code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Val Lorentz 3c796e9876
Aggregations: remove not about "future extensions" (#1263)
* Aggregations: remove not about "future extensions"

It is now used by threading.

* Create 1263.clarification
2 years ago
Travis Ralston 25dda1eadb
Threads: The base (#1254)
* Spec MSC3440: Threading (just the base)

Other threading MSCs to follow

* Spec MSC3856: Threads list API

* Spec MSC3715:  Add`dir` to `/relations`

* changelog

* Apply suggestions from code review

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Update changelogs/client_server/newsfragments/1254.feature

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2 years ago
Travis Ralston 6c6c602845
Clarify that refreshed access tokens don't invalidate the scope of txnid (#1236) 2 years ago
Richard van der Hoff 58e6900891
Spec event edits (#1211)
Per matrix-org/matrix-spec-proposals#2676
2 years ago
Richard van der Hoff 1930824898
include CS-api modules with `{{<` (#1205)
... because that fixes everything. Or at least, #1204.
2 years ago
Richard van der Hoff 3dc3150f6d
fix typo 2 years ago
Richard van der Hoff b232148821
Clarify the use of JSON in requests and responses (#1185)
Fixes #1182
2 years ago
David Robertson 4be2916047
Remove a stray fullstop in "Other error codes" 2 years ago
Travis Ralston c4db688af8
Spec `/relations` and aggregations (#1062)
* Commit to show changes to rich replies section

* Move rich replies to a module

* Add remainder of MSC2674

* Pivot away from MSC3440: Threads

* Add changelog entries so far

* Make a note for why we have aggregations/relations if nothing uses it

* Outright remove threads references

Apparently this breaks the table of contents

* Define MSC2675

* Define MSC3666

* Add note for rich replies?

* Update content/client-server-api/_index.md

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Clarify how ignoring works for aggregations.

* Try to clarify redactions a bit

* Clarify using parent/child language

* Add missing bits of MSC2675

* Add changelog for aggregations

* Appease the linters

* Update data/api/client-server/relations.yaml

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Try to clarify the return of /relations

* Fix required attribute

* Fix wording round 1

* Try to fix pagination

* Copy/paste the endpoint to make Open API happy

* Fix code block examples for rich replies

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions on all 3 endpoints

* Fix description of relationships API

* Fix warning about server-side aggregation/bundling

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Travis Ralston f14e18131b
Specify room version 10: `knock_restricted` and int power levels (#1099)
* Clarification on historical power level handling

* Revert "Clarification on historical power level handling"

This reverts commit f443b3d5a9.

* Clean up

* Let us try this again not using VS Code

* Markdown is full of mysteries

* Move stringy power levels to room versions

* Describe range

* Fix minor issues with previous room version stuff

* Copy/paste v9 into v10

* Describe deprecated formatting

* Paste unmodified auth rules from v8 into v10

* Move 9.1 to 9.3, add 9.1 and 9.2 for integer enforcement

* Add knock_restricted to v10 auth

* Misc cleanup and clarification for fragments

* Describe `knock_restricted` client changes

* Changelogs

* spelling

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply code review suggestions manually

* Fix v9 redactions

* Fix auth rules clarity issues

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Remove false integer requirements

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Hubert Chathi ef3df9d549
Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Hubert Chathi 91b2a49b6f apply suggestions from review, and other clarifications 2 years ago
Hubert Chathi 84747f90e8 Merge branch 'main' into refresh_token_spec 2 years ago
Richard van der Hoff bb47f08ee7
Remove broken "token-based" link (#1081)
This used to link to a section in the UIA docs (https://matrix.org/docs/spec/client_server/r0.6.1#token-based), 
but that was removed in 7c6636a5.
2 years ago
Hubert Chathi 1f81587154 add spec for refresh tokens 2 years ago
Travis Ralston fd2d5b8a49
Fix a few more instances of matrix-doc being used; Fix changelog support for repo split (#1051)
* Use spec-proposals repo for links in spec text and current changelog

* Make the changelog repo-aware

* Changelog
2 years ago
Will Hunt c420fc49a0
Fix m.login.appservice -> m.login.application_service (#3711)
* Fix m.login.appservice -> m.login.application_service

Implementations seem to agree with the proposal, so I'd suggest we fix the typo in the spec. I don't *think* this needs a MSC as the original proposal was fine, and this was just a copy error.

* Create 3711.clarification

* Update 3711.clarification

* Update changelogs/3711.clarification

Co-authored-by: Travis Ralston <travisr@matrix.org>

Co-authored-by: Travis Ralston <travisr@matrix.org>
2 years ago
Richard van der Hoff 36b02edfc2
Distinguish 'client' from 'federation' events (#3658)
Fixes #3305 
Fixes #3380
 
The idea here is to better distinguish between a 'raw' event (as we send over the wire), and the 
'serialised' format, as sent in responses to the C-S api and in `PUT /_matrix/app/v1/transactions/{txnId}`.

It's made more complicated by the fact that there are _two_ serialisation formats, one used by `/sync`
and `/notifications`, and one by everything else (the difference being whether `room_id` is included).

In an ideal world, we wouldn't repeat `SerialisedEvent` every time it's used, and instead just link to the
first reference, but that's a job for another day.

Another job for another day is to get rid of things like `sync_state_event.yaml` (which is now used
only in one place, so should be inlined.)
2 years ago
Aaron Raimist 990dfec94b
Update several spots where C-S API was still using r0 APIs (#3671)
* Update several spots where C-S API was still using r0 APIs

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Add changelog

Signed-off-by: Aaron Raimist <aaron@raim.ist>
2 years ago
Travis Ralston 6c4aabd053
Room versions 8 and 9: Restricted rooms (#3387)
* Room versions 8 and 9: Restricted rooms

MSCs:
* https://github.com/matrix-org/matrix-doc/pull/3083
* https://github.com/matrix-org/matrix-doc/pull/3289
* https://github.com/matrix-org/matrix-doc/pull/3375

* Changelogs

* Capitalization

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Remove verbiage for spaces because they don't exist

* Iterations on text

* Another clarification

* Make error code descriptions consistent

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Incorporate from merge

* Misc language update per review

* Update accuracy before splitting auth rules

* fix wtf moment

* Fix up v8 and v9 to match "fully specify room versions"

* Scope auth events selection to room version

* Apply consistency

* Add changelogs

* Review part 1

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Split out redaction sections

* Clarify general case of join conditions

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Travis Ralston 9af83dfd41
Add Spaces to the spec (#3610)
* First iteration of specifying Spaces

MSCs:
* https://github.com/matrix-org/matrix-doc/pull/3288
* https://github.com/matrix-org/matrix-doc/pull/2946
* https://github.com/matrix-org/matrix-doc/pull/1772

Note that this makes modifications to the underlying MSCs as well. These are intended to be minor edits to aid clarity/accuracy of the MSCs, as per the proposal process. Functionally, clients and servers might need to change their behaviour slightly as is expected of implementing this stuff early. Synapse has these changes (alongside backwards compatibility) here: https://github.com/matrix-org/synapse/pull/11667

* add changelogs

* Accuracy per review

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* fully prefix new endpoints

* Fully prefix endpoint in 3616 too

* Fix ordering example

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Travis Ralston 56532dd688
Describe and hoist stripped state to a first-class citizen (#3606)
* Describe and hoist stripped state to a first-class citizen

Fixes https://github.com/matrix-org/matrix-doc/issues/3413
MSC: https://github.com/matrix-org/matrix-doc/pull/3173

* Add changelog

* may->can for clarity

* Update text per review
2 years ago
Travis Ralston 00169abcdb
Specify module order manually to work around hugo issues (#3612) 2 years ago
Travis Ralston 0ee58100c4
Add capabilities described by MSC3283 (#3614)
* Add capabilities described by MSC3283

MSC: https://github.com/matrix-org/matrix-doc/pull/3283

* changelog
2 years ago
Travis Ralston e4057072bd
Add registration token UIA type (#3616)
* Add registration token UIA type

MSC: https://github.com/matrix-org/matrix-doc/pull/3231

**Note**: This introduces the endpoint as v1 rather than r0 given the global versioning changes landed between the acceptance of the MSC and now.

* Fix swagger

* Changelogs

* Update data/api/client-server/registration_tokens.yaml

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
2 years ago
Travis Ralston afb6867232 Decorate the rest of the appservice login stuff too 2 years ago
Will Hunt a05706780d Add m.login.appservice to the spec (#3324)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Hubert Chathi <hubertc@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2 years ago
Shay 87fcb7c8b0
Clarify that `base_url` in client `well_known` may or may not include trailing slash (#3562)
Fixes #3465. The change adds a line explicitly warning developers that the base_url of client well_known may or may not include a trailing slash and to be prepared to handle both cases.
2 years ago
Richard van der Hoff 7f200c53e8
Move `prev_content` to unsigned (#3524) 2 years ago
David Robertson 1e12b45f97
Clarifications to /sync description (#3534)
* Clarify that E0 and E1 are not returned

* Clarify that ASCII art diagram 2 refers to diagram 1

* Correct third ASCII art diagram

To match the spacing in. Borked in the move to new docs format.

55aed1d296/specification/client_server_api.rst (L1610-L1615)

* Make ASCII art 3 follow from ASCII art 2

* Explain how to fill the gap

* Create 3543.clarification

* Update content/client-server-api/_index.md

Co-authored-by: Travis Ralston <travisr@matrix.org>
2 years ago
DeepBlueV7.X 938354b8b4
Rename threepidCreds to threepid_creds and get rid of array (#3471)
This fixes the behaviour to match what synapse implements in practice.
If you use threepidCreds, you will just get an error about a missing
threepid_creds field. Synapse also treats this as an object. All clients
also seem to send threepid_creds, if they work on Synapse. Since
matrix.org requires an email currently for registration, most clients
that implement registration, will hit this issue.

a0f48ee89d/synapse/handlers/ui_auth/checkers.py (L145)

fixes #3156
fixes #2189

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
3 years ago
Travis Ralston 241e01c332
Fully specify room versions (#3432)
* Fully specify room versions

* Misc typo clarifications

* Try to clarify redactions a bit

* Update content/client-server-api/_index.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Update content/rooms/v6.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Update content/rooms/v6.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Better describe client considerations

* Doc template params

* Move redaction "new stuff" to v3

* Remove unhelpful sentences about "here follows unchanged stuff"

* Simplify event signing text

* Clean up handling redactions sections

* Move v4's event schema to unchanged section

* Update content/rooms/v4.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Travis Ralston 5be0df02c5
Start annotating which version of the spec added a thing (#3425)
* Introduce a new "added-in" template and use it on endpoints

* Use "added-in" on schema properties too

* Annotate sections of the spec with their added versions

* Demo of "added-in" on a room version (to be fleshed out)

* Use clearer versioning semantics

* Update and fix validator for Swagger custom properties

* Fix docs
3 years ago
Travis Ralston 649fc2bdd2
Move room version spec to `/rooms` (#3423)
* Cut/paste room version spec to its own page

* Move grammar to bottom + add feature matrix

The version grammar is not as interesting as the actual room versions, so this moves that whole section to the bottom.

* Fix all links to room versions
3 years ago
Travis Ralston 95d850c418
Update client-server API endpoints to move from r0 to v3 (plus whitespace fixes) (#3421)
* Blind find & replace all on client major version -> v3

* Fix up bad replacements

* Fix anchors for r0->v3

* Changelog
3 years ago
Travis Ralston 7e67aa2e23
Clarify how redacted_because actually works for events (#3411)
* Clarify how redacted_because actually works for events

* changelog

* mention federation

* Fix wording

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Richard van der Hoff f8b83b7fb1 Replace "Pagination" section in C-S API with text in appendices (#3366)
The Pagination section in the C-S API was, basically, full of rubbish. I think that anything of any value it contained was repeated either directly on the API definitions or in the text specific to syncing at https://spec.matrix.org/unstable/client-server-api/#syncing.

The conventions I've added to the Appendices are based on the discussions in #1898. They are there because I don't want to have to go through it all again next time we add a paginated API.

Fixes: #1898
Fixes: #2268
3 years ago
Richard van der Hoff 4b2bbbabcc Start a 'conventions' section in the Appendices (#3350)
I wanted a section for "here's what new APIs ought to do", which isn't really
very useful for consumers of the existing APIs.
3 years ago
Michael[tm] Smith d7cf63d981 Drop Origin & Accept from Access-Control-Allow-Headers value
This change drops the Origin and Accept header names from the
recommended value for the CORS Access-Control-Allow-Headers header. Per
the CORS protocol, it’s not necessary or useful to include them.

Per-spec at https://fetch.spec.whatwg.org/#forbidden-header-name, Origin
is a “forbidden header name” set by the browser and that frontend
JavaScript code is never allowed to set.

So the value of Access-Control-Allow-Headers isn’t relevant to Origin or
in general to other headers set by the browser itself — the browser
never ever consults the Access-Control-Allow-Headers value to confirm
that it’s OK for the request to include an Origin header.

And per-spec at https://fetch.spec.whatwg.org/#cors-safelisted-request-header,
Accept is a “CORS-safelisted request-header”, which means that browsers
allow requests to contain the Accept header regardless of whether the
Access-Control-Allow-Headers value contains "Accept".

So it’s unnecessary for the Access-Control-Allow-Headers to explicitly
include Accept. Browsers will not perform a CORS preflight for requests
containing an Accept request header.

Related: Related: https://github.com/matrix-org/synapse/pull/10114

Signed-off-by: Michael[tm] Smith <mike@w3.org>
3 years ago