Commit graph

61 commits

Author SHA1 Message Date
Matthew Hodgson
43f2819702 switch to travis' example 2018-09-01 03:06:15 +01:00
Matthew Hodgson
49f0a06238 experiment with additionalProperties some more 2018-09-01 03:03:51 +01:00
Matthew Hodgson
f6326030ba backtick asterisk 2018-09-01 03:02:46 +01:00
Matthew Hodgson
7430c3b56f experiment with additionalProperties 2018-09-01 03:01:41 +01:00
Matthew Hodgson
337041610f one slash? 2018-09-01 02:53:15 +01:00
Matthew Hodgson
a842e0433d try escaping the asterisk 2018-09-01 02:50:32 +01:00
Matthew Hodgson
42b11e096f Review 2018-09-01 02:48:37 +01:00
Matthew Hodgson
db302b66ca revert example which was corect first time; fix rst 2018-09-01 02:44:53 +01:00
Matthew Hodgson
2c0b45fd14 fix example? 2018-09-01 02:41:53 +01:00
Matthew Hodgson
0f9a23c471 swaggerify to-device 2018-09-01 02:37:31 +01:00
Richard van der Hoff
55c4307f12 Rewrite the section on signing events
... for clarity and de-duplication. And to say a bit about validating the
signatures.
2018-08-30 14:37:24 +01:00
Erik Johnston
fc1fdc95af Specify a limit on the number of EDUs and PDUs a transaction can contain 2018-08-28 17:29:58 +01:00
Travis Ralston
1d7ea314d4
Merge pull request #1482 from turt2live/travis/s2s/presence
Document how presence EDUs work between servers
2018-08-21 11:26:32 -06:00
Travis Ralston
e500e2502a Document the maximum value for depth
Implements the proposal for https://github.com/matrix-org/matrix-doc/issues/1230
2018-08-21 09:38:01 -06:00
Travis Ralston
8b65da1cf6 Don't try and be fancy about titles 2018-08-20 11:07:10 -06:00
Travis Ralston
e712466dca Improve description for currently_active 2018-08-20 10:44:28 -06:00
Travis Ralston
a4015d5c27 Spelling 2018-08-17 10:58:20 -06:00
Travis Ralston
750d4f9fda Rename the presence EDU files to be accurate to their types; Misc cleanup of titles 2018-08-17 10:53:47 -06:00
Travis Ralston
ebca4c7d86 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/presence 2018-08-17 09:53:57 -06:00
Travis Ralston
21dc6f823a
Merge pull request #1484 from turt2live/travis/s2s/read-receipts
Document how read receipts work over federation
2018-08-17 09:50:40 -06:00
Travis Ralston
c492fe43b5 Add strict typing to the m.receipt EDU; Fix description of event_ids 2018-08-17 09:46:31 -06:00
Travis Ralston
96896fe5d6 Add a strict type the m.typing EDU 2018-08-17 09:34:50 -06:00
Travis Ralston
a53fa9300d Merge remote-tracking branch 'matrix-org/master' into travis/s2s/presence 2018-08-17 09:34:16 -06:00
Travis Ralston
766402a702 Use strict types for the presence EDUs 2018-08-17 09:34:08 -06:00
Travis Ralston
549a25cad9 Add a mention about how currently_active works
Reference: d69decd5c7/synapse/handlers/presence.py (L66-L68)
2018-08-17 09:33:40 -06:00
Travis Ralston
e7aed3da26 Remove poll/unpoll from presence 2018-08-17 09:16:39 -06:00
Travis Ralston
49ec0a36a8
Merge pull request #1481 from turt2live/travis/s2s/authentication
Define authorization requirements on federation swagger APIs
2018-08-17 09:01:39 -06:00
Travis Ralston
25c77ab2d0 Define authorization requirements on federation swagger APIs 2018-08-09 08:37:35 -06:00
Travis Ralston
0a7e670715 Document how typing notifications work over federation
Relevant synapse code: d69decd5c7/synapse/handlers/typing.py (L221-L230)
2018-08-08 08:28:52 -06:00
Travis Ralston
e03bfbc47b Document how read receipts work over federation
Federation format: d69decd5c7/synapse/handlers/receipts.py (L153-L166)

Population of the fields that the above uses to construct the EDU: d69decd5c7/synapse/handlers/receipts.py (L48-L56)
2018-08-08 08:27:22 -06:00
Travis Ralston
05a2427c73 Document how presence EDUs work between servers
It's worth noting that Synapse does not make use of the `poll` or `unpoll` fields, and therefore the wording has been updated to permit servers to reject users. In the case of synapse, it would automatically reject everyone in the list by nature of ignoring it.
2018-08-08 08:24:09 -06:00
Travis Ralston
a77975ba68
Merge pull request #1450 from turt2live/travis/s2s/inviting-rooms
Improve documentation for how non-third party invites work
2018-08-08 08:19:50 -06:00
Travis Ralston
0f8954d839
Merge pull request #1463 from turt2live/travis/s2s/pdus-and-edus
Improve documentation around EDUs and PDUs
2018-08-08 08:02:37 -06:00
Travis Ralston
57eeddd849 Remove unused origin and destination on EDUs 2018-08-08 07:43:22 -06:00
Travis Ralston
cfdbee5fc2 EDU origin and destinations aren't required 2018-08-07 14:21:01 -06:00
Travis Ralston
7ada91787a age_ts isn't real 2018-08-07 14:20:46 -06:00
Travis Ralston
ef9d766dc3 Remove irrelevant TODO
We fixed the EDU, so we don't need this comment.
2018-08-03 14:51:46 -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
4b1955f395 Clarify what the auth_events on a PDU are 2018-08-02 12:06:43 -06:00
Travis Ralston
d0e8df8f3f prev_content is an object 2018-07-31 14:02:04 -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
cafd1a9ab3 Use more modern timestamps 2018-07-26 16:46:33 -06:00
Travis Ralston
e27f4a69a0 Key versions must be [0-9a-zA-Z_] 2018-07-26 16:46:13 -06:00
Travis Ralston
bdccfca726 Timestamps should be in milliseconds 2018-07-26 16:43:43 -06:00
Travis Ralston
cad1db2a14 Unpadded means unpadded 2018-07-26 16:43:16 -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
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
b0744aa1e9
Merge pull request #1413 from turt2live/travis/s2s/join-swagger
Convert joins/invites to swagger
2018-07-26 08:39:26 -06:00
Travis Ralston
9f399a08fe Full stops
I'm never going to remember these
2018-07-24 14:41:42 -06:00