Commit graph

239 commits

Author SHA1 Message Date
Travis Ralston
86d7f42173
Merge pull request #1455 from turt2live/travis/s2s/leaving-rooms
Document how leaving rooms/rejecting invites over federation works
2018-08-03 08:00:56 -06:00
Travis Ralston
d48f1e1713
Merge pull request #1461 from turt2live/travis/s2s/transactions
Improve documentation on how Transactions work
2018-08-03 07:38:45 -06:00
Travis Ralston
cda88f3b3d Document /get_missing_events
Fixes https://github.com/matrix-org/matrix-doc/issues/1385
2018-08-02 23:18:08 -06:00
Travis Ralston
05bb7e1050 Spelling and word choice 2018-08-02 18:45:59 -06:00
Travis Ralston
53d4003d3a manual merge of master into travis/s2s/query 2018-08-02 16:48:32 -06:00
Travis Ralston
48972addbf
Merge pull request #1428 from turt2live/travis/s2s/joining-rooms
Improve the documentation for joining rooms
2018-08-02 16:44:31 -06:00
Travis Ralston
a9258ed195 an -> a 2018-08-02 16:43:29 -06:00
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.
2018-08-02 12:44:54 -06:00
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.
2018-08-01 13:31:23 -06:00
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.
2018-07-31 13:58:23 -06:00
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.
2018-07-30 16:58:13 -06:00
Travis Ralston
8f1a4ae0ea Formatting 2018-07-26 16:43:51 -06:00
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)
2018-07-26 14:59:43 -06:00
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)
2018-07-26 08:44:10 -06:00
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
2018-07-26 08:43:08 -06:00
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.
2018-07-26 08:41:00 -06:00
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
2018-07-26 08:40:39 -06:00
Will Hunt
bdb881420c
Merge branch 'master' into hs/dns-to-be-hostname 2018-07-24 23:12:12 +01:00
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.
2018-07-24 10:58:15 -06:00
Travis Ralston
f09c4fd286 Convert joins to swagger 2018-07-24 10:58:15 -06:00
Travis Ralston
cb4fcd1d09 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger 2018-07-24 09:15:36 -06:00
Travis Ralston
2aafde4549
Merge pull request #1419 from turt2live/travis/s2s/3pinvites-swagger
Convert third party invite exchange to swagger
2018-07-23 10:33:00 -06:00
Travis Ralston
e226b60c7f Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger 2018-07-18 10:59:39 -06:00
Travis Ralston
7cb918407d Merge remote-tracking branch 'matrix-org/master' into travis/s2s/keys-swagger 2018-07-18 10:32:46 -06:00
Travis Ralston
cf93c88337 Convert third party invite exchange to swagger 2018-07-13 15:44:33 -06:00
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.
2018-07-12 13:46:42 -06:00
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.
2018-07-11 16:52:27 -06:00
Travis Ralston
96889f16e9 Split out and fix the /server and /query key APIs 2018-07-11 13:20:44 -06:00
Travis Ralston
bd2c0b7c98 Convert server keys to swagger 2018-07-11 13:09:19 -06:00
Will Hunt
92f3989f2b Dirty replace of DNS name -> hostname 2018-07-05 11:37:06 +01:00
Travis Ralston
2fc2926461 Clearly say that the server/server API is unstable and subject to change 2018-07-04 11:33:51 -06:00
user
54c3003b74 newly joined -> newly-joined 2018-06-17 16:35:23 +01:00
user
5ab5fe08d1 Small grammatical and stylistic fixes 2018-06-17 15:49:39 +01:00
Andrew Morgan
2e5cdaf51c
Fix typo
"To stream events all the events" -> "To stream all the events"
2018-06-11 14:25:05 +01:00
Richard van der Hoff
cefd1a832e
server_server_api: fix typo in auth section
fixes "destintation" typo
2018-06-05 17:55:21 +01:00
Richard van der Hoff
3dfa643b8b Fix membership state names
It's called 'join', not 'joined'.
2018-02-20 20:25:31 +00:00
Richard van der Hoff
15ca952cc3 remove spurious word 2017-12-20 10:10:02 +00:00
Richard van der Hoff
1fb7647021 send_join: clarify auth_chain description
The auth_chain field should contain all of the auth events required to auth the
state events, as well as those required to auth the join event itself.

(cf e148438/synapse/handlers/federation.py (L1076-L1077)).
2017-12-18 17:58:35 +00:00
Richard van der Hoff
08d137a588 We sign the request body, not the JSON
when signing federation requests, we put the actual request body into the
canonicaljson to be signed, not the JSON representation of it.
2017-12-10 23:09:12 +00:00
Richard van der Hoff
56f878842c Add a warning that state resolution has problems 2017-12-10 23:05:55 +00:00
Richard van der Hoff
5ab9ee6b88 Link to auth rules 2017-11-22 22:42:55 +00:00
Richard van der Hoff
0960229a80 Document the state resolution algorithm
or at least, my understanding of it.
2017-11-22 22:35:47 +00:00
Maxime Dor
e8af5622a7 Use proper room event type for redaction 2017-11-21 20:29:18 +01:00
Richard van der Hoff
96d93e11d7
Tweak wording of auth rules slightly 2017-11-20 12:57:34 +00:00
Maxime Dor
c4f53f58d7 Fix auth rules to allow first PL event 2017-11-18 21:25:18 +01:00
Richard van der Hoff
58a3fa3d60
Merge pull request #1075 from matrix-org/rav/pdu_fields
Improve documentation of Transactions and PDUs
2017-11-16 15:42:36 +00:00
Richard van der Hoff
6a653b742c Document auth_events 2017-11-15 23:44:46 +00:00
Richard van der Hoff
632ba032af Improve Transaction and PDU documentation
Fix a bunch of lies about the fields in these structures.
2017-11-15 23:44:41 +00:00
Marcus Medom Ryding
8a446fa6df Modify event auth rules not to rely on depth
Signed-off-by: Marcus Medom Ryding <mrok4a@gmail.com>
2017-11-15 19:24:46 +01:00
Maxime Dor
bb50ec2e88 Document directory query endpoint 2017-11-15 13:40:55 +01:00