Travis Ralston
6ac25d167c
get_missing_events consumes JSON
6 years ago
Travis Ralston
2ac80d38d7
Document the /publicRooms endpoint for federation
...
This intentionally doesn't document the third party network aspect of the endpoint. This is scheduled for a later area for dealing with third party network/IDs and is reported as https://github.com/matrix-org/matrix-doc/issues/1476
The client-server response has been broken out to a shared file: both the client-server and server-server /publicRoom endpoints return the same thing, with slightly different inputs.
The inputs (and behaviour) are based upon the docstring here: 43ecfe0b10/synapse/federation/transport/server.py (L583-L612)
6 years ago
Travis Ralston
73958ecbff
Document /event_auth and /query_auth
...
/event_auth is a fairly easy endpoint to determine the use case of. /query_auth is a little harder to investigate and has a fairly interesting purpose: it appears to be used for the sending server to admit defeat and shop around for the right auth chain, correcting it's own perspective as it goes.
/query_auth is based off the following research points in synapse:
* 43ecfe0b10/synapse/handlers/federation.py (L1947-L1990)
* 43ecfe0b10/synapse/handlers/federation.py (L2049-L2187)
* 43ecfe0b10/synapse/handlers/federation.py (L1716-L1761)
* 43ecfe0b10/synapse/federation/federation_server.py (L393-L446)
* https://github.com/matrix-org/synapse/blob/master/synapse/federation/transport/server.py#L482-L487
6 years ago
Travis Ralston
6b67d501e4
Merge branch 'master' into travis/s2s/query
6 years ago
Travis Ralston
3a9fb11c9b
Merge branch 'master' into travis/s2s/backfill
6 years ago
Travis Ralston
1578da453b
Merge branch 'master' into travis/s2s/get-event
6 years ago
Travis Ralston
86d7f42173
Merge pull request #1455 from turt2live/travis/s2s/leaving-rooms
...
Document how leaving rooms/rejecting invites over federation works
6 years ago
Travis Ralston
d48f1e1713
Merge pull request #1461 from turt2live/travis/s2s/transactions
...
Improve documentation on how Transactions work
6 years ago
Travis Ralston
cda88f3b3d
Document /get_missing_events
...
Fixes https://github.com/matrix-org/matrix-doc/issues/1385
6 years ago
Travis Ralston
e766606f24
join -> leave
6 years ago
Travis Ralston
0b313dbdd9
Don't explain what a 400 Bad Request is
6 years ago
Travis Ralston
05bb7e1050
Spelling and word choice
6 years ago
Travis Ralston
53d4003d3a
manual merge of master into travis/s2s/query
6 years ago
Travis Ralston
48972addbf
Merge pull request #1428 from turt2live/travis/s2s/joining-rooms
...
Improve the documentation for joining rooms
6 years ago
Travis Ralston
5596243add
origin is required
6 years ago
Travis Ralston
8b7bc60367
list -> array
6 years ago
Travis Ralston
9d474bb819
Document event retrieval endpoints in more detail
...
This also adds a previously-undocumented endpoint: /state_ids
Backfill is technically not part of this section, however it is being left untouched to make the merge with #1469 easier (which moves it out of the file).
Reference material:
* Some calls to synapse on these endpoints with a relatively simple private room.
6 years ago
Travis Ralston
4b1955f395
Clarify what the auth_events on a PDU are
6 years ago
Travis Ralston
5aef545128
Improve documentation for backfilling rooms
...
There's not a whole lot to improve here - most of the changes are about reorganization and minor clarifications.
6 years ago
Travis Ralston
b96ee3e393
Merge pull request #1423 from turt2live/travis/s2s/keys
...
Improve the server key exchange portion of the s2s specification
6 years ago
Andrew Morgan
54a88eebf0
Merge pull request #1414 from matrix-org/anoa/third_party_cleanup
...
Clarification on third party fields
6 years ago
Travis Ralston
d0e8df8f3f
prev_content is an object
6 years ago
Travis Ralston
5027a9a59a
Improve documentation around EDUs and PDUs
...
Clarify fields, improve examples, and make the tables in the spec be generated rather than duplicated.
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
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
5ddf5374db
Missing comma
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
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
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
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
cb4fcd1d09
Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger
6 years ago
Travis Ralston
88beaf4ad8
Completely remove /pull
...
It's not been in use for years - we can safely let it disappear
6 years ago
Travis Ralston
21c4af70a9
Fix schema definitions (spelling, attributes)
6 years ago
Travis Ralston
2aafde4549
Merge pull request #1419 from turt2live/travis/s2s/3pinvites-swagger
...
Convert third party invite exchange to swagger
6 years ago
Travis Ralston
89384c96c1
Full stops, language.
6 years ago
Travis Ralston
e226b60c7f
Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger
6 years ago
Travis Ralston
bafdcf3640
Full stops, spelling, and operation IDs.
6 years ago
Travis Ralston
7cb918407d
Merge remote-tracking branch 'matrix-org/master' into travis/s2s/keys-swagger
6 years ago
Travis Ralston
05fb94e195
Merge remote-tracking branch 'matrix-org/master' into travis/better-errors
6 years ago
Travis Ralston
272f3d8432
Fix documentation link
6 years ago
Travis Ralston
cf93c88337
Convert third party invite exchange to swagger
6 years ago
Travis Ralston
d2b0b1bbda
Merge pull request #1379 from turt2live/travis/preset-guests
...
Document guest_access in /createRoom presets; Make presets a table
6 years ago
Travis Ralston
e5da1e1741
Improve upon the transaction schema and examples
...
Reduces data duplication and makes the objects more reusable for other areas of the spec
6 years ago
Travis Ralston
51faf8ed2e
Convert the general query API to swagger
...
Includes "moving" the directory query API into the same area. This will make more sense once the other query types are specified.
6 years ago
Travis Ralston
1829589d23
Convert 3pn errors to new definition
6 years ago
Travis Ralston
197c36c520
Merge remote-tracking branch 'matrix-org/master' into travis/better-errors
6 years ago
Travis Ralston
91c59e7384
Merge pull request #1353 from matrix-org/anoa/as_thirdparty_lookup
...
Thirdparty Entity Lookup API
6 years ago
Andrew Morgan
291a4dfc76
Third party lookup module. Fix wording
6 years ago
Travis Ralston
6e3993effe
Merge remote-tracking branch 'matrix-org/master' into travis/preset-guests
6 years ago
Travis Ralston
84e07a0c10
Convert errors in presence.yaml
6 years ago
Travis Ralston
16125f16f5
Spec retry_after_ms on ratelimit errors
6 years ago
Travis Ralston
8b513b9f8e
Merge remote-tracking branch 'matrix-org/master' into travis/better-errors
6 years ago
Andrew Morgan
8999887245
Path -> query params
6 years ago
Andrew Morgan
9bde78ac28
$ref needs to be under a schema:
6 years ago
Andrew Morgan
114bcf1a2e
Use $ref, clean up, fix errors, AS is now a C-S module.
6 years ago
Travis Ralston
374ec00046
Convert things that mention "Transaction" to swagger
...
There's two kinds of transactions currently: one with EDUs and one without. The one with EDUs is only used on /send, however the schema is still somewhat worth splitting out for simplicity.
The examples are brought apart to make them slightly more reusable for when they get dumped into the relevant sections of the spec (see TODO in server_server_api.rst)
Further, the Transactions stuff introduces tuples to the spec. The units.py has been updated to support this.
6 years ago
Travis Ralston
3e13ec2841
Fix required properties in POST /query
6 years ago
Travis Ralston
96889f16e9
Split out and fix the /server and /query key APIs
6 years ago
Travis Ralston
bd2c0b7c98
Convert server keys to swagger
6 years ago
Travis Ralston
fbee83d5cf
Clarify some of the properties on the search result
...
Fixes https://github.com/matrix-org/matrix-doc/issues/773
6 years ago
Travis Ralston
d7a979da63
Merge remote-tracking branch 'matrix-org/master' into travis/all-the-auth
6 years ago
Travis Ralston
516000bdc3
Fix error reference in media repo
6 years ago
Travis Ralston
ab75fc4b20
Merge remote-tracking branch 'matrix-org/master' into travis/better-errors
6 years ago
Travis Ralston
e7a6ff1064
Merge branch 'master' into travis/spec-reason
6 years ago
Travis Ralston
1722734a51
Merge pull request #1364 from turt2live/travis/server-name-join
...
Document the server_name query parameter on /join/{roomIdOrAlias}
6 years ago
Will Hunt
ff3c379339
Merge pull request #1189 from Half-Shot/hs/upload-limits
...
GET media/config 🎉
6 years ago
Will Hunt
77f4ac54aa
Wordy intro sentence for description
6 years ago
Will Hunt
2e6cc8045c
Better indent of description
6 years ago
Will Hunt
d5ce87e956
Split summary up into description and summary
6 years ago
Travis Ralston
bbf63d116c
Fix reference to error.yaml in forget room API
6 years ago
Travis Ralston
55c27d6212
Merge branch 'master' into travis/better-errors
6 years ago
Travis Ralston
4485b2f025
Merge branch 'master' into travis/server-name-join
6 years ago
Travis Ralston
c1c1f28c79
Merge branch 'master' into travis/dont-forget-to-leave
6 years ago
Travis Ralston
3935861445
Merge pull request #1380 from turt2live/travis/define-roomevent
...
Define RoomEvent on /rooms/{roomId}/messages
6 years ago
Andrew Morgan
e81e0328c2
Fix single protocol metadata endpoint path, remove 500s
6 years ago
Travis Ralston
16860ddd22
De-quote
6 years ago
Andrew Morgan
4c38012122
I can spell
6 years ago
Andrew Morgan
e6218b56ab
Switch properties to schema
6 years ago
Andrew Morgan
a6dad76c01
Fix indentation
6 years ago
Andrew Morgan
cc3724b54a
fix indentation, error messages. add rest of PR
6 years ago
Kitsune Ral
dfdc5f9bef
search.yaml: Rename some titles to avoid confusion between request and response schemas
...
Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me>
6 years ago
Travis Ralston
436b410698
Document the error code when someone tries to forget a room they are in
6 years ago
Travis Ralston
9b1f3a1f47
Document guest_access in /createRoom presets; Make presets a table
...
Previously the presets ended up being rendered as one long string (the indentation was not respected). This was hard to read and wasn't very clear.
Now that there's a larger amount of information, it makes some sense to put it into a table. Tables don't work nicely when nested in another table, so the preset definitions have been moved into the general route description.
This commit also updates the documentation to reference `preset`, not `presets` given the param is singular.
Fixes https://github.com/matrix-org/matrix-doc/issues/881
6 years ago
Hubert Chathi
ce1e2c0904
incorporate feedback from reviewers
6 years ago
Travis Ralston
9e796192e4
Document that clients must leave before forgetting rooms
...
Fixes https://github.com/matrix-org/matrix-doc/issues/1011
6 years ago
Hubert Chathi
5bc29eb11c
remove accidentally-committed backup file
6 years ago
Travis Ralston
05c85fd840
Spec the 403 on GET /presence/{userId}/status
6 years ago
Kitsune Ral
981d1004bc
Add a missing $ref
6 years ago
Travis Ralston
442ad99727
Merge pull request #1273 from QMatrixClient/content-repo-use-default
...
Add 'default' to formally enforce the description
6 years ago
Travis Ralston
caa6d4d9ad
Give all errors a schema reference
...
This just helps keep an overall structure
6 years ago
Travis Ralston
7cd22f5690
Describe the rate limit error everywhere
...
Fixes https://github.com/matrix-org/matrix-doc/issues/1153
6 years ago
Travis Ralston
1f12637d3f
Getting presence requires authentication
6 years ago
Travis Ralston
a6b0125da6
Our swagger doesn't support explode yet
6 years ago
Travis Ralston
d279fdafa6
Document the server_name query parameter on /join/{roomIdOrAlias}
...
Fixes https://github.com/matrix-org/matrix-doc/issues/904
6 years ago
Travis Ralston
7d94aaace8
Explicitly declare that the kick/ban reason will be on the membership event
...
Fixes https://github.com/matrix-org/matrix-doc/issues/798
6 years ago
Travis Ralston
2409c84968
Document the GET version of /login
...
Fixes https://github.com/matrix-org/matrix-doc/issues/677
6 years ago
Hubert Chathi
0dd330962d
initial draft of .well-known discovery
6 years ago
Andrew Morgan
d73b247688
3PE lookup service
6 years ago
Will Hunt
a1309d636c
Remove "Clients should handle gracefully" sentence
6 years ago
Will Hunt
41c18bed0f
+repository
6 years ago
Will Hunt
21e957edfb
Better note for /config
7 years ago
Will Hunt
1820df02d9
media => content repository
7 years ago
Will Hunt
091b2a6771
Hard limit on requiring accessToken. Rephrased some sections
7 years ago
Will Hunt
eeaf4385d7
Speling is my weakniss
7 years ago
Will Hunt
80935eadcf
Update content-repo.yaml
7 years ago
Will Hunt
ddc152347b
Extending words and rate limiting
7 years ago
Terrill Tsang
f032d6d1c3
Update keys.yaml
...
Fixed an end to end document bug , a format misleading in an claim response
7 years ago
Will Hunt
1140c0c05b
Document StateEvent for /createRoom ( #1329 )
7 years ago
Will Hunt
6d0a56d190
Suggestions by Travis tend to be sensible ones
7 years ago
Will Hunt
6b9640bcb4
upload_size => m.upload.size
7 years ago
Will Hunt
077cd04a6d
/limits => /config
7 years ago
user
5ab5fe08d1
Small grammatical and stylistic fixes
7 years ago
Michael Telatynski
df5455de1f
re-arrange fields in example /search request to make them a valid request.
7 years ago
Michael Telatynski
64f97c5b78
add example of highlights field in /search response
7 years ago
Michael Telatynski
4ff5887c91
spec the highlights field in /search response
7 years ago
Kitsune Ral
42fba1a87e
Add 'default' to formally enforce the description
...
A quick follow up on #1265 .
Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me>
7 years ago