Commit Graph

210 Commits (da740bfbca85920d7ddf93d319f3780f02cc9044)

Author SHA1 Message Date
Travis Ralston e27c83d9f8
Merge pull request #1817 from matrix-org/neilj/remove_presence_lists
remove references to presence lists
6 years ago
Travis Ralston 41e50d553e
Merge pull request #1830 from matrix-org/travis/spec/x509-wk
Specify .well-known s2s discovery and X.509 validation
6 years ago
Travis Ralston 01556e5b17 Clarifications and bug fixes in how v3 rooms work 6 years ago
Travis Ralston c888f3f080 Make example strings more legible 6 years ago
Travis Ralston 0347e873ef Specify .well-known s2s discovery and X.509 validation
Original proposals:
* https://github.com/matrix-org/matrix-doc/pull/1708 (note: the JSON requirements were softened by https://github.com/matrix-org/matrix-doc/pull/1824)
* https://github.com/matrix-org/matrix-doc/pull/1711

Implementation proofs:
* https://github.com/matrix-org/synapse/pull/4489
* No explicit PRs for MSC1711 could be found, however Synapse is known to implement it.

There are no intentional changes which differ from the proposals in this commit, however the author has relied upon various historical conversations outside of the proposals to gain the required context. Inaccuracies introduced by the author are purely accidental.
6 years ago
Travis Ralston ff75996524 Add specification for room version 3: Event IDs as hashes
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1659
Implementation proofs (some traversing of the PR tree may be required to get all of them):
* https://github.com/matrix-org/synapse/pull/4483
* https://github.com/matrix-org/synapse/pull/4499

This doesn't intentionally change anything from the proposal.

**Implementation details**:

The simple part of this is the introduction of a rooms/v3.html document. The somewhat unclear part is the stuff done to the s2s definitions. This pulls `unsigned_pdu` out to `unsigned_pdu_base` (all fields except `event_id`) where it can be reused in `pdu` and `pdu_v3` (for rooms v3). These definitions are further moved into the room version specifications where they can highlight the exact schemas in detail.

Version 1 has been updated to include the pre-existing event format, however the core principles of the room have not been changed. The same applies to room version 2. Room versions have immutable core principles once in the spec, otherwise these format changes would land in a pre-existing version.

The client-server API event formats will need updating, however that is being punted to a different commit to try and keep these changes reviewable.
6 years ago
Neil Johnson afd399d7d4 remove unused schema defs 6 years ago
Travis Ralston d2b35e5150
Merge pull request #1821 from matrix-org/travis/spec/rver-make-memberships
Specify the room_version response property on /make_{leave|join}
6 years ago
Erik Johnston c0039c30f2
Minor wording changes from code review
Co-Authored-By: turt2live <travpc@gmail.com>
6 years ago
Travis Ralston d12593feea Specify the room_version response property on /make_{leave|join}
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1813
Implementation proof: https://github.com/matrix-org/synapse/pull/4447

There are no changes from the original proposal.
6 years ago
Travis Ralston aca9437bf3 Specification for v2 s2s invite API
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1794
Implementation proofs:
* https://github.com/matrix-org/synapse/pull/4402
* https://github.com/matrix-org/synapse/pull/4496

There are no changes from the original proposal.
6 years ago
Neil Johnson bf2b6e6daa remove references to presence lists 6 years ago
Richard van der Hoff 818b48cbbb make_leave returns an `event` field too 6 years ago
Richard van der Hoff e17dd12007 make_join returns its event under an `event` key 6 years ago
Matthew Hodgson 6dab4b28f8
Merge pull request #1648 from matrix-org/matthew/device_list_update
document device list synchronisation over federation.
6 years ago
Konstantinos Sideris 192a6c2ab9 Use example.org on examples instead of domain.com which is a real domain
Signed-off-by: Konstantinos Sideris <sideris.konstantin@gmail.com>
6 years ago
Matthew Hodgson ee5e519885 device list is 2 words 6 years ago
Matthew Hodgson 928fc5cbe5 incorporate review 6 years ago
Matthew Hodgson 43f2819702 switch to travis' example 6 years ago
Matthew Hodgson 49f0a06238 experiment with additionalProperties some more 6 years ago
Matthew Hodgson f6326030ba backtick asterisk 6 years ago
Matthew Hodgson 7430c3b56f experiment with additionalProperties 6 years ago
Matthew Hodgson 337041610f one slash? 6 years ago
Matthew Hodgson b8608495e9 periods 6 years ago
Matthew Hodgson a842e0433d try escaping the asterisk 6 years ago
Matthew Hodgson 42b11e096f Review 6 years ago
Matthew Hodgson db302b66ca revert example which was corect first time; fix rst 6 years ago
Matthew Hodgson 2c0b45fd14 fix example? 6 years ago
Matthew Hodgson 0f9a23c471 swaggerify to-device 6 years ago
Matthew Hodgson 0ee2cf6286 fix device_list_update example hopefully 6 years ago
Matthew Hodgson 0afdcc59ea spell out stream_id and fix todo 6 years ago
Matthew Hodgson d377bedd76 fix path 6 years ago
Matthew Hodgson 30d56691b1 document device list synchronisation over federation.
untested
closes MSC1212
6 years ago
Travis Ralston 7ac76fa27c Actually we're going with "identity server" afterall 6 years ago
Travis Ralston ec248b436f Identity Service is lowercase 6 years ago
Travis Ralston cc0badaaa1 Fix all naming cases of "identity service"
Fixes https://github.com/matrix-org/matrix-doc/issues/1396

Includes some "homeserver" fixes too. This commit does not include historical documentation or notes.
6 years ago
Travis Ralston 38ae166e9d
Merge pull request #1505 from turt2live/travis/general/3pid_invite
Clarify how third party invites work
6 years ago
Travis Ralston 2a08a308f3 device_keys are required 6 years ago
Travis Ralston 219b27b182 Merge remote matrix-org/master 6 years ago
Richard van der Hoff 0f84c69805
Merge branch 'master' into rav/clarify_event_signing 6 years ago
Travis Ralston d57b977a55 Merge branch 'm-master' into travis/general/3pid_invite 6 years ago
Travis Ralston f09db16027 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/key-mgmt 6 years ago
Travis Ralston 6b52e1df77
Merge pull request #1587 from turt2live/travis/s2s/clarify-state-ids-inclusion
Clarify that the requested event is excluded from /state and /state_ids
6 years ago
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.
6 years ago
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
6 years ago
Travis Ralston 5ff244f06b More clarification about how /state_ids works 6 years ago
Travis Ralston de36d97839 Clarify which event is actually be excluded from /state_ids 6 years ago
Travis Ralston dad037170a Clarify that the requested event is excluded from /state and /state_ids
Fixes https://github.com/matrix-org/matrix-doc/issues/1564
6 years ago
Erik Johnston fc1fdc95af Specify a limit on the number of EDUs and PDUs a transaction can contain 6 years ago
Travis Ralston 8069981252 Add federation /user/* endpoints
Fixes https://github.com/matrix-org/matrix-doc/issues/1438
6 years ago
Travis Ralston 017d6db737 Document third party network/protocol directories (for appservices)
Fixes https://github.com/matrix-org/matrix-doc/issues/869
6 years ago
Travis Ralston 3869f68a5c Merge remote-tracking branch 'matrix-org/master' into travis/general/room-versions 6 years ago
Travis Ralston 1d7ea314d4
Merge pull request #1482 from turt2live/travis/s2s/presence
Document how presence EDUs work between servers
6 years ago
Travis Ralston e500e2502a Document the maximum value for depth
Implements the proposal for https://github.com/matrix-org/matrix-doc/issues/1230
6 years ago
Travis Ralston 8b65da1cf6 Don't try and be fancy about titles 6 years ago
Travis Ralston e712466dca Improve description for currently_active 6 years ago
Travis Ralston a4015d5c27 Spelling 6 years ago
Travis Ralston 750d4f9fda Rename the presence EDU files to be accurate to their types; Misc cleanup of titles 6 years ago
Travis Ralston ebca4c7d86 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/presence 6 years ago
Travis Ralston 21dc6f823a
Merge pull request #1484 from turt2live/travis/s2s/read-receipts
Document how read receipts work over federation
6 years ago
Travis Ralston c492fe43b5 Add strict typing to the m.receipt EDU; Fix description of event_ids 6 years ago
Travis Ralston 96896fe5d6 Add a strict type the m.typing EDU 6 years ago
Travis Ralston a53fa9300d Merge remote-tracking branch 'matrix-org/master' into travis/s2s/presence 6 years ago
Travis Ralston 766402a702 Use strict types for the presence EDUs 6 years ago
Travis Ralston 549a25cad9 Add a mention about how currently_active works
Reference: d69decd5c7/synapse/handlers/presence.py (L66-L68)
6 years ago
Travis Ralston e7aed3da26 Remove poll/unpoll from presence 6 years ago
Travis Ralston 49ec0a36a8
Merge pull request #1481 from turt2live/travis/s2s/authentication
Define authorization requirements on federation swagger APIs
6 years ago
Travis Ralston 4b9922b641
Merge pull request #1494 from turt2live/travis/general/openid
Document OpenID in the client-server and server-server APIs
6 years ago
Travis Ralston 2aa0e7b00f
Merge pull request #1483 from turt2live/travis/s2s/typing
Document how typing notifications work over federation
6 years ago
Travis Ralston fde48e7ee8 Specify how room versioning works
This is the spec PR for https://github.com/matrix-org/matrix-doc/issues/1425

Room version upgrades are not part of MSC1425.

Documented aspects:
* room_version on the create event
* creating a room with a specific version (useful for testing)
* make_join behaviour
* error code documentation
* grammar of room versions

Based upon https://docs.google.com/document/d/1urKgReoHqxX8R_XtySB17dPi-DZcKhqTEL2_s895Wz0/edit
6 years ago
Travis Ralston a556e33eb9 Spec /3pid/onbind
Fixes https://github.com/matrix-org/matrix-doc/issues/1422
6 years ago
Travis Ralston 25c77ab2d0 Define authorization requirements on federation swagger APIs 6 years ago
Travis Ralston 56dbeeb22a
Merge pull request #1469 from turt2live/travis/s2s/backfill
Improve documentation for backfilling rooms
6 years ago
Travis Ralston 721be47eb1 Describe how get_missing_events actually works
The original text wasn't far off, except for being wrong about what the fields actually do. This commit also adds a bit of clarity for how the server is expected to behave.
6 years ago
Travis Ralston 0a7e670715 Document how typing notifications work over federation
Relevant synapse code: d69decd5c7/synapse/handlers/typing.py (L221-L230)
6 years ago
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)
6 years ago
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.
6 years ago
Travis Ralston a77975ba68
Merge pull request #1450 from turt2live/travis/s2s/inviting-rooms
Improve documentation for how non-third party invites work
6 years ago
Travis Ralston 0f8954d839
Merge pull request #1463 from turt2live/travis/s2s/pdus-and-edus
Improve documentation around EDUs and PDUs
6 years ago
Travis Ralston 57eeddd849 Remove unused origin and destination on EDUs 6 years ago
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)
6 years ago
Travis Ralston cfdbee5fc2 EDU origin and destinations aren't required 6 years ago
Travis Ralston 7ada91787a age_ts isn't real 6 years ago
Travis Ralston 521dcdd5d5 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/backfill 6 years ago
Travis Ralston 35f15ba3d8
Merge pull request #1477 from turt2live/travis/s2s/public-rooms
Document the /publicRooms endpoint for federation
6 years ago
Travis Ralston 8724ed99ad
Merge pull request #1480 from turt2live/travis/s2s/swagger-consumes-json
Specify which federation swagger APIs consume JSON
6 years ago
Travis Ralston e10770ae8b
Merge pull request #1475 from turt2live/travis/s2s/event-auth
Document /event_auth and /query_auth
6 years ago
Travis Ralston ef9d766dc3 Remove irrelevant TODO
We fixed the EDU, so we don't need this comment.
6 years ago
Travis Ralston 2e6d6e2790 Specify which swagger APIs consume JSON 6 years ago
Travis Ralston 8dd63388e0 invites consume JSON 6 years ago
Travis Ralston 13a2b54bf9 query_auth consumes JSON 6 years ago
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