Commit graph

829 commits

Author SHA1 Message Date
Travis Ralston 7ec3cc4343 General improvements to the push rules module
This commit does a few things:
* Add 3 undocumented push rules to the spec for encrypted events and at-room notifications.
* Require unrecognized conditions to not match, ensuring that future conditions do not cause clients to accidentally notify users.
* Clarify that push rules should be enabled when created.
* Document a new condition required for at-room notifications.

Fixes https://github.com/matrix-org/matrix-doc/issues/1163
Fixes https://github.com/matrix-org/matrix-doc/issues/1034
Fixes https://github.com/matrix-org/matrix-doc/issues/676
Fixes https://github.com/matrix-org/matrix-doc/issues/1033
Relates to https://github.com/matrix-org/matrix-doc/issues/1101
2018-08-22 15:21:21 -06:00
Travis Ralston 3869f68a5c Merge remote-tracking branch 'matrix-org/master' into travis/general/room-versions 2018-08-21 12:22:35 -06:00
Travis Ralston 6172d5986a
Merge pull request #1537 from turt2live/travis/as/user-alias-query
Clean up user and alias querying for application services
2018-08-21 12:14:07 -06:00
Travis Ralston e4f5c3d55e
Merge pull request #1518 from turt2live/travis/c2s/create-room-improvements
Add general clarity to the /createRoom endpoint
2018-08-21 12:04:56 -06: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 7e5160c7c2 Merge remote-tracking branch 'matrix-org/master' into travis/as/user-alias-query 2018-08-20 12:37:05 -06:00
Travis Ralston a320c58e42 A path parameter is obviously URL encoded 2018-08-20 12:36:26 -06:00
Travis Ralston 7ad22b2454
Merge pull request #1533 from turt2live/travis/as/general
General/small improvements to the application service API specification
2018-08-20 12:28:38 -06:00
Travis Ralston 8dc6f092ef Define the type of the power_level_content_override field 2018-08-20 12:27:29 -06:00
Travis Ralston 7e6ca5fef8 Take out the room_alias response field
The argument is that this isn't really needed at this time.
2018-08-20 12:23:17 -06:00
Travis Ralston 1fd7c99461 Clarify that the creation event can have other keys in it 2018-08-20 12:21:55 -06:00
Travis Ralston 6c7a93d2f5 Move description about which preset to use when none is specified 2018-08-20 12:21:43 -06:00
Travis Ralston 7d14309b63 Move the power level event schema to where it was 2018-08-20 12:21:19 -06:00
Travis Ralston c8ba2e098c Wording improvements for appservices 2018-08-20 12:09:17 -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
Valentin Deniaud 10c3307427 document device_one_time_keys_count in /sync/ response
fix #1157
2018-08-18 11:41:45 +02:00
Valentin Deniaud 8afc82c14b fix /keys/claim request example
It didn't correspond to the example response.
2018-08-18 11:41:45 +02:00
Valentin Deniaud ab3272045e add missing v1 to m.olm in /keys/upload 2018-08-18 11:41:45 +02:00
Travis Ralston 60b8e72a67 Minor text changes to the query APIs; Keep OpenMarket copyright
The bulk of these APIs were copied from OpenMarket's work - we should preserve the copyright header.
2018-08-17 15:45:10 -06:00
Travis Ralston 069a2f7481 Split the query user and room APIs out to their own files 2018-08-17 15:22:06 -06:00
Travis Ralston 5b5b4cfbed Explicitly say how appservices should detect state events
Fixes https://github.com/matrix-org/matrix-doc/issues/1014
2018-08-17 13:38:38 -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
Hubert Chathi f5dc0eaed2
document msisdn-related endpoints in IS (#1507)
* add msisdn endpoints in Identity Server spec
* add in CS endpoints that use the IS msisdn endpoints
2018-08-17 12:00:13 -04: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 8ac6cea58b
Merge pull request #1522 from turt2live/travis/c2s/http-push-gw-required-path
Require the push gateway URL to be of a specific path
2018-08-17 09:42:17 -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 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 5b30d33b89
Simpler language 2018-08-17 02:51:41 -06:00
Travis Ralston c891e4a957 Require the push gateway URL to be of a specific path 2018-08-16 12:39:47 -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 45c68e323a Add general clarity to the /createRoom endpoint
This commit does a number of things:
* Minor formatting/alignment changes
* Document the room_alias response key. This could be deprecated now, or forfeited, if needed.
* Remove the guest_can_join parameter - it is not actually supported
* Document the previously undocumented power_level_content_override parameter
* Clarify that the room_id is required on the response
* More clearly spell out which events are created as part of the request
* Clarify how the room alias becomes the canonical alias
* Clarify how the `visibility` may be used to determine a default preset to apply
* Document the `m.federate` creation content parameter, adding an option for the homeserver to define a default value

References:
* Preset being inferred by the visibility: cd32c19a60/synapse/handlers/room.py (L172-L177)
* Power level content overrides:
  * https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L198
  * https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L335-L359
* Aliases becoming canonical: https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L366-L370
* `m.federate` landing in the create event: https://github.com/matrix-org/synapse/blob/master/synapse/handlers/room.py#L311-L315

Fixes https://github.com/matrix-org/matrix-doc/issues/1243
Fixes https://github.com/matrix-org/matrix-doc/issues/1471
Inspired by https://github.com/matrix-org/matrix-doc/issues/1213
2018-08-15 17:25:30 -06:00
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
2018-08-15 15:12:36 -06:00
Travis Ralston de961fb7d6 Improve wording on push gateways 2018-08-15 11:59:58 -06:00
Hubert Chathi fcca80dad8 various minor fixes
- formatting fixes
- add examples to homeserver/identity server discovery schema
- replace DNS name with hostname
2018-08-14 17:58:57 -04:00
Hubert Chathi 6a3cf10be9 Merge remote-tracking branch 'origin/master' into well-known 2018-08-14 17:00:56 -04:00
Travis Ralston 6ad71f785e Improve documentation for pushers and push gateways
This fixes a number of formatting issues alongside a few documentation problems:
* The push gateway can actually expect less parameters than previously advertised. This is for user privacy.
* Introduction of the `m.email` pusher for email-capable homeservers.
* Fields not being flagged as required on some endpoints.
* Document the `event_id_only` format

Note: this does not attempt to document push rules, just pushers.

Fixes https://github.com/matrix-org/matrix-doc/issues/1374
Fixes https://github.com/matrix-org/matrix-doc/issues/1087
2018-08-14 12:51:50 -06:00
Kitsune Ral b41eb26124 Document OpenAPI extension
Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me>
2018-08-12 16:52:07 +09:00
Hubert Chathi cd4fed509c
convert IS endpoints to Swagger (#1427) 2018-08-10 16:21:06 -04:00
Hubert Chathi 292d334509
document new login identifier object (#1390) 2018-08-10 16:19:17 -04:00
Travis Ralston 25c77ab2d0 Define authorization requirements on federation swagger APIs 2018-08-09 08:37:35 -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 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.
2018-08-08 08:39:59 -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 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 8ffac01efe Document OpenID in the client-server API
Part of https://github.com/matrix-org/matrix-doc/issues/857

Reference: d69decd5c7/synapse/rest/client/v2_alpha/openid.py (L31-L58)
2018-08-07 22:10:11 -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 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 8724ed99ad
Merge pull request #1480 from turt2live/travis/s2s/swagger-consumes-json
Specify which federation swagger APIs consume JSON
2018-08-07 08:30:34 -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
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 2e6d6e2790 Specify which swagger APIs consume JSON 2018-08-03 14:01:33 -06:00
Travis Ralston 8dd63388e0 invites consume JSON 2018-08-03 13:58:27 -06:00
Travis Ralston 13a2b54bf9 query_auth consumes JSON 2018-08-03 13:57:43 -06:00
Travis Ralston 6ac25d167c get_missing_events consumes JSON 2018-08-03 13:57:13 -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 e766606f24 join -> leave 2018-08-02 18:54:12 -06:00
Travis Ralston 0b313dbdd9 Don't explain what a 400 Bad Request is 2018-08-02 18:47:17 -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 5596243add origin is required 2018-08-02 16:43:24 -06:00
Travis Ralston 8b7bc60367 list -> array 2018-08-02 16:42:03 -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 4b1955f395 Clarify what the auth_events on a PDU are 2018-08-02 12:06:43 -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 b96ee3e393
Merge pull request #1423 from turt2live/travis/s2s/keys
Improve the server key exchange portion of the s2s specification
2018-08-01 07:44:57 -06:00
Andrew Morgan 54a88eebf0
Merge pull request #1414 from matrix-org/anoa/third_party_cleanup
Clarification on third party fields
2018-08-01 01:38:01 -07: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 f5af4d2fb5
Merge pull request #1457 from matrix-org/dbkr/fix_room_tags
Fix room tags spec
2018-07-30 17:06:54 -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
user 5f8967c074 Move TODO. field1, field2... -> fields... 2018-07-30 19:21:54 +01:00
user a2e2ced03b Add reverse-lookup examples. 2018-07-30 11:12:05 +01:00
user d785ac78a3 Remove explode and replace with TODO, require auth on CS 2018-07-30 11:12:05 +01:00
Andrew Morgan 53137a3c53 c/p bug, fix operationIds, move rst docs to md 2018-07-30 11:09:50 +01:00
Andrew Morgan 3e4962f211 Document standardized extensions to OpenAPI v2 2018-07-30 11:09:50 +01:00