Commit Graph

2947 Commits (13a1628f59f8279d1a5889830a3514a6fec9c3a9)
 

Author SHA1 Message Date
user d785ac78a3 Remove explode and replace with TODO, require auth on CS 6 years ago
Andrew Morgan 53137a3c53 c/p bug, fix operationIds, move rst docs to md 6 years ago
Andrew Morgan 3e4962f211 Document standardized extensions to OpenAPI v2 6 years ago
Andrew Morgan 273acb277c Change fields to use new extended query array syntax 6 years ago
Andrew Morgan 0ff882fb3b Field definitions for protocol metadata 6 years ago
Kitsune Ral 346db48588 Revert giving get() a default
As per the PR review.

Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me>
6 years ago
Kitsune Ral c6bfac41c5 Bypass jsonschema references resolver
jsonschema's resolver doesn't work with local files on Windows.
resolve_references only works with the local files (on Windows as well)
but that's exactly what's needed for the case (as long as we don't have
remote references, that is).

Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me>
6 years ago
Kitsune Ral d17ec7f184 Check that path starts with file://, not file:///
Because file:/// is not a thing on Windows.
6 years ago
Kitsune Ral 2c9f00d37a Follow PEP 8 6 years ago
Kitsune Ral 31687608dc Factor out common code 6 years ago
Travis Ralston 73b0a03b9b Remove more padding 6 years ago
David Baker 2dc51d416d Ignore stuff in `m.` you don't understand 6 years ago
David Baker 5ddf5374db Missing comma 6 years ago
David Baker f90ed4b77d Make non-namespaced tags verboten 6 years ago
David Baker e4fd088fcc Fix room tags spec 6 years ago
Travis Ralston cafd1a9ab3 Use more modern timestamps 6 years ago
Travis Ralston e27f4a69a0 Key versions must be [0-9a-zA-Z_] 6 years ago
Travis Ralston 8f1a4ae0ea Formatting 6 years ago
Travis Ralston bdccfca726 Timestamps should be in milliseconds 6 years ago
Travis Ralston cad1db2a14 Unpadded means unpadded 6 years ago
Travis Ralston 9dbb627d7b Undo accidental changes to the operation ID 6 years ago
Travis Ralston 2f71703427 Deprecate key ID querying 6 years ago
Travis Ralston 9fdd8a6f96 Document how leaving rooms/rejecting invites over federation works
Fixes https://github.com/matrix-org/matrix-doc/issues/1401

This is very similar to the joining rooms handshake, and much of it is a near copy/paste of the make_join and send_join API. The major difference is the send_leave API doesn't return anything.

References:
* Handling of make_leave: d69decd5c7/synapse/handlers/federation.py (L1285-L1310)
* send_leave route: d69decd5c7/synapse/federation/transport/client.py (L267)
* make_leave route: d69decd5c7/synapse/federation/transport/server.py (L396)
* send_leave returning nothing: d69decd5c7/synapse/handlers/federation.py (L1346)
6 years ago
Travis Ralston 1b374eafbc
Merge pull request #1454 from turt2live/travis/fix-proposals-blocked
Only get issues that are proposals when finding proposals
6 years ago
Travis Ralston 4f24d2101f Only get issues that are proposals when finding proposals
Otherwise we end up with not-proposals showing up in the list.
6 years ago
Travis Ralston fcaa299f81 Include information on how invite_room_state works
This is completely optional, and the events included are up to the sender. 

Sources:
* Structure: d69decd5c7/synapse/handlers/message.py (L896-L904)
* What events are recommended: d69decd5c7/synapse/config/api.py (L30-L40)
6 years ago
Travis Ralston f873bae0cc Improve documentation for how non-third party invites work
The details are fairly straightforward. An `event` has been added to the response body because that's what Synapse returns, despite the spec saying otherwise until now: d69decd5c7/synapse/federation/federation_server.py (L339)
6 years ago
Travis Ralston c2f1c6e78d Improve the joining rooms handshake documentation
There isn't a whole lot to this section that needed work. The section overall lost the table schema in favour of having the endpoints close by.

The directory query is improved in https://github.com/matrix-org/matrix-doc/pull/1443
6 years ago
Travis Ralston 8e97b0ca81 Improve the server key exchange portion of the s2s specification
Most of the text has been shuffled into the swagger definitions to bring it closer to where it matters.

This also attempts to clarify what is out in the wild. Most importantly, the first version of the key exchange is outright removed from the specification. Other research points/questions are:

* What is a "Key ID"?
  * 1241156c82/synapse/rest/key/v2/local_key_resource.py (L81-L83)
  * 1241156c82/synapse/rest/key/v2/local_key_resource.py (L88-L91)
* Returning a cached response if the server throws a 400, 500, or otherwise not-offline status code
  * 1241156c82/synapse/rest/key/v2/remote_key_resource.py (L227-L229)
* `minimum_valid_until_ts` default
  * This branch of the ladder: 1241156c82/synapse/rest/key/v2/remote_key_resource.py (L192)
* Returning empty arrays when querying offline/no servers
  * Queried by hand against matrix.org as a notary server with a fake domain name to query
* Returning all keys even when querying for specific keys
  * Queried by hand using matrix.org as a notary server against a server publishing multiple keys.

The examples and descriptions were also improved as part of this commit.
6 years ago
Travis Ralston d914c402e2 Improve the profile query to have more sane responses
This is a mix of Synapse and Dendrite behaviour, mostly Dendrite. Synapse returns `null` for field values that aren't set, however Dendrite just doesn't return them and instead opts for an empty object.

Further, synapse is lacking in error codes in this area. Dendrite does some additional validation on this API which introduces more errors for bad requests, instead of defaulting to empty objects/200 OK responses.

Likewise, Dendrite returns a 404 when the user is not found while Synapse returns 200 OK/empty object.
6 years ago
Travis Ralston 0ddf578b61 Combine all queries into their own section
This removes the Directory and Profile sections, instead opting to document them as Queries. 

The behaviour of profile queries is based on Synapse's behaviour. A few issues have been opened to improve the behaviour:
* https://github.com/matrix-org/matrix-doc/issues/1434
* https://github.com/matrix-org/matrix-doc/issues/1435
* https://github.com/matrix-org/matrix-doc/issues/1436
* https://github.com/matrix-org/matrix-doc/issues/1437

This fixes https://github.com/matrix-org/matrix-doc/issues/1404
6 years ago
Travis Ralston b0744aa1e9
Merge pull request #1413 from turt2live/travis/s2s/join-swagger
Convert joins/invites to swagger
6 years ago
Travis Ralston af0629a520 Full stop 6 years ago
Travis Ralston 6368b03280
Merge pull request #1449 from turt2live/travis/down-with-travis
Remove Travis CI configuration
6 years ago
Richard van der Hoff 17811bca27
Merge pull request #1448 from turt2live/travis/s2s/pdu-event-id
Add the event_id to unsigned PDUs
6 years ago
Will Hunt bdb881420c
Merge branch 'master' into hs/dns-to-be-hostname 6 years ago
Travis Ralston dcc4b0bfbc Remove Travis CI configuration
We're using Circle CI for testing a bunch of the spec, and so far it has the advantage of being faster. Also, it's not named the same as me.

We can also remove the Travis CI specific check in generate-matrix-org-assets because Circle CI doesn't touch this.
6 years ago
Travis Ralston 9f399a08fe Full stops
I'm never going to remember these
6 years ago
Travis Ralston 0d1b82a601 Add the event_id to unsigned PDUs
This went missing in the swagger conversion. The example already has an event_id.
6 years ago
Travis Ralston eaf175056f Full stops 6 years ago
Travis Ralston 797aca87bd Update the check_examples.py script to resolve references
The script previously wasn't chasing down valid references in examples.
6 years ago
Travis Ralston 7314405904 Update comment 6 years ago
Travis Ralston 45ec8269e6 Fill out the required fields in all the examples 6 years ago
Travis Ralston 9c1c541a38 Remove extra "required" declarations
"required" is something that is handled as an array, and these are invalid. The `type` in both cases is covered by a required array elsewhere
6 years ago
Travis Ralston 004998b98f Convert invites to swagger
The whole section reads like a description for the endpoint, and has been replaced by the swagger definition now (rather than at a later stage). All the same information should be kept.
6 years ago
Travis Ralston f09c4fd286 Convert joins to swagger 6 years ago
Travis Ralston 24e531a896
Merge pull request #1406 from turt2live/travis/s2s/transactions-swagger
Convert things that mention "Transaction" to swagger
6 years ago
Travis Ralston acf9632afc Enlist the examples 6 years ago
Travis Ralston 9fa838d3e8 Improve type naming 6 years ago
Travis Ralston 5ade15534d Remove extra branch in example generation 6 years ago