Commit Graph

185 Commits (b1349dd06ff477e45dc4fa4559d25e95d7f9b534)

Author SHA1 Message Date
Alexey Rusakov 6adacd18c1
Arrange a few titles (#1126)
* Arrange a few titles

Before this change, PublicRoomsChunk in the spec text could be found in
two places (actually three but the third one is identical to the first
one), defining two (_mostly_ identical but) different schemas.
Ctrl-F'ing through the spec may confuse you with the "wrong" definition.
This commit gives distinct schemas distinct names; aside from
PublicRoomChunk, the same story happens with the derivative of
stripped_state.yaml used in space_hierarchy.yaml (it's not exactly
StrippedStateEvent either).

As for the removal of `PublicRoomsChunks` (plural) - this title is
unnecessary because the tooling would place rather self-explanatory
`[PublicRoomsChunk]` without it, whereas the plural title ends up with
no definition in the spec text.

* Add changelog
2 years ago
Alexey Rusakov dcc1f4adee
keys.yml: fix one_time_keys object contents (#1127)
* keys.yml: fix one_time_keys object contents

The alternatives previously listed under two additionalProperties levels
are actually one _more_ level deeper; we still can't define them in
a formal way before moving to OpenAPI 3 but at least let's be honest
and say there's always a dict where there's always a dict. Also,
since the same data structure is used in three places now, at least
give it a name, and document the actual definition (once) separately
(not using it now because it's OpenAPI 3).

* Changelog
2 years ago
Alexey Rusakov cbdd889fa8
auth_data.yaml: formally allow it to be non-object (#1115)
Closes #716.

Signed-off-by: Alexey Rusakov Kitsune-Ral@users.sf.net
2 years ago
Kévin Commaille c665f7fcb6
refresh_token is omitted if inhibit_login is true
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
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
Nicolas Werner e70045f4cc
room_type is not a required parameter in practice (#1110)
* room_type is not a required parameter in practice

In practice servers seem to mirror what the room create event does and
leave out the room_type when unset.

Signed-off-by: Nicolas Werner <n.werner@famedly.com>

* Add changelog

Signed-off-by: Nicolas Werner <n.werner@famedly.com>

* Also make room_type and allowed_room_ids optional in the openapi

They are optional according to the text, but the openapi marks them as
required instead.

Signed-off-by: Nicolas Werner <n.werner@famedly.com>

* Fix copy and paste error of newsfragment

Signed-off-by: Nicolas Werner <n.werner@famedly.com>
2 years ago
Hubert Chathi 8d82366cf2
Merge pull request #1056 from uhoreg/refresh_token_spec
Add spec for refresh tokens
2 years ago
Hubert Chathi 9bf02ada55 don't need securityDefinitions since we don't use access token 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
The one with the braid (she/her) | Dфҿ mit dem Zopf (sie/ihr) 31304300f5
fix: spaces hierarchy paramater types (#1097)
* fix: spaces hierarchy paramater types

- changed `limit` parameter type to integer
- changed `query` parameter type to integer

A floating number does not make any sense here. Also, at least Synapse
does not allow floating point numbers in here.

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>

* Update changelogs/client_server/newsfragments/1097.clarification

Co-authored-by: Travis Ralston <travpc@gmail.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
Travis Ralston a91030f27b
Re-add paragraph about how some state keys are reserved (#1100)
* Re-add paragraph about how some state keys are reserved

Fixes https://github.com/matrix-org/matrix-spec/issues/1013

* changelog
2 years ago
Alexey Rusakov e38c4e6f17 Revert accidentally pushed commits
This reverts commits:
c11991f9de.
f8bf0fa0ac.
7abdd45c06.
92db4e20da.
2 years ago
Alexey Rusakov 92db4e20da /password: formalise 'default' for logout_devices 2 years ago
Alexey Rusakov 7abdd45c06 notifications.yaml: Use int64 for timestamp 2 years ago
Alexey Rusakov f8bf0fa0ac profile.yaml: require displayname/avatar_url
This makes a deliberate choice for the question stated in #2717.
2 years ago
Michael Telatynski 573dbb3b74
Fix error code typo (#1059)
* Fix error code typo

See https://spec.matrix.org/v1.2/client-server-api/#other-error-codes

* Create 1059.clarification
3 years ago
Hubert Chathi 1f81587154 add spec for refresh tokens 3 years ago
Richard van der Hoff 614680675f
Fix broken links to `matrix-doc` (#1032)
The spec has moved to https://github.com/matrix-org/matrix-spec, so there were
a lot of broken links here.
3 years ago
Jonas Platte f6da709857
Mark `from` parameter as optional for `/messages` (#1002)
As per MSC3567, the `from` parameter is now optional for the `/messages` endpoint to allow fetching first or latest room content without having to rely on `/sync`

https://github.com/matrix-org/matrix-doc/pull/3567
3 years ago
David Robertson 46f98796b6
Correct title location in login flow definition (#1003) 3 years ago
Nicolas Werner 9a3da0b574 Add missing object type to openapi client event
Signed-off-by: Nicolas Werner <n.werner@famedly.com>
3 years ago
Richard van der Hoff 284d0e201f
Mark `type` in `AuthenticationData` as optional (#989) 3 years ago
Richard van der Hoff ca466b5a57
Attempt to clarify how `event_match` works (#3690)
Fixes #3082, #2637, #3075.
3 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.)
3 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>
3 years ago
Alexandre Franke d3e39567f4
Responses schema fixes (#3650)
Fixes #2237.

Corrects the response schemas for:

```
PUT /user/{user_id}/account_data/{account_dataType}
PUT /user/{user_id}/rooms/{roomId}/account_data/{type}
PUT /directory/list/room/{roomId}
PUT /sendToDevice/{eventType}/{txnId}
POST /account/3pid
POST /account/3pid/add
POST /account/3pid/bind
```
3 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>
3 years ago
Travis Ralston fc3f7d60eb
Remove `aliases` from `/publicRooms` response (#3624)
Through attempting to land [Synapse#11667](https://github.com/matrix-org/synapse/pull/11667) it was found that Synapse doesn't return the `aliases` property on `/publicRooms` as it was [removed](https://github.com/matrix-org/synapse/pull/6970) by a [tracking issue](https://github.com/matrix-org/synapse/issues/6898) referencing [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432) as its base. Though MSC2432 does not make mention of this, the [document](https://docs.google.com/document/d/1NNDkobiFLeUkJtyj0H6qvKIedgvIkZnFKo78-03cGEk/edit) the MSC is based upon makes deliberate effort to mention the endpoint and the removal of `aliases`. Thus, it is determined as a likely accidental omission from the formal MSC and therefore the formal spec.

This has been corrected here by amending the MSC (per the process) and removing the field, basing itself off of the [spec PR for spaces](https://github.com/matrix-org/matrix-doc/pull/3610) for diff clarity.
3 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>
3 years ago
Hubert Chathi 6fb684397a
Clarify how to interpret missing one time key counts (#3636) 3 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
3 years ago
Travis Ralston 224773dc6a
Specify fallback keys (#3615)
* Specify fallback keys

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

* changelog

* Appease spell check

* Fine, let's appease the spellcheck this way

* Apply suggestions from code review

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

* Fix intro

* word wrap

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
3 years ago
Travis Ralston 26e0765159
Add guest changes to spec: MSC3069 and MSC3419 (#3605)
* Add MSC3069 support

https://github.com/matrix-org/matrix-doc/pull/3069

* Add MSC3419 support

https://github.com/matrix-org/matrix-doc/pull/3419

* Normalize and fix guest access endpoints list

* Changelogs
3 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>
3 years ago
Travis Ralston 1e9dd4d22e
Avoid use of the word "clobber" (#3611)
* Avoid use of the word "clobber"

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

* changelog
3 years ago
Dan Callahan 48d8f7202d
Add HTTP 403 to possible profile responses (#3530)
* Add HTTP 403 to possible profile responses

Some servers may not allow profile lookup over federation, and thus
respond to GET /_matrix/client/v3/profile/{userId} with an HTTP 403.

For example, Synapse can be configured to behave in this way by setting:

    allow_profile_lookup_over_federation=false

Thus, this behavior already exists in the wild, and may cause issues for
clients such as https://github.com/vector-im/element-web/issues/17269.

Synapse could alter its behavior and return an HTTP 404 in these cases,
but amending the Spec seems preferable to align with extant behavior.
Further, allowing HTTP 403 gives clients more specific information as to
why a request has failed, enabling more precise error handling.

Signed-off-by: Dan Callahan <danc@element.io>

* Update changelogs/client_server/newsfragments/3530.clarification

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Annotate misc data about error

Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
3 years ago
Aaron Raimist 01cd41de68
Add GitHub Action to check spelling (#3591)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
3 years ago
Travis Ralston 0fbc6bdab6
Definition of "Standard Identifier Format" (#3171)
Spec for https://github.com/matrix-org/matrix-doc/pull/2758
3 years ago
Richard van der Hoff 83b24dd54d
Remove definition of Event for `/notifications` (#3525)
The documentation for the `/notifications` API had its own special definition
of what an Event was, which was used nowhere else.

The common definition isn't perfect, but it *is* common, so it gives us a
better starting place for improvement.
3 years ago
Ankur ac98c8c08c
OpenAPI: Add missing `required` flag in `getRoomKeys` (#3509) 3 years ago
Ankur a8cf4d4a56
Open API: Changed RoomKeys to RoomKey (#3500) 3 years ago
Ankur a034d45e45
typos: Corrected typos in message_pagination.yaml (#3495) 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 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 2d98cd3084
Describe new global specification versioning (#3420)
* Update versioning specification for Matrix

As per [MSC2844](https://github.com/matrix-org/matrix-doc/pull/2844)

* Mention vX versioning in /versions

* Changelog
3 years ago
Andrew Fargo f1a4a58755
Fix "invite_state" to "knock_state" (#3428) 3 years ago
Aaron Raimist 525728971b Fix two links on the CS API page
Signed-off-by: Aaron Raimist <aaron@raim.ist>
3 years ago
Richard van der Hoff 6bd7b6cbb5 Clarifications to pagination parameters for various APIs (#3353) 3 years ago
Lukas Lihotzki 8a8db03a13 OpenAPI: include peekEvents
Disambiguate from getEvents by a trailing space in path (like inviteUser).

Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Denis Kasak ddbbd76b32 Fix typo in /_matrix/client/r0/account/3pid/delete. 3 years ago
Hubert Chathi b231220bbd Merge pull request #3337 from uhoreg/room_create_canonical_alias
room creation: create canonical alias event if alias specified
3 years ago
Alexey Rusakov fbf4259a83 Merge pull request #3330 from lukaslihotzki/add-titles
OpenAPI: add titles
3 years ago
Hubert Chathi 8536cd3e16 drop initial state check 3 years ago
Alexey Rusakov 5749325fc3 Merge pull request #3329 from lukaslihotzki/missing-tags
OpenAPI: improve tags
3 years ago
Lukas Lihotzki 13f7df1379 OpenAPI: add titles 3 years ago
Hubert Chathi 89089e8913 Merge pull request #3332 from lukaslihotzki/required-bodies
OpenAPI: require all bodies in cross_signing
3 years ago
Lukas Lihotzki 39e70a2902 OpenAPI: split User data tag
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Hubert Chathi ee92c94cfe Mention that a canonical alias event should be created if alias specified 3 years ago
Lukas Lihotzki 1a81a46865 OpenAPI: require all bodies in cross_signing
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Lukas Lihotzki 97ebe5aec2 OpenAPI: add missing tags
peekEvents remains untagged, because it is explicitly excluded.

Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Lukas Lihotzki e3070bcdda OpenAPI: fix key_backup operation IDs 3 years ago
Lukas Lihotzki c58d423aba OpenAPI: add auth property in uploadCrossSigningKeys
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Lukas Lihotzki 91b232df48 OpenAPI: use uri format
In avatar_url, pusher url, wellknown base_url, getUrlPreview, and submit_url.

Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Travis Ralston cdcc24af11 Merge pull request #3238 from lukaslihotzki/required-bodies
OpenAPI: require all bodies in client-server
3 years ago
Lukas Lihotzki ad0ff78316 OpenAPI: require all bodies in client-server
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Alexey Rusakov c5631b30b8 sso_login_redirect: Fix a copy-pasted operationId 3 years ago
Christian Paul 86b53be3d1 Add "knock" membership to /members endpoint (#3254) 3 years ago
Lukas Lihotzki 6c46933fbc Fix Typo
Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Lukas Lihotzki 2fa7b59e1a OpenAPI: fix tags of add3PID
The tag needs to be set to include add3PID in scripts/swagger/api-docs.json.

Signed-off-by: Lukas Lihotzki <lukas@lihotzki.de>
3 years ago
Andrew Morgan ad93aa6546 Update client_secret examples so that they are valid (#2985)
The regex of allowed characters for a `client_secret` parameter is `[0-9a-zA-Z.=_-]`.

This PR updates the `client_secret` spec examples, which currently include an invalid character (an apostrophe).
3 years ago
Travis Ralston c11efb35fe Merge pull request #3163 from matrix-org/travis/spec/msc2858-multisso
Describe social-sign-on (multiple SSO providers)
3 years ago
Travis Ralston 2c3d7b1682 Apply suggestions from code review
Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
3 years ago
Travis Ralston 3683d334f7 Clarify render approach 3 years ago
Travis Ralston 3b2c0ff233 Spec device_id on whoami
Spec for https://github.com/matrix-org/matrix-doc/pull/2033
3 years ago
Travis Ralston c124462747 Move brand registry out of structured data directory
Markdown is not structured data.
3 years ago
Travis Ralston 3b426846fe Describe social-sign-on (multiple SSO providers)
Spec for [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858)
3 years ago
Travis Ralston fa6cc8a1ff Add knocking to the spec
Spec for https://github.com/matrix-org/matrix-doc/pull/2998
Spec for https://github.com/matrix-org/matrix-doc/pull/2403

This deliberately does not help towards fixing https://github.com/matrix-org/matrix-doc/issues/3153 in order to remain consistent with prior room versions, and to keep the diff smaller on this change. A future change will address room version legibility.
3 years ago
Patrick Cloke cee03d7625 Use the same domain for room ID and avatar URL. 3 years ago
Will 3e03e7b17a A few small fixes in /data and /content 3 years ago
Will 873e8b30eb Fix links in data 3 years ago
Will 27f8867aa0 Change RST code formatting markup to Markdown 3 years ago
Will c7cf90abfa Remove RST alert directives, replace with simple Markdown formatting 3 years ago
Will 00c6a866e2 Move raw API and event schemas into /data directory
Historical note: this was originally a series of several commits, spread out
over several weeks. They have been squashed together to make `git annotate`
work properly.

The original commits were:
 * 91ab3934 <Will> 2021-01-25 21:16:42 -0800 Add raw API end event schemas into /data directory
 * aae22f47 <Will> 2021-01-25 21:33:06 -0800 Remove non-data files
 * 1092d4ca <Will> 2021-01-26 20:41:33 -0800 Add data-compatiuble extension (.yaml) to all data files that currently omit one
 * 21060109 <Will> 2021-01-26 20:57:28 -0800 Remove symlink to event-schemas, and update openAPI schema paths accordingly
 * 4f633845 <Travis Ralston> 2021-04-12 21:54:54 -0600 Fix event schema examples too
 * 301c7b2f <Will> 2021-02-05 10:15:42 -0800 Restore docs describing OpenAPI extensions that we use
3 years ago