0
0
Fork 0
Commit Graph

231 Commits

Author SHA1 Message Date
Matthew Hodgson 0afdcc59ea spell out stream_id and fix todo 2018-09-01 02:10:45 +01:00
Matthew Hodgson 30d56691b1 document device list synchronisation over federation.
untested
closes MSC1212
2018-09-01 01:48:02 +01:00
Travis Ralston 38ae166e9d
Merge pull request #1505 from turt2live/travis/general/3pid_invite
Clarify how third party invites work
2018-08-31 08:38:40 -06:00
Erik Johnston 080845ac1c Add link to previous section 2018-08-31 12:00:38 +01:00
Erik Johnston bbca5ce43a Merge branch 'master' of github.com:matrix-org/matrix-doc into erikj/limit_auth_events 2018-08-31 11:52:36 +01:00
Erik Johnston b6ed25e4b4 Fix incorrect indent 2018-08-31 11:32:29 +01:00
Erik Johnston f3a13eed76
Merge pull request #1593 from matrix-org/erikj/auth_events
Update rules on which events to add to `auth_events`
2018-08-31 11:27:03 +01:00
Erik Johnston 86891ca7e4
Merge pull request #1625 from matrix-org/erikj/auth_rejections
Explain how to handle rejected events
2018-08-31 11:26:57 +01:00
Erik Johnston d91dc6fbf6 Fixup 2018-08-31 11:20:26 +01:00
Erik Johnston 4d653748d6 Add note back in 2018-08-31 11:17:58 +01:00
Erik Johnston 8e6c8ba59e Merge branch 'master' of github.com:matrix-org/matrix-doc into erikj/spec_3pid_ruls 2018-08-31 11:13:13 +01:00
Erik Johnston a1aedb386a Actually use proper sentences like a proper adult 2018-08-31 11:04:49 +01:00
Erik Johnston 0adfd1ebb0
Merge pull request #1591 from matrix-org/erikj/fixup_auth_rules
Fix up auth rules
2018-08-31 11:01:12 +01:00
Erik Johnston d63184ebac Fixup 2018-08-31 10:59:42 +01:00
Erik Johnston 3c53e1910d Fixup 2018-08-31 10:51:59 +01:00
Erik Johnston 1a45bc4a85 Reword 2018-08-31 10:24:51 +01:00
Erik Johnston 59f86ec8f2 Reindent as RST requires sublists to be three spaces 2018-08-31 10:07:59 +01:00
Erik Johnston f4706c8889 Require creator field 2018-08-31 10:06:26 +01:00
Erik Johnston f3aea32a24 Be consistent with 'If..., reject' 2018-08-31 09:59:45 +01:00
Erik Johnston 6c8a45c165 Full stops 2018-08-31 09:57:00 +01:00
Erik Johnston ebb044674f Remove duplicated explanation about event rejection 2018-08-31 09:51:17 +01:00
Travis Ralston caaa688e37 Fix links to client-server spec 2018-08-30 16:28:26 -06:00
Travis Ralston 219b27b182 Merge remote matrix-org/master 2018-08-30 16:27:20 -06:00
Richard van der Hoff 0f84c69805
Merge branch 'master' into rav/clarify_event_signing 2018-08-30 22:48:56 +01:00
Travis Ralston d57b977a55 Merge branch 'm-master' into travis/general/3pid_invite 2018-08-30 15:01:31 -06:00
Travis Ralston f09db16027 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/key-mgmt 2018-08-30 12:19:59 -06:00
Travis Ralston 2753d24302 Merge remote-tracking branch 'matrix-org/master' into travis/general/r0-prep 2018-08-30 12:17:09 -06:00
Travis Ralston ab14f33060 Add link to the client-server ACLs module 2018-08-30 10:11:37 -06:00
Erik Johnston 5c2b8e3569 Explain how to handle rejeceted events 2018-08-30 17:03:16 +01:00
Hubert Chathi db644ca522 add some clarifications 2018-08-30 11:24:39 -04: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
Richard van der Hoff 6ba50fe2f6
Merge pull request #1588 from matrix-org/rav/fix_server_name
Specify that server names cannot be %-encoded
2018-08-30 10:48:06 +01:00
Hubert Chathi 9b94e588e6 document new state resolution algorithm 2018-08-29 21:39:49 -04:00
Travis Ralston c7a228bf7b Don't make the major version a variable
We are likely to want to maintain v1 when we release a v2, so we'll avoid a variable for now.
2018-08-29 19:32:52 -06:00
Travis Ralston e7a69a6a6d Merge remote-tracking branch 'matrix-org/master' into travis/general/r0-prep 2018-08-29 19:29:42 -06:00
Richard van der Hoff 196159be91 We should include the Host header if the port was explicit. 2018-08-29 22:18:14 +01:00
Travis Ralston f2d02c9559 Take out device management section for now
This will be handled by the implementation of https://github.com/matrix-org/matrix-doc/issues/1212
2018-08-29 14:37:30 -06:00
Travis Ralston 8950f0b2cc Spelling 2018-08-29 14:36:43 -06:00
Erik Johnston d921b81c70 Reject events with superfluous auth_events entries 2018-08-29 14:17:52 +01:00
Erik Johnston 073ebb051b Spec third party invites in auth rules 2018-08-29 14:01:07 +01:00
Erik Johnston 5d40af7ecf Update rules on which events to add to `auth_events` 2018-08-29 13:24:02 +01:00
Erik Johnston 86b5486445 Add missing clauses to and fix authorization rules
They are still missing third party invites.
2018-08-29 11:32:14 +01:00
Erik Johnston 0b7b3bfcb0 Reindent auth rules section
RST expects sub lists to be indented by three or more spaces. By doing
so we can then rely on `#.` for automatic numbering.
2018-08-29 11:20:33 +01:00
Richard van der Hoff d493c82e82 even more clarification 2018-08-29 10:04:02 +01:00
Erik Johnston 7327656965
Merge pull request #1581 from matrix-org/erikj/limit_txn_size
Specify a limit on the number of EDUs and PDUs a transaction can contain
2018-08-29 09:48:57 +01:00
Richard van der Hoff 78d8118846 Further server_name clarification 2018-08-29 09:36:50 +01:00
Richard van der Hoff f15eafae7f Remove trailing spaces 2018-08-29 09:26:31 +01:00
Richard van der Hoff 08fba5de51 Link to grammar rather than duplicating. 2018-08-29 09:25:38 +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 cff5b8b205 More versioned links 2018-08-27 19:30:46 -06:00
Travis Ralston be97e95dc1 Promote device management to be a dedicated section 2018-08-27 14:49:38 -06:00
Travis Ralston 8069981252 Add federation /user/* endpoints
Fixes https://github.com/matrix-org/matrix-doc/issues/1438
2018-08-27 14:19:10 -06:00
Travis Ralston d370a2c6fd Prepare the identity service and server-server APIs for r0
* Create the changelog scaffolding
* Set up the variables for versioning
2018-08-24 17:19:25 -06:00
Travis Ralston ef41b5c2bf Server ACLs
Implements the proposal for https://github.com/matrix-org/matrix-doc/issues/1383
2018-08-22 12:48:37 -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 44d1f8dbe5 s/timeline/event graph 2018-08-17 09:46:11 -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 ff1afaa8f7 Add a note about how presence lists work 2018-08-17 09:33:17 -06:00
Travis Ralston e7aed3da26 Remove poll/unpoll from presence 2018-08-17 09:16:39 -06:00
Travis Ralston 4b9922b641
Merge pull request #1494 from turt2live/travis/general/openid
Document OpenID in the client-server and server-server APIs
2018-08-17 08:57:33 -06:00
Travis Ralston 2eab07ade4 Fix header in server-server API 2018-08-16 11:45:53 -06:00
Travis Ralston 2aa0e7b00f
Merge pull request #1483 from turt2live/travis/s2s/typing
Document how typing notifications work over federation
2018-08-16 10:09:21 -06:00
Travis Ralston 88b35d1be5 Clarify how third party invites work
This adds several diagrams to the Client-Server API about how invites
are handled, including what the server is expected to do. This helps
implementors know what they are supposed to do in the common cases,
and infer where needed to get the more complex cases correct.

Although lacking in some areas, this is how third party invites work
today.

A link to the now-improved client-server documentation for third party
invites has been added to the server-server specification. The existing
server-server specification needed no further changes on the subject.

Fixes https://github.com/matrix-org/matrix-doc/issues/1366
2018-08-13 16:29:50 -06:00
Travis Ralston 50fc1c4d16 Move backfill/get events so that joins, leaves, and invites are together 2018-08-09 08:35:24 -06:00
Travis Ralston 83ea90f7ba Move the Authentication section higher in the spec
It forms the foundation for all the requests under it, so it should appear before the endpoints that need it.
2018-08-09 08:33:31 -06:00
Travis Ralston 32178bb07e Tidy up the specification
* Minor word choice changes
* Remove the now-empty "Protocol URLs" section
2018-08-09 08:33:00 -06:00
Travis Ralston 56dbeeb22a
Merge pull request #1469 from turt2live/travis/s2s/backfill
Improve documentation for backfilling rooms
2018-08-09 08:00:43 -06:00
Travis Ralston c8a8fdfa8d
Merge pull request #1493 from turt2live/travis/s2s/media
Mention how the content repository works over federation
2018-08-08 08:30:08 -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 dcae88c290 Document OpenID in the server-server API
Part of https://github.com/matrix-org/matrix-doc/issues/857

Reference: d69decd5c7/synapse/federation/transport/server.py (L543-L557)
2018-08-07 22:13:21 -06:00
Travis Ralston cdcd72c0e3 Fix stray hash on client-server API link
This shouldn't be here, and nothing appears to need it. Removing it now because it has been noticed.
2018-08-07 17:02:24 -06:00
Travis Ralston 0858e7bd23 Mention how the content repository works over federation
We might want to consider promoting the media repo to it's own API, and maybe consider calling it the Media Repo rather than Content Repo.

Source of information: experience.
2018-08-07 16:58:14 -06:00
Travis Ralston 521dcdd5d5 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/backfill 2018-08-07 08:54:25 -06:00
Travis Ralston 35f15ba3d8
Merge pull request #1477 from turt2live/travis/s2s/public-rooms
Document the /publicRooms endpoint for federation
2018-08-07 08:31:10 -06:00
Travis Ralston d712bfc73d
Merge pull request #1479 from turt2live/travis/s2s/server-discovery
Federation: Document the Host header; Clarify how literal IP addresses are handled
2018-08-07 08:30:47 -06:00
Travis Ralston e10770ae8b
Merge pull request #1475 from turt2live/travis/s2s/event-auth
Document /event_auth and /query_auth
2018-08-07 08:30:22 -06:00
Florian Jacob e7cebf670e Fix minor spelling mistake from #1472
Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
2018-08-06 22:59:26 +02:00
Travis Ralston dcb39f8890 Fix wording from bad merge 2018-08-05 10:55:55 -06:00
Will Hunt c826edf23b Remove dns_name from S2S Api 2018-08-05 14:46:42 +01:00
Will Hunt 7a46bdae02
Spacing 2018-08-05 14:43:05 +01:00
Will Hunt 632101dcde
Merge branch 'master' into hs/dns-to-be-hostname 2018-08-05 14:42:05 +01:00
Travis Ralston 5fbaa1deb5 Federation: Document the Host header; Clarify how literal IP addresses are handled
Fixes https://github.com/matrix-org/matrix-doc/issues/1161

The IP address clarification is to add an explicit mention of how to handle the case. The prior documentation assumed that all servers would be resolvable with DNS, and does technically have a fallback to use the fallback port, however making it clear feels like a good idea.
2018-08-03 13:20:46 -06:00
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)
2018-08-03 11:23:44 -06:00
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
2018-08-03 09:27:19 -06:00
Travis Ralston 6b67d501e4
Merge branch 'master' into travis/s2s/query 2018-08-03 08:55:21 -06:00
Travis Ralston 3a9fb11c9b
Merge branch 'master' into travis/s2s/backfill 2018-08-03 08:54:40 -06:00
Travis Ralston 1578da453b
Merge branch 'master' into travis/s2s/get-event 2018-08-03 08:01:43 -06:00
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