Commit Graph

1124 Commits (94d83c04832d4431ba24671f4c9404557248fde3)

Author SHA1 Message Date
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
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
Travis Ralston 05bb7e1050 Spelling and word choice 6 years ago
Travis Ralston 53d4003d3a manual merge of master into travis/s2s/query 6 years ago
Travis Ralston 48972addbf
Merge pull request #1428 from turt2live/travis/s2s/joining-rooms
Improve the documentation for joining rooms
6 years ago
Travis Ralston a9258ed195 an -> a 6 years ago
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.
6 years ago
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.
6 years ago
Travis Ralston b96ee3e393
Merge pull request #1423 from turt2live/travis/s2s/keys
Improve the server key exchange portion of the s2s specification
6 years ago
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.
6 years ago
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.
6 years ago
David Baker 2dc51d416d Ignore stuff in `m.` you don't understand 6 years ago
David Baker f90ed4b77d Make non-namespaced tags verboten 6 years ago
David Baker e4fd088fcc Fix room tags spec 6 years ago
Travis Ralston 8f1a4ae0ea Formatting 6 years ago
Travis Ralston 9fdd8a6f96 Document how leaving rooms/rejecting invites over federation works
Fixes https://github.com/matrix-org/matrix-doc/issues/1401

This is very similar to the joining rooms handshake, and much of it is a near copy/paste of the make_join and send_join API. The major difference is the send_leave API doesn't return anything.

References:
* Handling of make_leave: d69decd5c7/synapse/handlers/federation.py (L1285-L1310)
* send_leave route: d69decd5c7/synapse/federation/transport/client.py (L267)
* make_leave route: d69decd5c7/synapse/federation/transport/server.py (L396)
* send_leave returning nothing: d69decd5c7/synapse/handlers/federation.py (L1346)
6 years ago
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)
6 years ago
Travis Ralston c2f1c6e78d Improve the joining rooms handshake documentation
There isn't a whole lot to this section that needed work. The section overall lost the table schema in favour of having the endpoints close by.

The directory query is improved in https://github.com/matrix-org/matrix-doc/pull/1443
6 years ago
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.
6 years ago
Travis Ralston 0ddf578b61 Combine all queries into their own section
This removes the Directory and Profile sections, instead opting to document them as Queries. 

The behaviour of profile queries is based on Synapse's behaviour. A few issues have been opened to improve the behaviour:
* https://github.com/matrix-org/matrix-doc/issues/1434
* https://github.com/matrix-org/matrix-doc/issues/1435
* https://github.com/matrix-org/matrix-doc/issues/1436
* https://github.com/matrix-org/matrix-doc/issues/1437

This fixes https://github.com/matrix-org/matrix-doc/issues/1404
6 years ago
Will Hunt bdb881420c
Merge branch 'master' into hs/dns-to-be-hostname 6 years ago
Travis Ralston 004998b98f Convert invites to swagger
The whole section reads like a description for the endpoint, and has been replaced by the swagger definition now (rather than at a later stage). All the same information should be kept.
6 years ago
Travis Ralston f09c4fd286 Convert joins to swagger 6 years ago
Travis Ralston 24e531a896
Merge pull request #1406 from turt2live/travis/s2s/transactions-swagger
Convert things that mention "Transaction" to swagger
6 years ago
Michael Telatynski 2790c1f069
Merge pull request #1289 from matrix-org/t3chguy/group_id
basic spec for group IDs, mostly copied from User IDs as they share grammar
6 years ago
Travis Ralston cb4fcd1d09 Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger 6 years ago
Will Hunt 26505533dd drop dns_name = host in favour of host 6 years ago
Ben Parsons 01d01cfbbb
Merge pull request #1440 from matrix-org/benp/clarifyintro
Improve discoverability of /docs/spec/intro/ document by including content in /docs/spec/
6 years ago
Ben Parsons 07aeaadef9 update links which used to point to docs/spec/intro 6 years ago
Travis Ralston 2aafde4549
Merge pull request #1419 from turt2live/travis/s2s/3pinvites-swagger
Convert third party invite exchange to swagger
6 years ago
Ben Parsons e7c79f2bd4 avoid .rst link conflict warnings 6 years ago
Ben Parsons 54d6d58fff naively move content from intro.rst to index.rst 6 years ago
Travis Ralston e226b60c7f Merge remote-tracking branch 'matrix-org/master' into travis/s2s/transactions-swagger 6 years ago
Travis Ralston 7cb918407d Merge remote-tracking branch 'matrix-org/master' into travis/s2s/keys-swagger 6 years ago
Travis Ralston cf93c88337 Convert third party invite exchange to swagger 6 years ago
Travis Ralston 51faf8ed2e Convert the general query API to swagger
Includes "moving" the directory query API into the same area. This will make more sense once the other query types are specified.
6 years ago
Travis Ralston 91c59e7384
Merge pull request #1353 from matrix-org/anoa/as_thirdparty_lookup
Thirdparty Entity Lookup API
6 years ago
Andrew Morgan 291a4dfc76 Third party lookup module. Fix wording 6 years ago
Andrew Morgan 114bcf1a2e Use $ref, clean up, fix errors, AS is now a C-S module. 6 years ago
Travis Ralston 374ec00046 Convert things that mention "Transaction" to swagger
There's two kinds of transactions currently: one with EDUs and one without. The one with EDUs is only used on /send, however the schema is still somewhat worth splitting out for simplicity.

The examples are brought apart to make them slightly more reusable for when they get dumped into the relevant sections of the spec (see TODO in server_server_api.rst)

Further, the Transactions stuff introduces tuples to the spec. The units.py has been updated to support this.
6 years ago
Travis Ralston 96889f16e9 Split out and fix the /server and /query key APIs 6 years ago
Travis Ralston bd2c0b7c98 Convert server keys to swagger 6 years ago
Travis Ralston 423d5593f5 Generify how OPTIONS and CORS are handled 6 years ago
Travis Ralston dd9414472b Merge remote-tracking branch 'matrix-org/master' into travis/cors 6 years ago
Andrew Morgan 8e22e9e85a Fix title underline length 6 years ago
Andrew Morgan cc3724b54a fix indentation, error messages. add rest of PR 6 years ago
Will Hunt 92f3989f2b Dirty replace of DNS name -> hostname 6 years ago
Hubert Chathi ce1e2c0904 incorporate feedback from reviewers 6 years ago
Travis Ralston 0779d81e52 Clarify which requests should have CORS headers
Spoilers: all of them.
6 years ago
Travis Ralston 2fc2926461 Clearly say that the server/server API is unstable and subject to change 6 years ago
Travis Ralston 4ca54404fa Document the CORS/preflight headers
Fixes https://github.com/matrix-org/matrix-doc/issues/1006
6 years ago
Hubert Chathi 0dd330962d initial draft of .well-known discovery 6 years ago
Andrew Morgan d73b247688 3PE lookup service 6 years ago
Travis Ralston d647169806
Add more strength to the suggestion to find existing issues
Signed-off-by: Travis Ralston <travpc@gmail.com>
6 years ago
Travis Ralston fc402c296b
Don't suggest reusing old issues for spec proposals
In practice this was confusing for people, so instead we should encourage people to create new issues and reference the existing ones.

Signed-off-by: Travis Ralston <travpc@gmail.com>
6 years ago
user 54c3003b74 newly joined -> newly-joined 6 years ago
user 5ab5fe08d1 Small grammatical and stylistic fixes 6 years ago
Andrew Morgan 2e5cdaf51c
Fix typo
"To stream events all the events" -> "To stream all the events"
6 years ago
Michael Telatynski c3f66e1814
basic spec for group IDs, mostly copied from User IDs as they share grammar 6 years ago
Michael Kaye 72282577bf Add back proposals.rst with a link to the actual location 7 years ago
Ben Parsons 18ba0d6d81 remove propsals.rst as it will be regenerated 7 years ago
Ben Parsons a552c1853e update for MSC 701 7 years ago
Richard van der Hoff cefd1a832e
server_server_api: fix typo in auth section
fixes "destintation" typo
7 years ago
Ben Parsons ffb8037af2 update MSC list 7 years ago
Ben Parsons ee98082a60 update MSC1270 7 years ago
Travis Ralston 8610effad7
Merge branch 'master' into travis/reporting 7 years ago
Ben Parsons 7a44351a34 update following rvdh spec blitz 7 years ago
Ben Parsons 34090b24c4 prepare proposals.py for CI 7 years ago
user d6fb5afd16 Clarified group_id group visibility, url possibilities, regex starters
Changed Application Service capatalization to be consistent with the
rest of the document.
7 years ago
Travis Ralston 9037f506ac Document how to report content
Fixes: https://github.com/matrix-org/matrix-doc/issues/739

Signed-off-by: Travis Ralston <travpc@gmail.com>
7 years ago
Andrew Morgan 9ca62edda0 Document new application service registration file options. 7 years ago
Ben Parsons c3062b7db6 Include Proposals Page Title, update MSC1256 7 years ago
Ben Parsons 434e2949f9 include #1256 7 years ago
Ben Parsons 8d550d2166 force re-render 7 years ago
Ben Parsons 0b776b0e9c link to proposals page from index 7 years ago
Jason Volk 2a6895e759 Fix typo. 7 years ago
Ben Parsons 663e1a5ebe Update some text 7 years ago
Ben Parsons 9873a2a0ac link from the spec intro page 7 years ago
Ben Parsons 38adc7df06 latest generated proposals 7 years ago
Matthew Hodgson 8440179ecf clarify shepherds and clarify 'greater benefit'
as per https://github.com/matrix-org/matrix-doc/pull/1240#discussion_r188459957
7 years ago
Ben Parsons 4d3c4225b2 include proposal template link 7 years ago
Matthew Hodgson 84524df783 spell out requirements for doc editing 7 years ago
Ben Parsons 73b28612ec updates from feedback on pull 7 years ago
Matthew Hodgson 4c0743ef65 fix wording 7 years ago
Matthew Hodgson 10a8cb3f67 put handwavey timings on state transitions 7 years ago
Matthew Hodgson 4cdb4f105c clarify architecture 7 years ago
Matthew Hodgson 8096bf0039 perms and apostrophes 7 years ago
Matthew Hodgson 3e10a5a24a enter #matrix-spec:matrix.org 7 years ago
Matthew Hodgson 42fd3f34e4 shift stuff from contributing.rst to the new proposals page 7 years ago
Matthew Hodgson 3b736388ce clarify governance 7 years ago
Ben Parsons 3cef79f31d sublist formatting 7 years ago
Matthew Hodgson e27f674fb9 incept dates 7 years ago
Matthew Hodgson 29348c6190 improve wording 7 years ago
Matthew Hodgson 714767c95a explain proposal neutrality 7 years ago
Matthew Hodgson 755c9473fb more tweaks 7 years ago
Matthew Hodgson 07bf61b33b more tweaks 7 years ago
Matthew Hodgson 93681458d6 more tweaks 7 years ago
Matthew Hodgson cb882ba12d more tweaks 7 years ago
Matthew Hodgson 8c469e51cb lots of tweaks to the MSC verbiage 7 years ago
Ben Parsons b8f38b21a7 update introductory text 7 years ago
Ben Parsons 120fa92078 update intro 7 years ago
Ben Parsons 867307af8b new flow 7 years ago
Ben Parsons 866b0b6348 I mostly play with ascii art 7 years ago
Ben Parsons 9e37d15c8f little ascii diagram of process 7 years ago
Ben Parsons e18aa30fd2 start generating new proposals page 7 years ago
Jason Volk 2802fdea7e Fix typo. 7 years ago
Richard Lewis 8d05f80cec Sticker messages (m.sticker) (#1158) 7 years ago
Andrew Morgan cd26c170de Specify token used in /login is not an Access Token (#1155)
* Specify token used in /login is not an Access Token

While working through the implementation of /login in Dendrite, it was
confusing what the contents of the token attribute in the login request
body referred to. Initially, I thought it was an access token, which led
to further confusion. This commit explicitly states that the token is a
login token, which is separate from an access token, hopefully reducing
confusion for future readers.

Signed-off-by: Andrew Morgan (https://amorgan.xyz) <andrew@amorgan.xyz>
7 years ago
Vyom Sharma 4f5ad35865 fixed minor typo 7 years ago
Travis Ralston 331e49bd0d Improve the documentation of ignored users
* Fix the event schema to represent the real world
* Add the module to the spec targets
* Remove incomplete thought from the client behaviour
* Link to the account data API
* Minor word choice changes

Signed-off-by: Travis Ralston <travpc@gmail.com>
7 years ago
Travis Ralston d37ed0876f
Merge branch 'master' into travis/m.ignored_user_list 7 years ago
Richard van der Hoff a0dda3cae2
Merge branch 'master' into travis/m.tag 7 years ago
Travis Ralston e862ef60ae Spec ignoring users
Adds https://github.com/matrix-org/matrix-doc/issues/528

Signed-off-by: Travis Ralston <travpc@gmail.com>
7 years ago
Travis Ralston a3f006353c Tag ordering is defined as a number between 0 and 1, not strings
Signed-off-by: Travis Ralston <travpc@gmail.com>
7 years ago
Maxime Dor c8393306d1 Add IS ping endpoint 7 years ago
Richard van der Hoff 3dfa643b8b Fix membership state names
It's called 'join', not 'joined'.
7 years ago
Michael Telatynski 4d90d2b495
fix depr link 7 years ago
Nathan Musoke 7e94cd5a0b
Typo in client-server spec: ether -> either 7 years ago
Richard van der Hoff 73118b6b29
Merge pull request #1096 from t3chguy/user_directory
add user_directory
7 years ago
Michael Telatynski 784adade9b
changes based on Pull Request feedback 7 years ago
Richard van der Hoff 15ca952cc3 remove spurious word 7 years ago
Richard van der Hoff 1fb7647021 send_join: clarify auth_chain description
The auth_chain field should contain all of the auth events required to auth the
state events, as well as those required to auth the join event itself.

(cf https://github.com/matrix-org/synapse/blob/e148438/synapse/handlers/federation.py#L1076-L1077).
7 years ago
Michael Telatynski 3d8fe6e090
merge profiles with user directory into user data, also fix typo 7 years ago
Michael Telatynski 605510e965
Merge branch 'master' into user_directory 7 years ago
Richard van der Hoff a36f8ba00d Forbid colons in MXIDs
There is a single (AS) user on matrix.org who has a colon in their localpart,
but I suspect that is an artifact of old bridge code and won't work over
federation anyway.

Colons in MXIDs are particularly harmful because they make it impossible to
split mxids into local- and remote-parts
7 years ago
Michael Telatynski 97445195f6
add user_directory 7 years ago
Richard van der Hoff 08d137a588 We sign the request body, not the JSON
when signing federation requests, we put the actual request body into the
canonicaljson to be signed, not the JSON representation of it.
7 years ago
Richard van der Hoff 56f878842c Add a warning that state resolution has problems 7 years ago
Richard van der Hoff 5ab9ee6b88 Link to auth rules 7 years ago
Richard van der Hoff 0960229a80 Document the state resolution algorithm
or at least, my understanding of it.
7 years ago
Maxime Dor e8af5622a7 Use proper room event type for redaction 7 years ago
Richard van der Hoff ec1a12d21b
Merge pull request #1080 from maxidor/max/ss/auth_rules
Fix auth rules to allow first PL event
7 years ago
Richard van der Hoff 96d93e11d7
Tweak wording of auth rules slightly 7 years ago
Florian Jacob a0455eb5b1 Threat Model: Wrong word: Banning users is a threat only if you're not authorized
Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
7 years ago
Florian Jacob 306b3f5d62 Threat Model: Align indentation of Spying Threats.
“Disclosure to Servers Within Chatroom” was indented lesser
than the surrounding threats.

Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
7 years ago
Maxime Dor c4f53f58d7 Fix auth rules to allow first PL event 7 years ago
Richard van der Hoff 52dba5d89a
Merge pull request #1076 from florianjacob/fix-cas-url
Correct CAS spec link
7 years ago
Richard van der Hoff 58a3fa3d60
Merge pull request #1075 from matrix-org/rav/pdu_fields
Improve documentation of Transactions and PDUs
7 years ago
Florian Jacob ac861d9b97 Correct CAS spec link
Signed-off-by: Florian Jacob <projects+git AT florianjacob )DOT( de>
7 years ago
Richard van der Hoff 6a653b742c Document auth_events 7 years ago
Richard van der Hoff 632ba032af Improve Transaction and PDU documentation
Fix a bunch of lies about the fields in these structures.
7 years ago
Marcus Medom Ryding 8a446fa6df Modify event auth rules not to rely on depth
Signed-off-by: Marcus Medom Ryding <mrok4a@gmail.com>
7 years ago
Richard van der Hoff f88185ed89
Merge pull request #1073 from maxidor/max/ss/directory
Document directory query endpoint
7 years ago
Richard van der Hoff e9c1b87a1d Remove `git log` reference
We keep the changelog up to date anyway, so there's not much point in trying to
get people to use `git log`
7 years ago
Richard van der Hoff 0ce58fdb28 Prepare for next spec dev cycle 7 years ago
Maxime Dor bb50ec2e88 Document directory query endpoint 7 years ago
Richard van der Hoff 9b0bdb799e
Merge pull request #1054 from vberger/patch-2
Specify namespaces for tags
7 years ago
Maxime Dor 1045bc721d Document federation version endpoint 7 years ago
David Baker 14df31458b Attempt to clarify example a little 7 years ago
David Baker 9c5972ffe3 More formatting / grammar 7 years ago
David Baker e12c0b54ff Formatting & grammar 7 years ago
David Baker 4526ff2ea6 Double backticks in rst :/ 7 years ago
David Baker 1e4cba6b55 Don't linkify email addresses in examples 7 years ago
David Baker 3487f5d75a Spell out what we mean by a 3pid
(and consequently rejig all the fixed-width formatting)
7 years ago
David Baker ff85ec055e Move 3pid types down 7 years ago
David Baker 8d557ec9dc Actually this isn't necessary in this section 7 years ago
David Baker e80675c9e9 Link in markdown, not swagger 7 years ago
David Baker b789f61522 Make link more specific 7 years ago
David Baker 6edb90a08e Document threepids
Adds the /msisdn' 3pid type and generally fleshes out what a 3pid
is and how they work.

This merges most of the work from Max Dor in https://github.com/matrix-org/matrix-doc/pull/1039
with some tweaks and additions.
7 years ago
Travis Ralston b1801ea6db Spec /account/whoami
Signed-off-by: Travis Ralston <travpc@gmail.com>
7 years ago
Maxime Dor 68e12feec7 Add explicit examples for JSON encoding 7 years ago
Victor Berger cc8128edad
Specify namespaces for tags
This is a proposition for closing #931.

This should be a fairly uncontroversial addition (apart from bike-shedding), which only defines behavior for clients that want use tags or expose tagging functionality to their users.

The idea of adding this to the spec is to ensure clients can peacefully share the tag namespace without conflicting with each other, using rules similar to namespaces for state keys.
7 years ago
Michael Telatynski c2b1b7a10e
mention that we can send tokens via headers 7 years ago
Richard van der Hoff 6b23b7fc0b Merge branch 'client_server/r0.2.0_updates' 7 years ago
Richard van der Hoff b94c4a9f36 Sneaky update to 0.2.0 spec to link unstable
This doesn't count as a spec release, right??
7 years ago
Richard van der Hoff 6282a53ca9 Merge pull request #1032 from matrix-org/rav/mxid_grammar
Indentifier grammar updates
7 years ago
Richard van der Hoff 44fc033624 Fix broken links in the intro 7 years ago
Richard van der Hoff c08e6616c7 Try to make the intro link more obvious
Fixes https://github.com/matrix-org/matrix-doc/issues/1031.
7 years ago
Richard van der Hoff 628e723483 Move the MXID spec to the appendices
Also link to them from the /register API doc.
7 years ago
Richard van der Hoff 0a85fbb4f5 Allow slashes in MXIDs
Because apparently we like slashes now.
7 years ago
Richard van der Hoff 5fee8e54eb Document the event auth rules (#1027)
These are a necessary precursor to state resolution.
7 years ago
Richard van der Hoff c4bcd0a713 Merge pull request #1007 from turt2live/travis/m.room.pinned_events
Add spec for m.room.pinned_events
7 years ago
Travis Ralston 5e7df0e87c Update instant_messaging.rst
Signed-off-by: Travis Ralston <travpc@gmail.com>
7 years ago
Richard van der Hoff f1139b5b13 fix inter-spec link 7 years ago
Richard van der Hoff 5d473ced58 Merge pull request #1023 from matrix-org/rav/event_size
Specify max event size more precisely
7 years ago
Richard van der Hoff a8afbfd27d Avoid external link in search swagger 7 years ago
Richard van der Hoff bf4936d6d7 Specify max event size more precisely
This is somewhat inelegant, and will please nobody, but I think it's more
important that we specify the current state of the onion than worry about what
would have been nice, and introduce incompatibilities while we do so.
7 years ago
Michael Telatynski bf3b49f13c document joined_members and joined_rooms endpoints (#999) 7 years ago
Richard van der Hoff cfb547b474 Fix perspectives project link
The perspectives project seems to be dead :/. We can at least link to the
wayback machine.
7 years ago
Brendan Abolivier 6b6a941e36
Phrasing 7 years ago
Brendan Abolivier 8de93147b1
Typo 7 years ago
Brendan Abolivier c71575c94d
Remove useless blank line 7 years ago
Brendan Abolivier 4a99691108
Move link to the bottom of the file 7 years ago
Brendan Abolivier 9d90fa2cae
Specify third-party invites 7 years ago
Brendan Abolivier af961321e9
Specify remote invite 7 years ago
Brendan Abolivier 997e76fcf7
Update JSON body for 3PID onbind requests 7 years ago
David Baker 883767a905 Merge pull request #984 from matrix-org/rav/sync_timeout
Make clear that the /sync timeout is zero by default
7 years ago
Richard van der Hoff 1e3f5683c8 Make clear that the /sync timeout is zero by default 7 years ago
14mRh4X0r 6570a5c6a3 Update link to WHATWG's Living Standard FAQ entry 7 years ago
Brendan Abolivier 750d980bc0 Room member (#950)
* Fixed an incorrect membership on example
* Added precision on membership upon profile update
* Changed first example into a join
* Changed the state/{eventType}/{stateKey} example with an actual state key
7 years ago
Richard van der Hoff da6938b818 Key management APIs (#894)
Spec the e2e key-management APIs.
8 years ago
Richard van der Hoff 0a6886e73c Fix broken link in spec 8 years ago
David Baker 6296d676c8 Remove unused ID server file 8 years ago
Richard van der Hoff da686ba4eb Specification of unpadded Base64 8 years ago
Richard van der Hoff a091d86707 Merge pull request #775 from superdump/superdump/fed-pdu-state-update-fix
server-server api: Fix swapped pdu state update field descriptions
8 years ago
Robert Swain db26877eee server-server api: Fix swapped pdu state update field descriptions
Signed-off-by: Robert Swain <robert.swain@gmail.com>
8 years ago
Robert Swain 5855bf4b16 server-server: PDUs are signed by the origin server's private key
Not the public key.

Signed-off-by: Robert Swain <robert.swain@gmail.com>
8 years ago
Richard van der Hoff 5537f7a832 Allow guest access to E2E endpoints 8 years ago
Richard van der Hoff 8a9629167a httpsify the speculator link 8 years ago
Richard van der Hoff 4abdcc6f05 Merge pull request #402 from matrix-org/rav/device_management
Device management API
8 years ago
Richard van der Hoff 461bfdb0d8 Merge branch 'master' into rav/device_management 8 years ago
Richard van der Hoff aecac4f931 Merge pull request #723 from matrix-org/markjh/thumbnail_url
Move m.* thumbnail_url to be inside info to match m.video
8 years ago
Mark Haines 7025793ca8 Say that thumbnails should be 'mxc://' 8 years ago
Richard van der Hoff 3ee75af06f Move 'Signing JSON' to appendices
Canonical JSON and JSON signing in general are common to the C-S spec. Move
them to the appendices instead of the S-S spec.
8 years ago
Richard van der Hoff a5e12814ef Split appendices up
Split appendices into multiple files
8 years ago
Richard van der Hoff e8915215a2 Merge pull request #405 from matrix-org/dbkr/push_examples_api_path
Fix API path in pushrules examples
8 years ago
Richard van der Hoff 22777970da Fix speculator link
the link to the 'latest version' was broken
8 years ago
David Baker 41f4661d1b Fix API path in pushrules examples 8 years ago
Richard van der Hoff af515012ea Device management API 8 years ago
Richard van der Hoff 9265b03008 Client device doc
Document client devices, and the mods to the login and register apis to support
them.
8 years ago
Richard van der Hoff cbc5774ade JSON key names also use underscores. 8 years ago
Richard van der Hoff 8523af1385 Document convention of using underscores in APIs
Everybody has agreed to it. Now we just have to remember to do it.
8 years ago
Richard van der Hoff 7ed7944ddc Merge pull request #399 from matrix-org/dbkr/identity_api_right_path
Use the right path for the identity API
8 years ago
David Baker 49ee00c361 Use the right path for the identity API 8 years ago
Richard van der Hoff 6c88d698ae uia fallback example: check event origin 8 years ago
Richard van der Hoff e850fd718d window.postmessage for Interactive Auth fallback
Require that User-Interactive auth fallback pages call
`window.postMessage` to notify apps of completion.
8 years ago
Richard van der Hoff 42616f839c Merge pull request #396 from matrix-org/dbkr/notifs_api
Spec notifs API
8 years ago
Richard van der Hoff 909aef2b18 Merge pull request #389 from matrix-org/erikj/create_room_is_direct
Spec /createRoom is_direct flag, is_direct in member event and m.direct
8 years ago
Richard van der Hoff 83b89aa1ce dm: clarify client behaviour 8 years ago
David Baker ed2d364440 consistency 8 years ago
David Baker 96b6fb0129 'In the m.room.member' event 8 years ago
David Baker 301595c071 Linkify account_data API
Also change other links because it turns out the .. isn't part
of the syntax
8 years ago
David Baker 2a987c3369 Linkify endpoints properly 8 years ago
David Baker 2259a00ba2 links 8 years ago
David Baker 3f66ba713c Reference m.room.member section 8 years ago
David Baker e2024e5829 Add note on how to use the account data event 8 years ago
David Baker d791f35007 Remove unnecessary paragraph 8 years ago
David Baker 4480553bf9 Move m.direct description to the swagger
Also change the swagger to yaml so I can put that description in it
without having to figure out how to embed that in json.
8 years ago
Richard van der Hoff a8d35b2409 UI Auth: servers should 401 when a request fails
(ref https://matrix.org/jira/browse/SYN-744)
8 years ago
David Baker c16ba9488f Spec notifs API 8 years ago
Richard van der Hoff 37fb1ceb65 Merge pull request #395 from matrix-org/rav/kill_refresh_tokens
Remove references to refresh tokens and tokenrefresh
8 years ago
David Baker 8e096bdc48 Link to createRoom, not initialsync 8 years ago
David Baker 85bc989c02 pr feedback 8 years ago
David Baker 976d41351e spelling 8 years ago
David Baker d39f662df5 PR feedback 8 years ago
David Baker 203ea99328 Spec m.direct 8 years ago
Richard van der Hoff f4c7fdfd03 Remove references to refresh tokens and tokenrefresh
refresh tokens are dead.
8 years ago
Richard van der Hoff ebaaa7e3b3 Review feedback
* store-and-forward -> send-to-device
* describe motivation
* device ids are 10 capital chars
* etc
8 years ago
Richard van der Hoff ccd7bb32d5 Specification for direct-to-device messages 8 years ago
David Baker 9a1db01d92 Clarify `highlight` and `sound` tweaks. 8 years ago
Benjamin Saunders cade909e25 Fix inconsistencies regarding redacted_because
Signed-off-by: Benjamin Saunders <ben.e.saunders@gmail.com>
8 years ago
Benjamin Saunders 77b668a5dc Fix some obsolete uses of user_id key in events
Signed-off-by: Benjamin Saunders <ben.e.saunders@gmail.com>
8 years ago
Richard van der Hoff 2fa7aac3be Merge pull request #377 from Ralith/typos
Fix typo
8 years ago
Benjamin Saunders 80bfbbdd33 Fix typo
Signed-off-by: Benjamin Saunders <ben.e.saunders@gmail.com>
8 years ago
David Baker fd888fcbda Merge pull request #373 from matrix-org/dbkr/contains_display_name_override
Make the display name rule an override rule
8 years ago
David Baker b65b0d049e Make the display name rule an override rule 8 years ago
David Baker 6592646ee9 Add dot prefix to .rule.master
It's a default rule, so it needs a dot
8 years ago
Richard van der Hoff c51c4acf7f Clarifications to authentication mechanisms
* Make the purpose of the `auth` key in /register requests explicit, and say
  that it should be empty at first.

* Restructure the UA-auth section a bit.

* In the UA-auth section, say that clients should submit no `auth` to start
  with, and add 'Stage 0' representing  this to the example.

* s/{stage,login} type/authentication type/ in the UA-auth section. Seems
   clearer to me.

* Try to distinguish the example responses from the example requests by giving
  an HTTP header.
8 years ago
Matthew Hodgson 9cb626982a s/user/username/ typo 8 years ago
Richard van der Hoff 0248afe6ac login with invalid token gives a 403 8 years ago
Richard van der Hoff 1f1dfdd91c More clarifications 8 years ago
Richard van der Hoff ec81b4c9fe More PR feedback
Add a couple of TODO sections
8 years ago
Richard van der Hoff 4b0e546eeb PR feedback
Fix some typos, and clarify several aspects of server behaviour.
8 years ago
Richard van der Hoff 41368dc5a7 document CAS login
Following the spirit of "document how it is, not how we wish it was", document
the CAS login bits.
8 years ago
Richard van der Hoff ec20f15407 /tokenrefresh should expire the access token
It's possible for clients to call /tokenrefresh before the access_token has
expired, potentially leading to a proliferation of valid access_tokens.
8 years ago
Richard van der Hoff 2370a4c970 Spell out the state algorithm for createRoom
Fixes https://matrix.org/jira/browse/SPEC-429.

Synapse currently follows the specified ordering, but does *not* give the
specified error when the state is invalid (instead it creates the room anyway
but gives a 403 M_FORBIDDEN). Still, I don't think that should be a real
problem for any real clients, and nothing would break if we changed this in
synapse, so it might as well go in the spec anyway.
8 years ago
Matthew Hodgson c0490f2db2 cosmetics 8 years ago
Richard van der Hoff a64f9bbb63 C-S spec: Fix 'unstable' in link to /context API 8 years ago
Richard van der Hoff b5f9e896ba C-S spec: Fix 'unstable' in link to /context API 8 years ago
Richard van der Hoff a2ab6854ff CS spec: Add r0.2.0 to historical version list 8 years ago
Richard van der Hoff ae489260a1 Merge pull request #359 from matrix-org/rav/mxid_grammar
Define MXID grammar
8 years ago
Richard van der Hoff 72449294bc Moar TODO 8 years ago
Richard van der Hoff a2f1c6a7a6 Add a TODO about defining non-latin login creds 8 years ago
Richard van der Hoff cdd19dca7f fix typos 8 years ago
Richard van der Hoff f942b6e5c1 remove some redundant words 8 years ago
Richard van der Hoff 001db45046 s/mxid/user id/, and other PR feedback. 8 years ago
Richard van der Hoff e628edfdc6 Define MXID grammar
Quick! Write down the decisions on the grammar before we get a chance to change
our minds!

Also some placeholder sections for other types of identifier.
8 years ago
Richard van der Hoff 8ac45d7948 Merge pull request #353 from matrix-org/rav/room_membership
Clarify the room-membership APIs
8 years ago
Richard van der Hoff 0c06ea0e67 Merge pull request #356 from matrix-org/rav/fix_redaction
Fix name of prev_content to preserve on redactions
8 years ago
Richard van der Hoff a9d3cfd13c Merge branch 'master' into rav/link_undeprecated_endpoints 8 years ago
Richard van der Hoff d92515bce3 Merge pull request #354 from matrix-org/rav/reorder_deprecated_initialsync
Move /room/x/initialSync to after the undeprecated APIs
8 years ago
Richard van der Hoff d8a47dbb5d Merge pull request #352 from matrix-org/rav/kill_old_sync
Remove references to intialSync etc, and rewrite syncing
8 years ago
Richard van der Hoff 49cd65dd58 Add a license to the spec
We're licensing hte spec under ASLv2. Add the LICENSE file, and add the
short-form to as much of the source as is practical right now (adding it to
json source is a massive pita).
8 years ago
Richard van der Hoff 1c6eed5c35 Fix name of prev_content to preserve on redactions
The field is called prev_content, not prev_state.
8 years ago
Richard van der Hoff 6bcb1798f5 Mark deprecated endpoints with their replacements
Fixes https://matrix.org/jira/browse/SPEC-415
8 years ago
Richard van der Hoff 9d267795e0 Move /room/x/initialSync to after the undeprecated APIs
It's a bit incongruous to have to read through the deprecated /initialSync to
get to the good stuff. Separate out intialSync so that we can move it later in
the spec.
8 years ago
Richard van der Hoff 885e6797f2 Fix double-negative in room naming 8 years ago
Richard van der Hoff 4118ce6680 Add rationale to /sync 8 years ago
Richard van der Hoff 7186ecba7f Clarify the room-membership APIs
* give join/invite their own subsection
* move ban/unban into the banning section
* document forgettting and kicking
8 years ago
Richard van der Hoff 017935d8e9 Fix typo 8 years ago
Richard van der Hoff 6dfc923c1d Remove references to intialSync etc, and rewrite syncing
The 'Events' section of the C-S spec was full of outdated references to the v1
sync api, which is long dead. (https://matrix.org/jira/browse/SPEC-414).

Also, try to clarify why /sync distinguishes state and timeline
(https://matrix.org/jira/browse/SPEC-423).
8 years ago
Richard van der Hoff 7b4c21fa77 Add link to room name bug 8 years ago
Richard van der Hoff d4194dd24e Clarify the room-naming behaviour
Make behaviour on empty `m.room.name` and `m.room.canonical_alias` events
explicit.
8 years ago
David Baker 4812be9142 Missing . 8 years ago
David Baker ead5648b8c Add requestToken endpoints
For password reset and 3pid adding
8 years ago
David Baker ef4c03894d Merge pull request #343 from matrix-org/dbkr/threepid_requesttoken
Spec for endpoint-specific 3pid verification token
8 years ago
Richard van der Hoff df3f4b4ecf Fix link to draft e2e spec 8 years ago
David Baker e4db7be8e2 Better structure for error response
& add server not trusted error
8 years ago
David Baker 572aa24a88 Add M_THREEPID_IN_USE 8 years ago
David Baker b0194a3016 Spec for endpoint-specific 3pid verification token
As per proposal https://docs.google.com/document/d/13mapDbaOnbob9ZYRDiGm1YbeZhFOBj_R1OvgBA9pA5s/edit?pref=2&pli=1#
8 years ago
Mark Haines af091ff614 Document changes to the default push rules 8 years ago
Mark Haines 30a3302921 Merge pull request #274 from matrix-org/markjh/default_rules
Update the predefined push rules in the spec
8 years ago
Erik Johnston e80e32173f Merge pull request #278 from matrix-org/erikj/presence
Update presence spec.
8 years ago
David Baker ec69f04793 Merge pull request #337 from matrix-org/rav/directory_docs
Improve documentation of directory API
9 years ago
Richard van der Hoff 7bbb664784 Improve documentation of directory API 9 years ago
David 92bb1c1b43 Update wording as per request from richvdh 9 years ago
David a7e40bed88 Add powerlevel name to value list 9 years ago
Richard van der Hoff 099d356dfb Add r0.1.0 to version list in C-S spec 9 years ago
Richard van der Hoff e7e9f5fa46 Document the /logout api
We have one, and it's useful, so we really ought to document it
9 years ago
Richard van der Hoff 3bce28a15c Clarifications to the 'Client authentication' section
* Use the terminology 'login type' everywhere instead of mixing up 'stage type'
  and 'login type'

* Don't have a separate 'APIs using the User-Interactive Authentication
  mechanism' section, because (a) it doesn't make much sense to organise the
  APIs this way, and (b) it was a set of lies anyway.

* Move '/account/password' definition into registration.yaml so that register
  and password can share a section in the spec; remove duplicate doc for
  /password.

* Write some words on using 3pids for /login
9 years ago
Richard van der Hoff 5cc9066159 Add git versions to other parts of the spec 9 years ago
Richard van der Hoff 01f8173c84 Put each bit of spec in its own directory
I want to change the URLs for the spec sections on the website from
<version>/<section>.html to <section>/<version>.html, to better reflect how we
do the versioning.

This puts each bit of spec in its own directory, updates the index to point to
the right place, and fixes continuserv to deal with directories as well as
files.

This will probably require fixes to the speculator too, but I'll have to come
back to that.
9 years ago
Richard van der Hoff 351bbee016 Remove changelog from index.rst
... since it's explicitly unversioned.
9 years ago
Richard van der Hoff 7d20d2d903 Add old-version links to C-S API 9 years ago
Richard van der Hoff 5b010de2b3 Fix typo 9 years ago
Richard van der Hoff e68193d2e0 Attempt to clarify the spec versioning. Again. 9 years ago
Matthew Hodgson 17b8fccd4c rephrase intro 9 years ago
Jimmy Cuadra c44d61b3a9 Clarify which documents are generated from scripts. 9 years ago
Jimmy Cuadra 22b542e3f9 Fix grammar in spec index. 9 years ago
Jimmy Cuadra 5b18db9096 Make list of APIs on the index a table. 9 years ago
Jimmy Cuadra 4b27d6a7a4 Reorganize spec index. 9 years ago
Richard van der Hoff cd4e7306ca Merge pull request #305 from matrix-org/rav/show_own_leave_event
Clarify `history_visibility` behaviour
9 years ago
David Baker 71cb646541 Change `id` in the push gateway poke to be `event_id` and spec that it's the Matrix event ID of the message. Correct the spec for badge count pushes which omit fields previously described as mandatory. Add more detail about when to use event_id to suppress dupes. Also add the push gateway doc so it's actually included in the spec. 9 years ago
Richard van der Hoff b59d16c4d1 Clarify `history_visibility` behaviour
Clear up some lies in the history_visibility section, and clarify behaviour for
`m.room.history_visibility` and the user's own `m.room.member` events.
9 years ago
Daniel Wagner-Hall 313f09f5c0 Specify address validating and binding 9 years ago
Kegsay 506accee27 Merge pull request #288 from matrix-org/markjh/pushrule_stream
Add a snippet of documentation for a m.push_rules event.
9 years ago
Daniel Wagner-Hall fecff8afdc Specify association lookup 9 years ago
Daniel Wagner-Hall 30c9fee0b2 Specify ephemeral invitation signing 9 years ago
Daniel Wagner-Hall 097b69dc1e Loosely specify invitation storage 9 years ago
Daniel Wagner-Hall e0c55eeccf Add initial identity server spec
More to come
9 years ago
Daniel Wagner-Hall f4f186baee Add _cs suffix to client-server http APIs
I'm about to add identity service APIs, so differentiating is good.
9 years ago
Mark Haines c3c95d0c09 Fix grammar and add backticks for /sync 9 years ago
Mark Haines cc0dae3aeb Deduplicate a couple of places where "the" was written twice in a row 9 years ago
Mark Haines 5407cc8e05 Add a snippet of documentation for a m.push_rules event. 9 years ago