Commit Graph

1052 Commits (7ac76fa27ce61fc64ed53db83041500f177787d7)

Author SHA1 Message Date
Hubert Chathi 688c8ebcd3 specify how to handle multiple olm sessions with the same device 6 years ago
Erik Johnston d921b81c70 Reject events with superfluous auth_events entries 6 years ago
Erik Johnston 073ebb051b Spec third party invites in auth rules 6 years ago
Erik Johnston 5d40af7ecf Update rules on which events to add to `auth_events` 6 years ago
Erik Johnston 86b5486445 Add missing clauses to and fix authorization rules
They are still missing third party invites.
6 years ago
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.
6 years ago
Richard van der Hoff d493c82e82 even more clarification 6 years ago
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
6 years ago
Richard van der Hoff 78d8118846 Further server_name clarification 6 years ago
Richard van der Hoff f15eafae7f Remove trailing spaces 6 years ago
Richard van der Hoff 08fba5de51 Link to grammar rather than duplicating. 6 years ago
Richard van der Hoff 120bb8dc8e s/host/hostname/ 6 years ago
Richard van der Hoff 8679a642b4 clarity 6 years ago
Richard van der Hoff 7f9524f801 s/--/—/ 6 years ago
Richard van der Hoff 6f3b42a457 Server names cannot be %-encoded
They aren't URLs; it was a thinko to refer to the URL spec for this.
6 years ago
Travis Ralston 85b9769cd9 Comment out the timestamp massaging section for now
Pending discussion on https://github.com/matrix-org/matrix-doc/issues/1585
6 years ago
Erik Johnston fc1fdc95af Specify a limit on the number of EDUs and PDUs a transaction can contain 6 years ago
Valentin Deniaud 28ced3b0a4 fixup! document encrypted attachments 6 years ago
Travis Ralston 72c6fa2aaf More versioned links 6 years ago
Travis Ralston cff5b8b205 More versioned links 6 years ago
Travis Ralston e4f8c23972
Merge pull request #1562 from turt2live/travis/c2s/html-formatting
Define the supported HTML subset for message events
6 years ago
Travis Ralston 39e674ccb3 Clarify what matrix.to is and mention that room IDs are not routable
Also actually render the warning saying that this scheme is temporary.
6 years ago
Travis Ralston fa3e9a7609 Merge remote-tracking branch 'matrix-org/master' into travis/c2s/pills 6 years ago
Travis Ralston 6f80db5ddf Include the "other versions" section of the changelog 6 years ago
Travis Ralston 07153c22a9 Misc. cleanup of the appservice spec 6 years ago
Travis Ralston fa96d8629b Prepare the appservice spec for an r0 release
This puts the scaffolding in place for an r0 release to happen, such as the changelog and version variables.
6 years ago
Travis Ralston 17e0ef4b91 Remove empty file and now-empty section from the appservice spec
This commit has approval under https://github.com/matrix-org/matrix-doc/pull/1555 although is being included in this branch/PR so the build passes, permitting a merge.
6 years ago
Travis Ralston 51193cac39 Merge remote-tracking branch 'matrix-org/master' into travis/as/normal-events 6 years ago
Travis Ralston 4e885c3f77
Merge pull request #1550 from turt2live/travis/general/acls
Server ACLs
6 years ago
Travis Ralston a0b17e6ed6
Merge pull request #1551 from turt2live/travis/c2s/push-rules
General improvements to the push rules module
6 years ago
Travis Ralston 090f852fdf
Merge pull request #1262 from matrix-org/anoa/document_as_options
Document new application service registration file options
6 years ago
Travis Ralston 54032964fc Misc clarity for 3rd party appservice protocols/locations 6 years ago
Travis Ralston bac0392a2d General clarity for push rule defaults and where to get information
Include moving a roaming condition that was under the wrong rule.
6 years ago
Travis Ralston d7397ccd56 Provide additional rationale for kicking users when they are ACLd 6 years ago
Travis Ralston 76afef79f8 Clarify the rationale and motive for blanket IP banning and port exclusion 6 years ago
Travis Ralston be97e95dc1 Promote device management to be a dedicated section 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 89daa3c5ce Clarify that clients aren't required to render all the tags
This commit also includes minor clarifications to surrounding text.
6 years ago
Travis Ralston 5bf99aeb34 Add a note that formatted_body is not forever 6 years ago
Travis Ralston c7822cc9a8 Link to the content repo when referencing MXC URIs in images 6 years ago
Travis Ralston d7d28f7e5b Remove nl as a supported HTML tag 6 years ago
Travis Ralston aa294fac06 Define the supported HTML subset for message events
Also clarify that `m.notice` messages can support HTML.

Fixes https://github.com/matrix-org/matrix-doc/issues/1559
Fixes https://github.com/matrix-org/matrix-doc/issues/1560
6 years ago
Travis Ralston 312799ae78 General clarification for mention and how matrix.to URIs are meant to work 6 years ago
Valentin Deniaud b7577ea237 document encrypted attachments
Fix #461.
6 years ago
Valentin Deniaud f6b5aee3e2 explain how to use key sharing events 6 years ago
Travis Ralston d370a2c6fd Prepare the identity service and server-server APIs for r0
* Create the changelog scaffolding
* Set up the variables for versioning
6 years ago
Travis Ralston dafea96621 Fix indentation and schema references in the identity service spec 6 years ago
Travis Ralston 811998735c Define common error codes in the Identity Service API
Fixes https://github.com/matrix-org/matrix-doc/issues/1407
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 9eda1a6971 Move the third party network API to it's own section 6 years ago
Travis Ralston bbd33c1461 Move appservice transaction API to the right section
Part of https://github.com/matrix-org/matrix-doc/issues/1532
6 years ago
Travis Ralston ab0be04571 Fix titles 6 years ago
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
6 years ago
Travis Ralston ef41b5c2bf Server ACLs
Implements the proposal for https://github.com/matrix-org/matrix-doc/issues/1383
6 years ago
Travis Ralston 9835c98544 Document how mentions (pills) work
Implements the proposal over at https://github.com/matrix-org/matrix-doc/issues/1067

Includes some specification for how matrix.to is structured, and how it is intended to be replaced.
6 years ago
Valentin Deniaud 2d8a321b46 document key sharing and m.room_key_request 6 years ago
Travis Ralston 3869f68a5c Merge remote-tracking branch 'matrix-org/master' into travis/general/room-versions 6 years ago
Travis Ralston 6172d5986a
Merge pull request #1537 from turt2live/travis/as/user-alias-query
Clean up user and alias querying for application services
6 years ago
Travis Ralston 997562786b
Merge pull request #1534 from turt2live/travis/as/auth-impersonation
Encourage appservices to use the Authorization header
6 years ago
Travis Ralston 1102fc59b2 Spelling 6 years ago
Travis Ralston 389fa87e6e English 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 339a2748e8 Take out groups for now; Move namespace mention
Groups aren't landing in the spec yet, so we shouldn't include them yet.
6 years ago
Travis Ralston 24edec67c3 Merge remote-tracking branch 'matrix-org/master' into anoa/document_as_options 6 years ago
Travis Ralston 06157c6336 Merge branch 'master' into anoa/document_as_options 6 years ago
Travis Ralston 7e5160c7c2 Merge remote-tracking branch 'matrix-org/master' into travis/as/user-alias-query 6 years ago
Travis Ralston 13a1628f59 Improve wording about how masquerading works 6 years ago
Travis Ralston 7ad22b2454
Merge pull request #1533 from turt2live/travis/as/general
General/small improvements to the application service API specification
6 years ago
Travis Ralston c8ba2e098c Wording improvements for appservices 6 years ago
Will Hunt fca1c0b7f8
Guests should support /context and /event 6 years ago
Travis Ralston 9ec914956f
Merge pull request #1536 from turt2live/travis/as/user-namespace
Recommend that application services use an underscore for namespacing
6 years ago
Travis Ralston d468ae0fa3
Merge pull request #1535 from turt2live/travis/as/no-sync
Add a note that application services cannot /sync normally
6 years ago
Travis Ralston 26746cf785
Merge pull request #1517 from turt2live/travis/c2s/auth-header
Dedicate a section on how to use access tokens
6 years ago
Valentin Deniaud 9430f2c7f9 room ID is included in Megolm plaintext, not Olm 6 years ago
Valentin Deniaud 8ba19b51ab complete Olm documentation 6 years ago
Valentin Deniaud b2316ba782 enforce unique namespacing in new algorithms experiments 6 years ago
Valentin Deniaud eb8ea0e85a remove warning pointing at outdated doc 6 years ago
Valentin Deniaud 4e0f107ef7 document changed field behavior in e2e sync extension 6 years ago
Valentin Deniaud 248786681e fix typo 6 years ago
Valentin Deniaud e5005b2d0f document E2E events
This was written by Richard van der Hoff.
6 years ago
Valentin Deniaud 68b78dc5d8 complete Megolm documentation 6 years ago
Valentin Deniaud 669605b24a add Olm missing properties 6 years ago
Valentin Deniaud 76071bae98 explain how to verify sender_key ownership 6 years ago
Valentin Deniaud 8274f91b0b document device verification
This was written by Richard van der Hoff.
6 years ago
Valentin Deniaud a28f243ed7 document left parameter of device_lists in sync response
fix #1171
6 years ago
Valentin Deniaud 10c3307427 document device_one_time_keys_count in /sync/ response
fix #1157
6 years ago
Valentin Deniaud 2686b99080 fix json indent 6 years ago
Valentin Deniaud 07e3de3c61 add megolm messaging algorithm subsection
This was written by Richard van der Hoff.
6 years ago
Valentin Deniaud 33802dbbaf add olm messaging algorithm subsection
This was written by Richard van der Hoff.
6 years ago
Valentin Deniaud e210f8b050 add e2e messaging algorithms section intro
This was written by Richard van der Hoff.
6 years ago
Travis Ralston 0863c5452e Take out the false third party network endpoints
Fixes https://github.com/matrix-org/matrix-doc/issues/800
6 years ago
Travis Ralston 95b2b7c2bc Move query APIs to the right heading
Fixes https://github.com/matrix-org/matrix-doc/issues/1325

Addresses some of https://github.com/matrix-org/matrix-doc/issues/1532
6 years ago
Travis Ralston 069a2f7481 Split the query user and room APIs out to their own files 6 years ago
Travis Ralston 954498bf78 Recommend that application services use an underscore for namespacing
Fixes https://github.com/matrix-org/matrix-doc/issues/689
6 years ago
Travis Ralston 205b326e4a Add a note that application services cannot /sync normally
Fixes https://github.com/matrix-org/matrix-doc/issues/1144
6 years ago
Travis Ralston 857bcc0fe7 Encourage appservices to use the Authorization header
This also throws in a mention about how to handle a request with a lack of user_id.

The request samples now encourage the use of the header over the query string, and have had their sample values added for some readability. 

Fixes https://github.com/matrix-org/matrix-doc/issues/1296
Fixes https://github.com/matrix-org/matrix-doc/issues/1424
6 years ago
Travis Ralston 7caad61b86 Clearly state how the users namespace relates to interest in events
Fixes https://github.com/matrix-org/matrix-doc/issues/1307
6 years ago
Travis Ralston fd101b6ac9 Misc language changes 6 years ago
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
6 years ago
Hubert Chathi 6612dbecf1 tweak wording for validation 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 44d1f8dbe5 s/timeline/event graph 6 years ago
Travis Ralston a53fa9300d Merge remote-tracking branch 'matrix-org/master' into travis/s2s/presence 6 years ago
Travis Ralston ff1afaa8f7 Add a note about how presence lists work 6 years ago
Travis Ralston e7aed3da26 Remove poll/unpoll from presence 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 ba51d5960e r0.1.0 release of the Push Gateway specification
Because this is the first release, it has several moving parts to it:
* The version variables have been defined.
* The towncrier changelog has been prepared for future modifications.
* The templating has been updated to better support future versions of the specification.
* A release process document has been created.
6 years ago
Travis Ralston 2eab07ade4 Fix header in server-server API 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 d6c54b0278 unaccessible isn't a word 6 years ago
Travis Ralston ca87876f1b Clarify that the Authorization header is preferred 6 years ago
Travis Ralston 25d01aa431 Dedicate a section on how to use access tokens
Fixes https://github.com/matrix-org/matrix-doc/issues/1042.
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 de961fb7d6 Improve wording on push gateways 6 years ago
Hubert Chathi a264120b38 put server discovery as its own section 6 years ago
Hubert Chathi fcca80dad8 various minor fixes
- formatting fixes
- add examples to homeserver/identity server discovery schema
- replace DNS name with hostname
6 years ago
Hubert Chathi 6a3cf10be9 Merge remote-tracking branch 'origin/master' into well-known 6 years ago
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
6 years ago
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
6 years ago
Hubert Chathi cd4fed509c
convert IS endpoints to Swagger (#1427) 6 years ago
Hubert Chathi 292d334509
document new login identifier object (#1390) 6 years ago
Travis Ralston 50fc1c4d16 Move backfill/get events so that joins, leaves, and invites are together 6 years ago
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.
6 years ago
Travis Ralston 32178bb07e Tidy up the specification
* Minor word choice changes
* Remove the now-empty "Protocol URLs" section
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 c8a8fdfa8d
Merge pull request #1493 from turt2live/travis/s2s/media
Mention how the content repository works over federation
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 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 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)
6 years ago
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.
6 years ago
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.
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 d712bfc73d
Merge pull request #1479 from turt2live/travis/s2s/server-discovery
Federation: Document the Host header; Clarify how literal IP addresses are handled
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
Richard van der Hoff eb45419431
Merge pull request #1490 from matrix-org/dbkr/room_tag_grammar
Fix grammar in room tag spec
6 years ago
Florian Jacob e7cebf670e Fix minor spelling mistake from #1472
Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
6 years ago
David Baker 803ef536ba Fix grammar in room tag spec
Have removed the second clause about how the client interprets them:
I was trying to think how to rephrase it but I think in reality it's
probably just redundant.
6 years ago
Travis Ralston dcb39f8890 Fix wording from bad merge 6 years ago
Will Hunt c826edf23b Remove dns_name from S2S Api 6 years ago
Will Hunt 7a46bdae02
Spacing 6 years ago
Will Hunt 632101dcde
Merge branch 'master' into hs/dns-to-be-hostname 6 years ago
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.
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