Commit graph

67 commits

Author SHA1 Message Date
Kévin Commaille
c2ef38f0e5
Document instance_id field of /thirdparty/protocols (#2051)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-02-13 17:29:56 +00:00
Richard van der Hoff
f8119f5336
Remove distinction between StateFilter and RoomEventFilter (#2015)
They are exactly the same type, so let's combine their tables together.
2024-11-27 17:11:39 +01:00
Kévin Commaille
bf8dee74eb
Fix relative URLs when serving the specification with a custom baseURL (#1984) 2024-11-14 11:11:34 +00:00
Kévin Commaille
f730987da6
Clarify format of string type for m.login.terms_params (#1979) 2024-11-06 10:49:38 +00:00
Johannes Marbach
c2fd278da0
Additional .well-known keys don't have to be objects (#1920) 2024-08-12 10:53:18 +01:00
Patrick Cloke
56914b72ef
Remove references to device-specific push rules. (#1842)
Device-specific push rules have never been implemented and aren't properly specified.
2024-08-01 10:33:41 -04:00
Johannes Marbach
9bac118aec
Clarify that the User identifier object in POST /_matrix/client/v3/login contains additional properties that depend on the identification type (#1909)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2024-07-30 17:37:49 +00:00
Kévin Commaille
094e25b6cd
Ensure more uniqueness for generated HTML IDs (#1881)
* Include method in all API endpoint children's IDs

Avoids duplicate IDs for object of endpoints
that use the same path but a different method.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Differentiate API endpoints' request and response children's IDs

Ensures that the objects have a unique ID compared to other parts of the endpoint.
Mostly useful for the Error type that can be used for responses with different status codes.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Differentiate the names of both SessionData formats

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-06-20 09:36:33 -06:00
Travis Ralston
7a51ae879c
Add authenticated media (MSC3916) (#1858)
* C2S: Deprecate now-legacy endpoints

* C2S: Fix MXC URI code block while we're here

* C2S: Describe the authentication and deprecation requirements

* C2S: Intro the upload/download endpoints differently

* C2S: Literally copy/paste the `content-repo.yaml` spec

* C2S: Drop `/upload` and `/create` because we aren't replacing them today

* C2S: Fix notes while we're here

* C2S: Update metadata for new endpoints

* C2S: Add authentication to new endpoints

* C2S: Drop `allow_remote` and `allow_redirect` on new endpoints

* C2S: Append backwards compatibility notes

* C2S: Decorate old media endpoints with pointers to the new ones

The server-server spec might have a harder time linking to these, but that can be fixed with verbiage.

* C2S: Annotate IdP icon spec with media auth implications

* S2S: Modernize section text

* S2S: Create content repository API

This is largely a copy/paste of the new authed content repo API in the Client-Server API, though some keywords (like "client") have been changed. Paths and response formats have also been changed to support the federation-specific requirements.

* C2S & S2S: Add plethora of changelogs

* Reference RFC 1341

* Upgrade keywords in changed text

* Mention caching

* Cross-reference IdP icons

* Update content/client-server-api/modules/content_repo.md
2024-06-13 18:08:27 +00:00
Patrick Cloke
da3e884aaa
Fix broken link to push rule condition kinds. (#1841) 2024-06-11 21:42:46 +00:00
Richard van der Hoff
96057638ce
Spec unsigned.membership property, per MSC4115 (#1847) 2024-06-10 12:17:27 +00:00
Kévin Commaille
b0df8e7fb5
Use patternProperties in more places with supported formats (#1813)
Allows to have more places where the property name's type is better defined.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-05-08 13:59:17 +00:00
Richard van der Hoff
df1e799c51
Spec terms of service at registration (MSC1692) (#1812)
Spec for matrix-org/matrix-spec-proposals#1692

Co-authored-by: Hubert Chathi <hubertc@matrix.org>
2024-05-08 13:51:18 +00:00
Kévin Commaille
2d18aac201
Use OneTimeKeys schema (#1800)
This was commented prior to the
port to OpenAPI 3.1 for technical reasons (#1127).
Now we can use it just fine.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-04-30 18:13:05 +01:00
Kévin Commaille
625999a039
Deprecate authentication via a query string (#1808)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-04-30 17:07:59 +01:00
Kévin Commaille
26ce3929b4
Clean up unecessary allOfs (#1797)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2024-04-23 17:07:24 +01:00
Richard van der Hoff
2b5f990f60
Factor out common definition of Tag type (#1793)
... and remove spurious `additionalProperties: true`
2024-04-17 13:51:24 +01:00
Richard van der Hoff
073ce659df
Define opaque identifier grammar (#1791)
Since we already have three of these, and I'm about to add a fourth, let's pull
it out to a common definition.

We could, of course, keep defining the grammar each time it's used, but
defining it in an appendix helps us be consistent for future API design.
2024-04-17 09:22:06 +01:00
Kévin Commaille
efe72d3b26
Fix security schemes in OpenAPI definitions (#1772) 2024-04-09 18:12:30 +02:00
No
25a9157f0a
Add event_property_is and event_property_contains props to PushConditions (#1673)
Signed-off-by: tusooa <tusooa@kazv.moe>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-11-16 13:25:15 +00:00
Kévin Commaille
5672bdbab7
Fix enum types in JSON schemas (#1634)
`type: enum` does not exist, as an enum can be of any type.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-09-27 13:29:14 +01:00
Kévin Commaille
df3f0af5d4
Fix schema of m.mentions object (#1635)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-09-19 16:59:00 +01:00
Kévin Commaille
30845e189f
Remove unnecessary oneOfs in JSON schemas (#1585)
* Remove unnecessary `oneOf`s in JSON schemas

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-06-23 15:31:17 +02:00
Kévin Commaille
adff3faa35
Make sure version in x-changedInMatrixVersion is a string (#1562) 2023-06-10 14:44:06 +03:00
Kévin Commaille
45b6aaf07a
Upgrade Swagger data to OpenAPI 3.1 (#1310)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-06-07 13:16:29 +01:00
Patrick Cloke
466acdfc46
Update spec for MSC3952: intentional mentions (#1508)
See MSC3952.
2023-05-17 13:16:23 +01:00
Richard van der Hoff
1f729eef60
"MXC URI" -> "mxc:// URI" (#1500)
* "MXC URI" -> "`mxc://` URI"

We're a bit inconsistent with this currently, and IMHO "`mxc://` URI" is more
explicit.

* Update content/client-server-api/modules/content_repo.md

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* more MXCs

---------

Co-authored-by: Hubert Chathi <hubertc@matrix.org>
2023-04-26 14:11:35 +01:00
Patrick Cloke
d222fc60d6
Document MSC3758, MSC3966, MSC3873, and MSC3980. (#1464)
* Add information on MSC3758: event_property_is.

* Add information on MSC3966: event_property_contains.

* Add information on MSC3873 dotted-path escape rules.

* Newsfragment

* Update sync filter with ref to appendix.

* Escape example key.

* Fix typos.

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>

* Fix links.

* Clarify the appendix a bit.

* Clarify support values.

* Add MSC3980 to changelog.

---------

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2023-04-03 23:03:37 -06:00
Stuart Mumford
09e2250a8d
Spec implicit filter event limit (#1463)
Signed-off-by: Stuart Mumford <stuart@cadair.com>
2023-03-14 20:27:42 +00:00
Patrick Cloke
afae1083aa
Clarify what key content-specific rules match against. (#1441) 2023-03-08 13:06:06 +00:00
Alexey Rusakov
b441b19cc3
More cleanup before upgrading to OpenAPI 3.1 (#1455)
* `cross_signing_key.yaml`: the parameter documentation already restricts the number of properties
 * `receipts.yaml`: use `maxProperties: 0` to say the object is empty (the comment is still there but is not really needed any more)
 
Signed-off-by: Alexey Rusakov <Kitsune.Ral@users.sf.net>
2023-03-08 10:39:06 +00:00
Andrew Morgan
c0955a6aee
Add a hyphen between third and party when used as an adjective (#1447) 2023-03-08 09:58:29 +00:00
Alexey Rusakov
9ebcf5f257
OpenAPI compliance: avoid $ref siblings (#1457)
This strives to fix all remaining cases where additional attributes
(most often 'description' but not only) are provided next to $ref
by wrapping $ref in allOf; and also drops allOf in a couple of places
where $ref is the only element under it.
2023-03-07 16:51:30 +00:00
Hubert Chathi
2fcc92c2fb
improve documentation of ephemeral events (#1284) 2022-11-17 07:53:15 +00:00
Travis Ralston
227757d499
Threads: Read receipts & notifications (#1255)
* Spec MSC3771: Threaded read receipts

Note: this builds on a (as of writing) non-existent "threading" section, which is part of a different commit.

* Spec MSC3773: Threaded notifications

* changelog

* Various clarifications per review
2022-09-28 14:49:25 -06:00
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>
2022-09-27 13:51:20 -06:00
Travis Ralston
6c6c602845
Clarify that refreshed access tokens don't invalidate the scope of txnid (#1236) 2022-09-26 14:39:43 -06:00
Travis Ralston
b14759a27b
Add room_types and room_type to /publicRooms (#1199)
MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3827
Incorporates https://github.com/matrix-org/matrix-spec-proposals/pull/3858
2022-08-04 15:15:16 -06:00
Richard van der Hoff
ea42cd3c7b
Move various e2e defintions out to yaml files (#1166)
We have code to generate tables, which we should use in the e2e section.
2022-07-19 22:02:48 +01:00
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
2022-06-14 22:04:10 -06:00
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
2022-06-14 22:03:53 -06:00
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
2022-06-14 16:35:18 +01:00
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>
2022-06-08 15:32:55 -06:00
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
2022-05-31 09:24:25 -06:00
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.
2022-04-20 16:36:14 +01:00
David Robertson
46f98796b6
Correct title location in login flow definition (#1003) 2022-03-29 15:01:57 +01:00
Nicolas Werner
9a3da0b574 Add missing object type to openapi client event
Signed-off-by: Nicolas Werner <n.werner@famedly.com>
2022-03-16 15:24:03 +01:00
Richard van der Hoff
284d0e201f
Mark type in AuthenticationData as optional (#989) 2022-03-08 18:42:05 +00:00
Richard van der Hoff
ca466b5a57
Attempt to clarify how event_match works (#3690)
Fixes #3082, #2637, #3075.
2022-02-17 08:41:46 +00:00
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.)
2022-02-01 15:05:08 +00:00