Commit Graph

2956 Commits (4f83bd3e36d2452a4d23fdaa581bab1da7b9617e)
 

Author SHA1 Message Date
Travis Ralston ea307b5bdb Support rendering schema definitions in the spec 6 years ago
Ben Parsons 1d019c3757
Merge pull request #1340 from matrix-org/benparsons/prdefence
expect "#<pull-number>" or "/pull/<pull-number>" in PRs field
6 years ago
Ben Parsons d7919b6989 also scrape PRs when the full URL is pasted 6 years ago
Travis Ralston bc3e45d642
Merge pull request #1358 from uhoreg/ignore-emacs-tmp
ignore emacs temporary files
6 years ago
Travis Ralston f5af4d2fb5
Merge pull request #1457 from matrix-org/dbkr/fix_room_tags
Fix room tags spec
6 years ago
Travis Ralston 761b0e4819
Merge pull request #1459 from QMatrixClient/check_examples_windows
Make check_examples.py work on Windows
6 years ago
Travis Ralston 7679b4f1d1 Improve documentation on how Transactions work
The response is based upon various sections of the Synapse code in how it generates a response.

There are no new fields added to the transaction. Originally, `previous_ids` and `pdu_failures` were to be documented however neither of these are used in the real world.
6 years ago
user 5f8967c074 Move TODO. field1, field2... -> fields... 6 years ago
user a2e2ced03b Add reverse-lookup examples. 6 years ago
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