Commit Graph

395 Commits (c74105db431033abd7a4260957f250903bcdd5e8)

Author SHA1 Message Date
David Robertson 07442876ce
Improve presentation of push rules kinds and actions (#1348) 2 years ago
Patrick Cloke eeb43043ad
Add standard error responses (MSC3743). (#1347) 2 years ago
Travis Ralston 5f2fac89af Matrix 1.5 2 years ago
Hubert Chathi 684ead8ab6
Merge pull request #1294 from uhoreg/rhul_clarifications
add some e2ee clarifications
2 years ago
Hubert Chathi 64922771d4
Clarify that verifications without a request only happens over to-device (#1345) 2 years ago
Andrew Morgan cb2d5653ee
Add Event Replacements, Threading and Reference Relations modules to module summary table (#1344) 2 years ago
Hubert Chathi 0f0caf582d more clarifications 2 years ago
Hubert Chathi 9fafadf311
Upgraded refusal to verify to a MUST
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2 years ago
Hubert Chathi 19e29e36af more clarifications 2 years ago
Richard van der Hoff 08fde5f257
Generate unstable changelogs using towncrier (#1340)
Replace the current stack of hugo templates with a towncrier invocation. The main advantage of this is that it means that the "Changes since last release" section is consistent with the changelogs for the actual releases.

This also changes the release process so that the changelog is generated before tagging, which means that the thing tagged v1.5 is actually the v1.5 spec.

Fixes #908.
2 years ago
Hubert Chathi d0cbd4c8dd
Apply suggestions from code review
Co-authored-by: Denis Kasak <dkasak@termina.org.uk>
2 years ago
Richard van der Hoff 498cf6d147
Merge pull request #1320 from zecakeh/master-pushrule
Clarify that `.m.rule.master` has a higher priority than any push rule
2 years ago
Richard van der Hoff b9952f1a74
Merge pull request #1329 from matrix-org/rav/htmltest
Add link checker to CI
2 years ago
Richard van der Hoff 44c7eb5b88
Merge pull request #1330 from matrix-org/rav/fix_dead_links
Fix broken links
2 years ago
David Baker f53da89996
Merge pull request #1318 from zecakeh/pushrules-set-sound
Replace `set_sound` push rule action by `set_tweak`
2 years ago
Richard van der Hoff 9e8360560b Uniquify some links
The link checker doesn't understand that we dynamically re-assign element IDs
at load time, so was failing for a few links that were technically valid
(though presumably still broken for any client not using JS).

Work around this by manually setting a few anchors, linking to other nearby
bits of text, or just changing heading titles.
2 years ago
Richard van der Hoff 6cbb88f9df Fix broken links
A bunch of broken links I found
2 years ago
Richard van der Hoff b07fe504ed
Stop rendering CS modules and room version fragments as standalone pages (#1317)
This is actually doing two things:

 * creating `{fragments,modules}/index.md` turns the fragments and modules into
   page resources, rather than pages in their own right. We have to update the
   shortcodes to match.

 * adding `headless: true` means that we don't render the pages.

The net effect is that we don't render pages like
https://spec.matrix.org/v1.4/rooms/fragments/v1-auth-rules/ and
https://spec.matrix.org/v1.4/client-server-api/modules/account_data/.
2 years ago
Richard van der Hoff 1945589acf
Clarifications to AS spec, including MSC3905 (#1305)
Primarily this is the spec for MSC3905, but I've also taken the opportunity to clean up the section a bit and move the definition out to a .yaml file.
2 years ago
Kévin Commaille ea7e1c8af9
Clarify that `.m.rule.master` has a higher priority than any push rule
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2 years ago
Kévin Commaille 392794950b
Replace set_sound push rule action by set_tweak
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2 years ago
Hubert Chathi 830f80f56a
Merge pull request #1271 from uhoreg/add_verification_request_msgtype
add in-room m.key.verification.request msgtype
2 years ago
Hubert Chathi 82d2dd4ab0
Merge pull request #1283 from uhoreg/fix_event_subtype
improve display of event subtypes
2 years ago
Hubert Chathi 2395dd87c0 more clarifications, and move event definitions to yaml 2 years ago
Alexandre Franke 39f79fe521
Update link to API viewer (#1308)
* Update link to API viewer

Fixes #2
2 years ago
Andrew Morgan c8242eeb35
Replace misuses of 'plaintext' with 'cleartext' and clarify spoiler docs (#1306) 2 years ago
Hubert Chathi d6345f0df2 apply changes from code review 2 years ago
Hubert Chathi fbbf3b81c5 add some e2ee clarifications 2 years ago
Travis Ralston b2cc836649
Spec reference relationships (#1206)
* Spec reference relationships

MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3267

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Edits per code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Hubert Chathi f76ff36545 add links 2 years ago
Hubert Chathi 76bf60a12f set the title of m.key.verification.request in-room event 2 years ago
Hubert Chathi 99cd692ed0 improve display of event subtypes 2 years ago
Hubert Chathi c0d54ab4d9
Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Richard van der Hoff 11cef5417a
Clarify auth rules for `m.room.power_levels` events (#1269) 2 years ago
Richard van der Hoff c4505665e0
Various clarifications to auth rules text (#1270) 2 years ago
Andrew Morgan 43a48314ac
Remove reference to a `room_id` key for typing events (#1265) 2 years ago
Hubert Chathi 191450ea73 add in-room m.key.verification.request msgtype 2 years ago
Erik Johnston dc0882012b Fix naming of `device_one_time_keys_count` in /sync
Fixes #671
2 years ago
Andrew Morgan 098aabd22a Add a missing 'the' 2 years ago
Val Lorentz 460bea4024
Fix definition of `data-mx-color` values (#1260)
* Fix definition of `data-mx-color` values

* Create 1260.clarification

* Update changelogs/client_server/newsfragments/1260.clarification

Co-authored-by: Travis Ralston <travpc@gmail.com>

Co-authored-by: Travis Ralston <travpc@gmail.com>
2 years ago
Val Lorentz 3c796e9876
Aggregations: remove not about "future extensions" (#1263)
* Aggregations: remove not about "future extensions"

It is now used by threading.

* Create 1263.clarification
2 years ago
Travis Ralston 7a591366c1 v1.4 changelog 2 years ago
Travis Ralston 227757d499
Threads: Read receipts & notifications (#1255)
* Spec MSC3771: Threaded read receipts

Note: this builds on a (as of writing) non-existent "threading" section, which is part of a different commit.

* Spec MSC3773: Threaded notifications

* changelog

* Various clarifications per review
2 years ago
Travis Ralston 25dda1eadb
Threads: The base (#1254)
* Spec MSC3440: Threading (just the base)

Other threading MSCs to follow

* Spec MSC3856: Threads list API

* Spec MSC3715:  Add`dir` to `/relations`

* changelog

* Apply suggestions from code review

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Update changelogs/client_server/newsfragments/1254.feature

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2 years ago
Travis Ralston 6c6c602845
Clarify that refreshed access tokens don't invalidate the scope of txnid (#1236) 2 years ago
Andrew Morgan e7e376142e
Fix typos in the spec related to account data (#1243) 2 years ago
Richard van der Hoff 58e6900891
Spec event edits (#1211)
Per matrix-org/matrix-spec-proposals#2676
2 years ago
Travis Ralston e406bd94f6
Spec MSC2285: Private read receipts (#1216)
* Convert `m.receipt.yaml` to traditional YAML

* Spec MSC2285 (private read receipts)

* Add some obvious copyright headers

* Add changelog entries

* Appease the linter

Apparently it hates it when you do this.

* Allow m.fully_read on /receipts

* Apply suggestions from code review

Co-authored-by: Matthew Hodgson <matthew@matrix.org>

Co-authored-by: Matthew Hodgson <matthew@matrix.org>
2 years ago
Richard van der Hoff 1930824898
include CS-api modules with `{{<` (#1205)
... because that fixes everything. Or at least, #1204.
2 years ago
Travis Ralston afc0e6a026
Add CORP headers to media repo (#1197)
* Add CORP headers to media repo

MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3828

* Write weird CSS rules to make added-in work inline in the CS spec

Even though our content doesn't need 2 paragraphs, it's good to have the capability to render it in the future.

* Remove test paragraph

* Refine prose

* spelling is key
2 years ago
Travis Ralston 9506ecea59
Add missing annotation for v1.4 on ACL push rule (#1201)
* Add missing annotation for v1.4 on ACL push rule

* changelog
2 years ago
Travis Ralston 6dc7b95e18
Use auth header instead of query param for hs->as comms (#1200)
* Use auth header instead of query param for hs->as comms

MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/2832

* Fix for OpenAPI 2
2 years ago
Travis Ralston 9093a5f16f
Copy room `type` on upgrade too (#1198)
MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3818
2 years ago
Travis Ralston 3c45c0aeb4
Remove unused policy room sharing mechanism, as per MSC3844 (#1196)
MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3844
2 years ago
Travis Ralston b36d4eff7d
Remove declared-invalid `invite->knock` restriction from auth rules (#1175)
* Remove declared-invalid `invite->knock` restriction from auth rules

* Changelog

* real changelog
2 years ago
Richard van der Hoff f24cad1653
Add push rule for `m.room.server_acl` (#1190)
* Add push rule for `m.room.server_acl`

... per MSC3786.

* Update changelogs/client_server/newsfragments/1190.feature

Co-authored-by: Travis Ralston <travisr@matrix.org>
2 years ago
Richard van der Hoff 3dc3150f6d
fix typo 2 years ago
Richard van der Hoff b232148821
Clarify the use of JSON in requests and responses (#1185)
Fixes #1182
2 years ago
David Robertson 4be2916047
Remove a stray fullstop in "Other error codes" 2 years ago
Richard van der Hoff ea42cd3c7b
Move various e2e defintions out to yaml files (#1166)
We have code to generate tables, which we should use in the e2e section.
2 years ago
David Robertson f9028acf8e
Describe return codes for account data endpoints + minor clarifications (#1155) 2 years ago
Brad Murray ead437578b
Fix typo in m.secret.request device event name (#1135)
* Fix typo in m.secret.request device event name

I don't think this is supposed to be plural according to the various SDKs

* Add changelog

* Update changelogs/client_server/newsfragments/1135.clarification

* Update changelogs/client_server/newsfragments/1135.clarification

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Travis Ralston <travpc@gmail.com>
2 years ago
David Florness adaef611dc
Fix typo (#1161)
Signed-off-by: David Florness <david@florness.com>
2 years ago
DeepBlueV7.X 5bf35327c6
Fix wording for globs in policy lists (#1165)
* Fix wording for globs in policy lists

The specification here does neither match how globs work in common
libraries nor do they match how they are used in practice currently or
how the MSC worded them (which said they should be like server ACLs). As
such this seems to be an issue introduced when writing the spec text.

Ref mjolnir:
- b48904bc2b/src/models/ListRule.ts (L44)

Ref matrix bot sdk (which implements the glob used above):
- 473e563236/src/helpers/MatrixGlob.ts (L26)
- f799b1fe1a/test/helpers/MatrixGlobTest.ts (L44)

Ref original MSC:
- c7b3d99853/proposals/2313-moderation-policy-rooms.md?plain=1#L36
- https://spec.matrix.org/v1.3/client-server-api/#server-access-control-lists-acls-for-rooms

fixes https://github.com/matrix-org/matrix-spec/issues/17

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Add changelog

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
2 years ago
Richard van der Hoff 848294ea37
events with rejected_auth_events must be rejected (#1137)
This might be kinda obvious, but didn't seem to be spelt out anywhere.
2 years ago
David Robertson cc7cc4a44d
Fix unintentional stateres change added in #1042 (#1158)
* Fix unintentional stateres change added in #1042

* Changelog
2 years ago
Travis Ralston 98db9a6d04 v1.3 changelog generation 2 years ago
David Robertson 6af499361e
Revert "Note a more efficient computation of the auth difference. (#1119)" (#1132)
* Revert "Note a more efficient computation of the auth difference. (#1119)"

This reverts commit a707266e50.

* Changelog

* Delete 1132.misc

Co-authored-by: Travis Ralston <travpc@gmail.com>
2 years ago
David Robertson 2ee2172cf5
Better description of the mainline of a PL event. (#1107) 2 years ago
David Robertson a707266e50
Note a more efficient computation of the auth difference. (#1119) 2 years ago
Neil Alexander 1a994f6119
Add `m.federate` into the auth rules (#1103)
* Add section about `m.federate` into the auth rules

* Add changelog entry

* Update changelog, add to room version 10 event auth rules
2 years ago
David Robertson 580be61df7
Conflicted state set is a set of events (#1120)
In #1042 I incorrectly wrote that the conflicted state set is a set of
pairs (K, V). We later take the union of the conflicted state set and
the auth difference. The latter is a set of events (V) only.

Fix this by making the conflicted state set a set of events rather than
a set of pairs. That is, the conflicted state set is a a `Set[Event]`
instead of a `Set[((type, state key), event)]`.
2 years ago
Travis Ralston 926c6bad61
Deprecate the `sender_key` and `device_id` on Megolm events (#1101)
* Deprecate the `sender_key` and `device_id` on Megolm events

MSC: https://github.com/matrix-org/matrix-spec-proposals/pull/3700 ([Markdown](https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/3700-deprecate-sender-key.md))

The language around `m.room.encrypted` is a bit awkward because *technically* you can use the event to represent non-Megolm events, however that's considered an edge case at this time.

* changelog

* Apply wording changes

* Remove incorrect example

* Add missing sentence
2 years ago
Travis Ralston c4db688af8
Spec `/relations` and aggregations (#1062)
* Commit to show changes to rich replies section

* Move rich replies to a module

* Add remainder of MSC2674

* Pivot away from MSC3440: Threads

* Add changelog entries so far

* Make a note for why we have aggregations/relations if nothing uses it

* Outright remove threads references

Apparently this breaks the table of contents

* Define MSC2675

* Define MSC3666

* Add note for rich replies?

* Update content/client-server-api/_index.md

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Clarify how ignoring works for aggregations.

* Try to clarify redactions a bit

* Clarify using parent/child language

* Add missing bits of MSC2675

* Add changelog for aggregations

* Appease the linters

* Update data/api/client-server/relations.yaml

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Try to clarify the return of /relations

* Fix required attribute

* Fix wording round 1

* Try to fix pagination

* Copy/paste the endpoint to make Open API happy

* Fix code block examples for rich replies

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions on all 3 endpoints

* Fix description of relationships API

* Fix warning about server-side aggregation/bundling

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Travis Ralston f14e18131b
Specify room version 10: `knock_restricted` and int power levels (#1099)
* Clarification on historical power level handling

* Revert "Clarification on historical power level handling"

This reverts commit f443b3d5a9.

* Clean up

* Let us try this again not using VS Code

* Markdown is full of mysteries

* Move stringy power levels to room versions

* Describe range

* Fix minor issues with previous room version stuff

* Copy/paste v9 into v10

* Describe deprecated formatting

* Paste unmodified auth rules from v8 into v10

* Move 9.1 to 9.3, add 9.1 and 9.2 for integer enforcement

* Add knock_restricted to v10 auth

* Misc cleanup and clarification for fragments

* Describe `knock_restricted` client changes

* Changelogs

* spelling

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply code review suggestions manually

* Fix v9 redactions

* Fix auth rules clarity issues

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Remove false integer requirements

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Hubert Chathi ef3df9d549
Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Hubert Chathi 91b2a49b6f apply suggestions from review, and other clarifications 2 years ago
Hubert Chathi 84747f90e8 Merge branch 'main' into refresh_token_spec 2 years ago
Travis Ralston 10bd1b5038
Re-add timestamp massaging (#1094)
* Re-add timestamp massaging

Per [MSC3316](https://github.com/matrix-org/matrix-spec-proposals/pull/3316)

* changelog
2 years ago
Hubert Chathi 2780055198
clarify federation Authorization header an add destination property (#1067)
* clarify federation Authorization header an add destination property

* add changelogs

* some clarifications

* more clarifications, fixes

* use HTML in the added-in/changed-in shortcodes

* Apply suggestions from code review

Co-authored-by: Travis Ralston <travpc@gmail.com>
2 years ago
David Robertson 3f7b0e80a3
Minor drive-by state res clarifications (#1042)
* Opinionated rewrite of unconflicted state map

* Define auth chain
2 years ago
David Robertson 25a9dcfd3c
Clarify that the resident server should sign the restricted join (#1093)
* Clarify that server should sign the restricted join

* Changelog

* Changelog
2 years ago
Richard van der Hoff bb47f08ee7
Remove broken "token-based" link (#1081)
This used to link to a section in the UIA docs (https://matrix.org/docs/spec/client_server/r0.6.1#token-based), 
but that was removed in 7c6636a5.
2 years ago
David Robertson c4e54509db
PDU check 5 should consult state before an event (#1070) 2 years ago
David Robertson 9ede29a01d
Attempt to define a valid event (#1045)
* Attempt to define a valid event

Resolves #1044.

Well, maybe.

* Changelog

* link to /rooms, thanks Travis

Co-authored-by: Travis Ralston <travpc@gmail.com>

Co-authored-by: Travis Ralston <travpc@gmail.com>
3 years ago
David Robertson 29e7036043
Auth rules: PDU content definitions cross-refs (#1050)
* Auth rules: PDU content definitions cross-refs

* Changelog

* Apparently v6 & v7 auth rules aren't in fragments
3 years ago
David Robertson 81d61d87f4
Italicise primes and brackets in state res desc (#1043)
* Italicise primes and brackets in state res desc

I don't like it but it seems to make things look decent in Firefox.
This is probably good enough---we're not Knuth, after all.

Additionally I have avoided the use of `*E*'s` as in "E's prev_events"
since the apostrophe looks poor here.

Resolves #774.
An alternative to #1040.

* Changelog
3 years ago
Hubert Chathi 1f81587154 add spec for refresh tokens 3 years ago
Travis Ralston fd2d5b8a49
Fix a few more instances of matrix-doc being used; Fix changelog support for repo split (#1051)
* Use spec-proposals repo for links in spec text and current changelog

* Make the changelog repo-aware

* Changelog
3 years ago
Aaron Raimist c657932830 Update the default room version to 9 (#3739)
* Update the default room version to 9

Spec PR for [MSC3589](https://github.com/matrix-org/matrix-doc/pull/3589)

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Add changelog

Signed-off-by: Aaron Raimist <aaron@raim.ist>
3 years ago
Jonas Platte 71601a5ff5 Fix broken link in end_to_end_encryption.md (#3708) 3 years ago
Tulir Asokan 9b0bd0917d Fix join membership auth rules when `join_rule` is knock (#3737)
Fixes #3736
3 years ago
Travis Ralston b6f2b172a6 Clarify that the X-Matrix validation uses the parsed request body (#3727) 3 years ago
Travis Ralston 2997c9089d
Merge pull request #1035 from thomaslantern/thomasws_branch
removed m.room.message.feedback
3 years ago
Richard van der Hoff a164302164
Get rid of the `proprosal-in-review` label (#1036)
Everything is in review. We may as well just use the draft state for WIP stuff.
3 years ago
Travis Ralston 39d472fac0
Merge pull request #1038 from dkasak/dkasak/fix-hs-name-in-example
Fix origin server name in S2S Request Authentication example.
3 years ago
Denis Kasak c67df81202 Fix origin server name in S2S Request Authentication example.
The JSON payload listed a different origin HS name from the one
mentioned in the Authorization header.
3 years ago
David Robertson 5181de4080
Stateres v2: Use bold to introduce definitions.
Otherwise they are inline into the paragraph without punctuation, and
hard to read.

I'm guessing that pandoc did a poor job of converting a LaTeX
`begin{description}...\end{description}` or `\paragraph{...} ...` to
Markdown.
3 years ago
thomaslantern 842106d9d8 removed m.room.message.feedback 3 years ago
Richard van der Hoff 614680675f
Fix broken links to `matrix-doc` (#1032)
The spec has moved to https://github.com/matrix-org/matrix-spec, so there were
a lot of broken links here.
3 years ago
Catalan Lover 188eba6969
Correct several occurances of the old repo (#1031)
This PR aims to correct several occurances of the old repo link in proposals.md 

I have not corrected all of them as i do not wish to say that i know the correct way we should word things in these situations. The primary changes are replacing all mentions of contributing.rst with the updated link that will work. 

I also changed the line about related MSCs or Doc issues to be Spec issues since i think this is a clear enough case for me to be willing to guess what is appropriate.
3 years ago
Andrew Morgan 32b93d961e Switch %CLIENT_MAJOR_VERSION% in /login endpoint for current /login version
This was left over from the days of all CS API endpoints sharing
the same major spec release version.
3 years ago
Richard van der Hoff ca466b5a57
Attempt to clarify how `event_match` works (#3690)
Fixes #3082, #2637, #3075.
3 years ago
Will Hunt c420fc49a0
Fix m.login.appservice -> m.login.application_service (#3711)
* Fix m.login.appservice -> m.login.application_service

Implementations seem to agree with the proposal, so I'd suggest we fix the typo in the spec. I don't *think* this needs a MSC as the original proposal was fine, and this was just a copy error.

* Create 3711.clarification

* Update 3711.clarification

* Update changelogs/3711.clarification

Co-authored-by: Travis Ralston <travisr@matrix.org>

Co-authored-by: Travis Ralston <travisr@matrix.org>
3 years ago
Travis Ralston e488a7fb6d v1.2 changelog 3 years ago
Travis Ralston 0f9eadd1a1
Fix knock->leave transition in auth rules (#3694)
* Fix knock->leave transition in auth rules

This was an oversight from knocking being added.

For safety, this has been verified as at least intended by Synapse to work:
f5e2cde3f5/synapse/event_auth.py (L390-L391)

* changelog
3 years ago
devonh dd32431b85
Fix broken link in server-server signing events section (#3528)
Co-authored-by: Andrew Morgan <andrew@amorgan.xyz>
3 years ago
devonh fc5ba959ca
Separate PDU terms from their definitions (#3527)
Co-authored-by: Andrew Morgan <andrew@amorgan.xyz>
3 years ago
Richard van der Hoff 36b02edfc2
Distinguish 'client' from 'federation' events (#3658)
Fixes #3305 
Fixes #3380
 
The idea here is to better distinguish between a 'raw' event (as we send over the wire), and the 
'serialised' format, as sent in responses to the C-S api and in `PUT /_matrix/app/v1/transactions/{txnId}`.

It's made more complicated by the fact that there are _two_ serialisation formats, one used by `/sync`
and `/notifications`, and one by everything else (the difference being whether `room_id` is included).

In an ideal world, we wouldn't repeat `SerialisedEvent` every time it's used, and instead just link to the
first reference, but that's a job for another day.

Another job for another day is to get rid of things like `sync_state_event.yaml` (which is now used
only in one place, so should be inlined.)
3 years ago
Travis Ralston d4c74d37a9
Update documentation style & fix room version heading order (#3683)
* Update documentation style & fix room version heading order

Also add a missing signing key section to v6.

This additionally contains various edits to the fragments to have them make a little bit more sense in context.

Finally, this updates various aspects of the documentation style which haven't previously been considered - they're added here considering we're in the area.

* changelog

* enhanced changelogs

* Minor wording adjustments

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Aaron Raimist 990dfec94b
Update several spots where C-S API was still using r0 APIs (#3671)
* Update several spots where C-S API was still using r0 APIs

Signed-off-by: Aaron Raimist <aaron@raim.ist>

* Add changelog

Signed-off-by: Aaron Raimist <aaron@raim.ist>
3 years ago
Travis Ralston 59f4d7ffed Revert fix to appendices 3 years ago
Matthew Hodgson 20aa44bd13
typoes (#3680)
* typoes

* Appease the faulty spellcheck on the json too

Co-authored-by: Travis Ralston <travisr@matrix.org>
3 years ago
Matthew Hodgson c151353956 s/master/main/g otherwise we link to stale content 3 years ago
Travis Ralston 4a597ace51
Re-add knock's `otherwise, reject` per MSC2403 (#3661)
* Re-add knock's `otherwise, reject` per MSC2403

Fixes https://github.com/matrix-org/matrix-doc/issues/3648

* changelog + changelog for 3432
3 years ago
Travis Ralston 6c4aabd053
Room versions 8 and 9: Restricted rooms (#3387)
* Room versions 8 and 9: Restricted rooms

MSCs:
* https://github.com/matrix-org/matrix-doc/pull/3083
* https://github.com/matrix-org/matrix-doc/pull/3289
* https://github.com/matrix-org/matrix-doc/pull/3375

* Changelogs

* Capitalization

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Remove verbiage for spaces because they don't exist

* Iterations on text

* Another clarification

* Make error code descriptions consistent

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Incorporate from merge

* Misc language update per review

* Update accuracy before splitting auth rules

* fix wtf moment

* Fix up v8 and v9 to match "fully specify room versions"

* Scope auth events selection to room version

* Apply consistency

* Add changelogs

* Review part 1

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Split out redaction sections

* Clarify general case of join conditions

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Travis Ralston 3475ef62ab
Remove straggling case of "groups" (#3652)
* Remove straggling case of "groups"

* changelog
3 years ago
Travis Ralston 9af83dfd41
Add Spaces to the spec (#3610)
* First iteration of specifying Spaces

MSCs:
* https://github.com/matrix-org/matrix-doc/pull/3288
* https://github.com/matrix-org/matrix-doc/pull/2946
* https://github.com/matrix-org/matrix-doc/pull/1772

Note that this makes modifications to the underlying MSCs as well. These are intended to be minor edits to aid clarity/accuracy of the MSCs, as per the proposal process. Functionally, clients and servers might need to change their behaviour slightly as is expected of implementing this stuff early. Synapse has these changes (alongside backwards compatibility) here: https://github.com/matrix-org/synapse/pull/11667

* add changelogs

* Accuracy per review

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* fully prefix new endpoints

* Fully prefix endpoint in 3616 too

* Fix ordering example

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Hubert Chathi 6fb684397a
Clarify how to interpret missing one time key counts (#3636) 3 years ago
Travis Ralston 56532dd688
Describe and hoist stripped state to a first-class citizen (#3606)
* Describe and hoist stripped state to a first-class citizen

Fixes https://github.com/matrix-org/matrix-doc/issues/3413
MSC: https://github.com/matrix-org/matrix-doc/pull/3173

* Add changelog

* may->can for clarity

* Update text per review
3 years ago
Travis Ralston 224773dc6a
Specify fallback keys (#3615)
* Specify fallback keys

MSC: https://github.com/matrix-org/matrix-doc/pull/2732

* changelog

* Appease spell check

* Fine, let's appease the spellcheck this way

* Apply suggestions from code review

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>

* Fix intro

* word wrap

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
3 years ago
Travis Ralston 26e0765159
Add guest changes to spec: MSC3069 and MSC3419 (#3605)
* Add MSC3069 support

https://github.com/matrix-org/matrix-doc/pull/3069

* Add MSC3419 support

https://github.com/matrix-org/matrix-doc/pull/3419

* Normalize and fix guest access endpoints list

* Changelogs
3 years ago
Travis Ralston 00169abcdb
Specify module order manually to work around hugo issues (#3612) 3 years ago
Travis Ralston 0ee58100c4
Add capabilities described by MSC3283 (#3614)
* Add capabilities described by MSC3283

MSC: https://github.com/matrix-org/matrix-doc/pull/3283

* changelog
3 years ago
Travis Ralston e4057072bd
Add registration token UIA type (#3616)
* Add registration token UIA type

MSC: https://github.com/matrix-org/matrix-doc/pull/3231

**Note**: This introduces the endpoint as v1 rather than r0 given the global versioning changes landed between the acceptance of the MSC and now.

* Fix swagger

* Changelogs

* Update data/api/client-server/registration_tokens.yaml

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
3 years ago
Travis Ralston 20bd445602
Add a changelog for the appendices (#3609)
As a document which is versioned, we should have a changelog for it. It might be empty most of the time but oh well.
3 years ago
Travis Ralston 592cbd537c
Describe `matrix:` URI scheme (#3608)
* Copy spec PR near-verbatim from past PR

With light review being addressed.

https://github.com/matrix-org/matrix-doc/pull/3168

* Alter for modern day

* Add changelog

* specify that we're using the grammar
3 years ago
Travis Ralston afc5298f11
Replace s2s join sequence diagram for legibility (#3603)
Without the vertical lines it's a bit difficult to parse. A different tool was used to generate the graph this time.
3 years ago
Travis Ralston afb6867232 Decorate the rest of the appservice login stuff too 3 years ago
Travis Ralston 76aaf39811 Decorate Matrix version on appservice login 3 years ago
Will Hunt a05706780d Add m.login.appservice to the spec (#3324)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Hubert Chathi <hubertc@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
3 years ago
homersimpsons 9efe1887a4
instant_messaging: fix intra docs anchors (#3601)
Signed-off-by: homersimpsons <guillaume.alabre@gmail.com>
3 years ago
Shay 87fcb7c8b0
Clarify that `base_url` in client `well_known` may or may not include trailing slash (#3562)
Fixes #3465. The change adds a line explicitly warning developers that the base_url of client well_known may or may not include a trailing slash and to be prepared to handle both cases.
3 years ago
Hubert Chathi 71988263f3
clarify which signature to check (#3573) 3 years ago
Travis Ralston 0fbc6bdab6
Definition of "Standard Identifier Format" (#3171)
Spec for https://github.com/matrix-org/matrix-doc/pull/2758
3 years ago
Richard van der Hoff 7f200c53e8
Move `prev_content` to unsigned (#3524) 3 years ago
David Robertson 1e12b45f97
Clarifications to /sync description (#3534)
* Clarify that E0 and E1 are not returned

* Clarify that ASCII art diagram 2 refers to diagram 1

* Correct third ASCII art diagram

To match the spacing in. Borked in the move to new docs format.

55aed1d296/specification/client_server_api.rst (L1610-L1615)

* Make ASCII art 3 follow from ASCII art 2

* Explain how to fill the gap

* Create 3543.clarification

* Update content/client-server-api/_index.md

Co-authored-by: Travis Ralston <travisr@matrix.org>
3 years ago
Alexandre Franke a26f2f8ca9
Fix typo (#3535)
* Fix typo

* Add changelog

Co-authored-by: Alexandre Franke <alexandre.franke@matrix.org>
3 years ago
Richard van der Hoff f4a0c1aac5
Clarify event format text in room version specs (#3501)
Split the text about event IDs and event formats into separate sections. This
is largely to make it easier to link to, but I think the resulting text makes
more sense too.
3 years ago
Hubert Chathi 1ad5ff4179
Key name is supposed to be optional, as per MSC2874 (#3481) 3 years ago
Travis Ralston 195b8a54c5 v1.1 changelog 3 years ago
Travis Ralston a5a27f69af
Hide room version fragments from table of contents (#3479)
The entries were text-less and not really helping anyone. They are included as pages because we need them for templating, but we don't need people to be able to land on them directly.
3 years ago
DeepBlueV7.X 938354b8b4
Rename threepidCreds to threepid_creds and get rid of array (#3471)
This fixes the behaviour to match what synapse implements in practice.
If you use threepidCreds, you will just get an error about a missing
threepid_creds field. Synapse also treats this as an object. All clients
also seem to send threepid_creds, if they work on Synapse. Since
matrix.org requires an email currently for registration, most clients
that implement registration, will hit this issue.

a0f48ee89d/synapse/handlers/ui_auth/checkers.py (L145)

fixes #3156
fixes #2189

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
3 years ago
Travis Ralston 241e01c332
Fully specify room versions (#3432)
* Fully specify room versions

* Misc typo clarifications

* Try to clarify redactions a bit

* Update content/client-server-api/_index.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Update content/rooms/v6.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Update content/rooms/v6.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Better describe client considerations

* Doc template params

* Move redaction "new stuff" to v3

* Remove unhelpful sentences about "here follows unchanged stuff"

* Simplify event signing text

* Clean up handling redactions sections

* Move v4's event schema to unchanged section

* Update content/rooms/v4.md

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Andrew Morgan 00bf1b3f2f fix typo: word plural 3 years ago
Travis Ralston e8674688e6
Release process: changelog generation and docs (#3446)
* Remove extra pyprojects and update changelog docs

* Add script for rendering the changelog

* Add docs for how to release the spec

* Move legacy changelogs out of the way
3 years ago
Travis Ralston 5be0df02c5
Start annotating which version of the spec added a thing (#3425)
* Introduce a new "added-in" template and use it on endpoints

* Use "added-in" on schema properties too

* Annotate sections of the spec with their added versions

* Demo of "added-in" on a room version (to be fleshed out)

* Use clearer versioning semantics

* Update and fix validator for Swagger custom properties

* Fix docs
3 years ago
Travis Ralston 649fc2bdd2
Move room version spec to `/rooms` (#3423)
* Cut/paste room version spec to its own page

* Move grammar to bottom + add feature matrix

The version grammar is not as interesting as the actual room versions, so this moves that whole section to the bottom.

* Fix all links to room versions
3 years ago
Travis Ralston 95d850c418
Update client-server API endpoints to move from r0 to v3 (plus whitespace fixes) (#3421)
* Blind find & replace all on client major version -> v3

* Fix up bad replacements

* Fix anchors for r0->v3

* Changelog
3 years ago
Travis Ralston 2d98cd3084
Describe new global specification versioning (#3420)
* Update versioning specification for Matrix

As per [MSC2844](https://github.com/matrix-org/matrix-doc/pull/2844)

* Mention vX versioning in /versions

* Changelog
3 years ago
Andy Balaam 2fc3982568
Remove extra 'an' from spec index (#3433)
Signed-off-by: Andy Balaam <andyb@element.io>
3 years ago
Travis Ralston b7e6104713
Remove extraneous mimetype from EncryptedFile examples, per MSC2582 (#3412)
* Remove extraneous mimetype from EncryptedFile examples, per MSC2582

MSC: https://github.com/matrix-org/matrix-doc/pull/2582

* changelog
3 years ago
Travis Ralston 7e67aa2e23
Clarify how redacted_because actually works for events (#3411)
* Clarify how redacted_because actually works for events

* changelog

* mention federation

* Fix wording

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
3 years ago
Jonas Platte 6e78cde3eb
Fix wrong matrix.to URL in spec appendices (#3409) 3 years ago
Denis Kasak ed08c1cb9e Tweak PDU diagram demonstrating `prev_events`. (#3340)
This tweaks the DAG to be simpler, with two linear event chains E4 -> E3
-> E2 -> E1 and E6 -> E5 -> E2 -> E1. The extremities of the DAG are now
the first and only point in the DAG where multiple event parents occur.
Since the point of the diagram is to demonstrate this very situation,
it's better didactically if there is only one such situation in the
diagram.
3 years ago
Richard van der Hoff f8b83b7fb1 Replace "Pagination" section in C-S API with text in appendices (#3366)
The Pagination section in the C-S API was, basically, full of rubbish. I think that anything of any value it contained was repeated either directly on the API definitions or in the text specific to syncing at https://spec.matrix.org/unstable/client-server-api/#syncing.

The conventions I've added to the Appendices are based on the discussions in #1898. They are there because I don't want to have to go through it all again next time we add a paginated API.

Fixes: #1898
Fixes: #2268
3 years ago
Neil Alexander 3d278b891d Add clarification on binary data and base64 encoding to Appendices (#3362)
* Add clarification on binary data and base64 encoding (closes #3341)

* Add changelog fragment

* Delete 3362.clarification
3 years ago
ColonisationCaptain 7c58999c6a Insert missing space
Insert missing space
3 years ago
Richard van der Hoff 4b2bbbabcc Start a 'conventions' section in the Appendices (#3350)
I wanted a section for "here's what new APIs ought to do", which isn't really
very useful for consumers of the existing APIs.
3 years ago
Niels Basjes cf5b519963 Explain the reasons why `<hostname>` TLS certificate is needed rather than `<delegated_hostname>` for SRV delegation. (#3322)
Signed-off-by: Niels Basjes <niels@basjes.nl>
3 years ago
Travis Ralston f433e07763 Merge pull request #3225 from sideshowbarker/client-server-api-Access-Control-Allow-Headers-drop-Options-Accept
Drop Origin & Accept from Access-Control-Allow-Headers value
3 years ago
Michael[tm] Smith d7cf63d981 Drop Origin & Accept from Access-Control-Allow-Headers value
This change drops the Origin and Accept header names from the
recommended value for the CORS Access-Control-Allow-Headers header. Per
the CORS protocol, it’s not necessary or useful to include them.

Per-spec at https://fetch.spec.whatwg.org/#forbidden-header-name, Origin
is a “forbidden header name” set by the browser and that frontend
JavaScript code is never allowed to set.

So the value of Access-Control-Allow-Headers isn’t relevant to Origin or
in general to other headers set by the browser itself — the browser
never ever consults the Access-Control-Allow-Headers value to confirm
that it’s OK for the request to include an Origin header.

And per-spec at https://fetch.spec.whatwg.org/#cors-safelisted-request-header,
Accept is a “CORS-safelisted request-header”, which means that browsers
allow requests to contain the Accept header regardless of whether the
Access-Control-Allow-Headers value contains "Accept".

So it’s unnecessary for the Access-Control-Allow-Headers to explicitly
include Accept. Browsers will not perform a CORS preflight for requests
containing an Accept request header.

Related: Related: https://github.com/matrix-org/synapse/pull/10114

Signed-off-by: Michael[tm] Smith <mike@w3.org>
3 years ago
ilovecommits 175e3c157d Correct 'once-off' to 'one-off' 3 years ago
Travis Ralston 30654f70ee Merge pull request #3176 from matrix-org/travis/clarification/lowercasing
Case fold instead of lowercase
3 years ago
Hubert Chathi 221375b105 Merge pull request #3207 from toadjaune/patch-2
Fix a typo in event soft rejection schema
3 years ago
Travis Ralston 8b40972872 iterate 3 years ago
Hubert Chathi 586c4d865a Fix broken ASCII art 3 years ago
Travis Ralston 21a132d3a5 Merge branch 'master' into travis/clarification/lowercasing 3 years ago
Hubert Chathi f9c9fce1ad Deprecate verifications that don't begin with a request. 3 years ago
Arnaud Venturi 0d275cc739 Fix a typo in event soft rejection schema
Signed-off-by: Arnaud Venturi <github@toadjaune.eu>
3 years ago
Travis Ralston 4cb667ca27 Case fold instead of lowercase
Fixes https://github.com/matrix-org/matrix-doc/issues/3175
3 years ago
Andrew Morgan fca6992cd9 Clarify that implementations can use stable prefixes once an MSC has merged (#3179)
Fixes #3146.

This PR changes the Matrix Spec Proposals page to clarify that implementations **do not** need to wait until a spec release to use stable prefixes, but that they can do so after the corresponding MSC has been merged. The justification is that once an MSC has been merged, it's fairly guaranteed that it will land in the spec. Yet it will take time for the spec release process to run its course, and we shouldn't make implementations wait for that.

The exception to this is if implementating a feature in a backwards-compatible way requires a new spec version to indicate to clients/servers that a feature has been added/changed. This situation is rare though, and most implementations won't fall into this category.
3 years ago
Andrew Morgan 5d0d5a3981 Clarify what happens when a concern is raised during FCP (#3180)
It wasn't entirely clear what should happen to the FCP timer (and state) when a concern is raised during FCP. After some discussion, we agreed that when a concern is raised:

1. FCP will continue to not conclude until at least 5 days have passed, but once those 5 days are up it *still* won't conclude until all concerns raised during FCP are resolved.
2. If a concern warrants a large enough change in the document, then the Spec Core Team may consider cancelling FCP and restarting the timer in order for people to have some time to think about and review the new changes.
3 years ago
Travis Ralston a5fea91d86 Merge pull request #3177 from matrix-org/travis/spec/spaces-groups-rm
Remove group identifiers
3 years ago
Travis Ralston 3d217e0de0 Merge pull request #3101 from matrix-org/travis/spec/MSC2320-identity-versions
Add identity service versions API
3 years ago
Travis Ralston 3c01fa4681 Remove group identifiers
Groups are replaced by https://github.com/matrix-org/matrix-doc/pull/1772 and this probably shouldn't have made it into the spec in the first place without the remaining context of Groups.
3 years ago
Travis Ralston c11efb35fe Merge pull request #3163 from matrix-org/travis/spec/msc2858-multisso
Describe social-sign-on (multiple SSO providers)
3 years ago
Travis Ralston fb3dde1c2c Merge pull request #3167 from matrix-org/travis/spec/msc2265-lower-3pid
Specify that email handling converts to lowercase first
3 years ago
Travis Ralston 466911b253 Merge pull request #3170 from matrix-org/travis/spec/msc2713-rm-v1-id
Remove v1 identity service API
3 years ago
Travis Ralston 2c3d7b1682 Apply suggestions from code review
Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
3 years ago
Travis Ralston 53833d49a5 Spelling 3 years ago
Travis Ralston 37c3a3f855 Remove v1 identity service API
Spec for https://github.com/matrix-org/matrix-doc/pull/2713
3 years ago
Travis Ralston 49a5ca3553 Downgrade identity server failure to FAIL_PROMPT instead of FAIL_ERROR
Spec for https://github.com/matrix-org/matrix-doc/pull/2284
3 years ago
Travis Ralston fc6aa30000 Merge branch 'master' into travis/spec/MSC2320-identity-versions 3 years ago
Travis Ralston 3aa517a868 Clarify provider naming 3 years ago
Travis Ralston 7cef7d0fcf Specify that email handling converts to lowercase first
Spec for https://github.com/matrix-org/matrix-doc/pull/2265
3 years ago
Travis Ralston 457f3995af Merge pull request #3154 from matrix-org/travis/spec/knock-knock-whos-there
Add knocking to the spec
3 years ago
Travis Ralston cbd761df17 Apply suggestions from code review
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
3 years ago
Hubert Chathi ec9ea2b6e3 Merge pull request #3149 from uhoreg/qr_codes_spec
Add spec for verification by QR codes.
3 years ago
Travis Ralston be86e638c5 Add identity service versions API
Specs [MSC2320](https://github.com/matrix-org/matrix-doc/pull/2320)
Built upon https://github.com/matrix-org/matrix-doc/pull/3094
3 years ago
Hubert Chathi e9e0d8ee47 Merge pull request #3151 from uhoreg/single_ssss_spec
Document Single SSSS.
3 years ago
Travis Ralston 57f4347b5d Fix general wording 3 years ago
Hubert Chathi 3084f3d32f Merge pull request #3150 from uhoreg/verification_fixes
Make SAS outline fit with key verification in DM flow.
3 years ago
Travis Ralston 3b426846fe Describe social-sign-on (multiple SSO providers)
Spec for [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858)
3 years ago
Travis Ralston fa6cc8a1ff Add knocking to the spec
Spec for https://github.com/matrix-org/matrix-doc/pull/2998
Spec for https://github.com/matrix-org/matrix-doc/pull/2403

This deliberately does not help towards fixing https://github.com/matrix-org/matrix-doc/issues/3153 in order to remain consistent with prior room versions, and to keep the diff smaller on this change. A future change will address room version legibility.
3 years ago
Hubert Chathi 1a1f01234d Apply suggestions from code review
Co-authored-by: Travis Ralston <travpc@gmail.com>
3 years ago
Hubert Chathi 7a960375cc Update content/client-server-api/modules/end_to_end_encryption.md
Co-authored-by: Travis Ralston <travpc@gmail.com>
3 years ago
Hubert Chathi ca37ada9e2 Document Single SSSS. 3 years ago
Hubert Chathi bb06dbdb2a Add information about using SSSS for cross-signing and key backup. 3 years ago
Hubert Chathi f9dce3dfed Add spec for verification by QR codes. 3 years ago