Commit Graph

897 Commits (029e9888359c02f52e5a61a328af94108a4b638b)

Author SHA1 Message Date
Richard van der Hoff ef384f1afd
Give rendered-data sections a background and some padding (#1195)
Gives definition sections for APIs, events, etc a background and a small indent, which I find very helpful to guide the eye.
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
Richard van der Hoff dc4fd9bdd6
Render HTML anchors for definition blocks (#1191)
It's handy to be able to link to these.
2 years ago
Travis Ralston 569e139ac5
Add an "internal changes" changelog section (#1194)
* Add an "internal changes" changelog section

* update changelog number
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
David Robertson 69ff51c017
Tweak style of `<code>` samples in rendered tables (#1179)
* Tweak style of `<code>` samples in rendered tables

This has been subtly irritating me for aaaaaaages

* Changelogs
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 077f414cd0
Update changelogs/client_server/newsfragments/1180.clarification
Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
2 years ago
David Robertson 494f903f71
Changelog 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
Richard van der Hoff 5f3b34448d
Add HTML ids for object definitions in the formatted specification (#1174)
* Remove redundant call to resolve-allof

All of the callers to resolve-additional-types already call resolve-allof (or
if not, they should), so this is redundant.

* Update `resolve-additional-types` to take a dict

I want to add more params to this, so first make it take a dict.

* `render-object-table`: take a "title" rather than a "caption"

... which means we can use the result from resolve-additional-types directly.

* render-object-table: support adding an anchor to generated tables.

* resolve-additional-types: generate an id for each returned type

* render-event: pass an anchor_base into resolve-additional-types

This means that it will generate an anchor for each type, whihc will then be
passed into render-object-table and used as an `id` for the table.

* render-operation: pass an anchor_base into resolve-additional-types

* newsfiles
2 years ago
David Robertson f9028acf8e
Describe return codes for account data endpoints + minor clarifications (#1155) 2 years ago
Travis Ralston 56400ab9a0
Add missing "added in" spec version to some key backup endpoints (#1170)
* Add missing version to some key backup endpoints

* Create 1170.clarification
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
Hubert Chathi 577eb5db59 add changelog 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
Will Hunt cf6544c028
Clarify that /invite will respond with 200 if the user is already invited to the room (#1084)
* Clarify that /invite will respond with 200 if the user is already in the room

* Create 1084.clarification

* Update changelogs/client_server/newsfragments/1084.clarification

Co-authored-by: Travis Ralston <travpc@gmail.com>
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
Alexey Rusakov 6792b7a9d6
Use type: integer, format: int64 for timestamps (#1129)
* Use type: integer / format: int64 for timestamps

Closes #749.

* Changelog
2 years ago
Alexey Rusakov 6adacd18c1
Arrange a few titles (#1126)
* Arrange a few titles

Before this change, PublicRoomsChunk in the spec text could be found in
two places (actually three but the third one is identical to the first
one), defining two (_mostly_ identical but) different schemas.
Ctrl-F'ing through the spec may confuse you with the "wrong" definition.
This commit gives distinct schemas distinct names; aside from
PublicRoomChunk, the same story happens with the derivative of
stripped_state.yaml used in space_hierarchy.yaml (it's not exactly
StrippedStateEvent either).

As for the removal of `PublicRoomsChunks` (plural) - this title is
unnecessary because the tooling would place rather self-explanatory
`[PublicRoomsChunk]` without it, whereas the plural title ends up with
no definition in the spec text.

* Add changelog
2 years ago
Alexey Rusakov dcc1f4adee
keys.yml: fix one_time_keys object contents (#1127)
* keys.yml: fix one_time_keys object contents

The alternatives previously listed under two additionalProperties levels
are actually one _more_ level deeper; we still can't define them in
a formal way before moving to OpenAPI 3 but at least let's be honest
and say there's always a dict where there's always a dict. Also,
since the same data structure is used in three places now, at least
give it a name, and document the actual definition (once) separately
(not using it now because it's OpenAPI 3).

* Changelog
2 years ago
Alexey Rusakov 980d9cd6e9
openapi_extensions.md: fix typos and leftovers (#1128)
* openapi_extensions.md: fix typos and leftovers

dump-swagger had to substitute things in the past - these days it
just merges definitions.

* Changelog
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
Alexey Rusakov cbdd889fa8
auth_data.yaml: formally allow it to be non-object (#1115)
Closes #716.

Signed-off-by: Alexey Rusakov Kitsune-Ral@users.sf.net
2 years ago
Hubert Chathi 3fbaced8be
Merge changelog with changelog for #1056 2 years ago
Kévin Commaille 86f984b1b6
Changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
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
Nicolas Werner e70045f4cc
room_type is not a required parameter in practice (#1110)
* room_type is not a required parameter in practice

In practice servers seem to mirror what the room create event does and
leave out the room_type when unset.

Signed-off-by: Nicolas Werner <n.werner@famedly.com>

* Add changelog

Signed-off-by: Nicolas Werner <n.werner@famedly.com>

* Also make room_type and allowed_room_ids optional in the openapi

They are optional according to the text, but the openapi marks them as
required instead.

Signed-off-by: Nicolas Werner <n.werner@famedly.com>

* Fix copy and paste error of newsfragment

Signed-off-by: Nicolas Werner <n.werner@famedly.com>
2 years ago
Hubert Chathi 8d82366cf2
Merge pull request #1056 from uhoreg/refresh_token_spec
Add spec for refresh tokens
2 years ago
The one with the braid (she/her) | Dфҿ mit dem Zopf (sie/ihr) 31304300f5
fix: spaces hierarchy paramater types (#1097)
* fix: spaces hierarchy paramater types

- changed `limit` parameter type to integer
- changed `query` parameter type to integer

A floating number does not make any sense here. Also, at least Synapse
does not allow floating point numbers in here.

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>

* Update changelogs/client_server/newsfragments/1097.clarification

Co-authored-by: Travis Ralston <travpc@gmail.com>
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
Travis Ralston a91030f27b
Re-add paragraph about how some state keys are reserved (#1100)
* Re-add paragraph about how some state keys are reserved

Fixes https://github.com/matrix-org/matrix-spec/issues/1013

* changelog
2 years ago
Travis Ralston 515269b2e3
Unify & standardize the v1.3 changelog (#1102)
* Reference MSCs where MSCs were not being referenced.
* Alter language to appear consistent and from a single voice.
* Bundle and group various changes together (will affect the final changelog - the rendered one still doesn't bundle appropriately).
* Move entries to the spec area they are intended to be in.
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.
3 years ago
David Robertson c4e54509db
PDU check 5 should consult state before an event (#1070) 3 years ago
Hubert Chathi 58f960e5cc
Merge pull request #1055 from progval/valid_until_ts
Clarify that valid_until_ts is in milliseconds, like other timestamps used in Matrix
3 years ago
Michael Telatynski 573dbb3b74
Fix error code typo (#1059)
* Fix error code typo

See https://spec.matrix.org/v1.2/client-server-api/#other-error-codes

* Create 1059.clarification
3 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
Alexey Rusakov 61e7a73a4f
Drop lifetime from the call answer event example (#1054)
* Drop lifetime from the call answer event example

* Changelog
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 4b5c6ff1fd Merge branch 'main' into refresh_token_spec 3 years ago
Travis Ralston 72c047d336 Move changelog to correct directory 3 years ago
Hubert Chathi d692062e3a add changelog 3 years ago
Valentin Lorentz 34589078fd Clarify that valid_until_ts is in milliseconds, like other timestamps used in Matrix
Signed-off-by: Valentin Lorentz <progval+git@progval.net>
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
Andrew Morgan 8a5955e98f Remove 'room_id' field from `m.typing`, `m.receipt` and `m.fully_read` examples and schema (#3679)
The spec had an erroneous `room_id` field in a m.typing EDU entry of /sync, `m.read` receipts in `/sync`, and `m.fully_read` room account data objects in the spec. None of these are necessary nor used in practice.

Checking part of the ecosystem for whether clients look for, or homeservers include, these room_id fields, I found that:

    Element does not require them, nor does Synapse include them.
    Ruma does not include them.
    Dendrite does not include them.
    nheko/mtxclient does not look for them.

This change removes room_id from the example and OpenAPI schema in each case mentioned above. It only affects the Client-Server spec - the Server-Server spec text remains unchanged.

The field was initially introduced in 0f28f83.
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
Aaron Raimist ac4a296e4c Remove unenforced size limit on room names (#3669)
Fixes #3641

The spec says the name field in m.room.name events must not exceed 255 bytes but no servers actually enforce this over the C-S API. Clients should probably already be truncating room names to an appropriate length for their user interface.

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 fd2340a4da Fix membership state table and diagram (#3730)
* Fix membership state table and diagram

There were 2 missing cases which are legal:
* `invite->knock` (a fairly silly thing to do, but legal under the auth rules)
* `external->leave (via /kick)` (another somewhat silly thing to do, but no different than `external->ban (via /ban)`)

The state table considered the first as illegal, which is untrue.

* Changelog

* Make the graph prettier

* Update changelogs/client_server/newsfragments/3730.clarification

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
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
Travis Ralston 3c4b65849e Move changelog to the correct place 3 years ago
Travis Ralston 0cb0ff3f98
Update changelogs/client_server/newsfragments/3582.clarification 3 years ago
thomaslantern 823b373601 added changelog 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 2857511a02 Changelog 3 years ago
David Robertson 05da3dc621
Changelog 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
Richard van der Hoff 136b5c9231
Correct the default for `invite` in `m.room.power_levels` (#1021)
Per #860, this has been wrong in the spec forever.
3 years ago
Jonas Platte f6da709857
Mark `from` parameter as optional for `/messages` (#1002)
As per MSC3567, the `from` parameter is now optional for the `/messages` endpoint to allow fetching first or latest room content without having to rely on `/sync`

https://github.com/matrix-org/matrix-doc/pull/3567
3 years ago
Jonas Platte ac9bee3f88
Remove origin from unsigned_pdu_base.yaml (#998)
It doesn't serve a useful purpose, is not enforced to be present by Synapse
and already being omitted by at least one homeserver implementation.
3 years ago
David Robertson 46f98796b6
Correct title location in login flow definition (#1003) 3 years ago
Jonas Platte 17448083cf
Clarify that the url field in `m.room.avatar` events is not required. #987) 3 years ago
Richard van der Hoff 284d0e201f
Mark `type` in `AuthenticationData` as optional (#989) 3 years ago
Richard van der Hoff 7293744a5e
Rename changelogs/server_server/3703.clarification to changelogs/server_server/newsfragments/3703.clarification 3 years ago
Richard van der Hoff 24b23ec32a
Rename changelogs/client_server/3690.clarification to changelogs/client_server/newsfragments/3690.clarification 3 years ago
Richard van der Hoff 3618a3fc2d
Rename changelogs/3711.clarification to changelogs/client_server/newsfragments/3711.clarification 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
Richard van der Hoff f989d323c0
Update v1.2 changelog with missed PR (#3705) 3 years ago
Hubert Chathi d06f05571f move changelog to the right place 3 years ago
Richard van der Hoff 1913812a90
Clarify send_join response (#3703) 3 years ago
Andrew Morgan e7adfd5ed1
Fix missed rst->md numbered list syntax for `m.room.server_acl` (#3681)
* Fix missed rst->md numbered list syntax
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
Alexandre Franke d3e39567f4
Responses schema fixes (#3650)
Fixes #2237.

Corrects the response schemas for:

```
PUT /user/{user_id}/account_data/{account_dataType}
PUT /user/{user_id}/rooms/{roomId}/account_data/{type}
PUT /directory/list/room/{roomId}
PUT /sendToDevice/{eventType}/{txnId}
POST /account/3pid
POST /account/3pid/add
POST /account/3pid/bind
```
3 years ago
Travis Ralston df1d150142 Add missing changelog 3 years ago
Richard van der Hoff 4a9c236572 Changelogs for #3674 3 years ago
Richard van der Hoff 39a41a18ba
Fix the response for `GET /_matrix/app/v1/thirdparty/protocol/{protocol}` (#3675)
This should return a single protocol, not all of them.

Fixes #2286.
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
Patrick Cloke fff5f87c3d
Fix the type of children in the /hierarchy S-S API. (#3660)
* Fix the type of children in the /hierarchy S-S API.

* Newsfragment
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 fc3f7d60eb
Remove `aliases` from `/publicRooms` response (#3624)
Through attempting to land [Synapse#11667](https://github.com/matrix-org/synapse/pull/11667) it was found that Synapse doesn't return the `aliases` property on `/publicRooms` as it was [removed](https://github.com/matrix-org/synapse/pull/6970) by a [tracking issue](https://github.com/matrix-org/synapse/issues/6898) referencing [MSC2432](https://github.com/matrix-org/matrix-doc/pull/2432) as its base. Though MSC2432 does not make mention of this, the [document](https://docs.google.com/document/d/1NNDkobiFLeUkJtyj0H6qvKIedgvIkZnFKo78-03cGEk/edit) the MSC is based upon makes deliberate effort to mention the endpoint and the removal of `aliases`. Thus, it is determined as a likely accidental omission from the formal MSC and therefore the formal spec.

This has been corrected here by amending the MSC (per the process) and removing the field, basing itself off of the [spec PR for spaces](https://github.com/matrix-org/matrix-doc/pull/3610) for diff clarity.
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 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
Richard van der Hoff 355e06eaa6
Clarification for `/event_auth` (#3583)
The description on this endpoint implied it returned the auth chain for the
full state of the room, which is incorrect.
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 1e9dd4d22e
Avoid use of the word "clobber" (#3611)
* Avoid use of the word "clobber"

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

* changelog
3 years ago
Dan Callahan 48d8f7202d
Add HTTP 403 to possible profile responses (#3530)
* Add HTTP 403 to possible profile responses

Some servers may not allow profile lookup over federation, and thus
respond to GET /_matrix/client/v3/profile/{userId} with an HTTP 403.

For example, Synapse can be configured to behave in this way by setting:

    allow_profile_lookup_over_federation=false

Thus, this behavior already exists in the wild, and may cause issues for
clients such as https://github.com/vector-im/element-web/issues/17269.

Synapse could alter its behavior and return an HTTP 404 in these cases,
but amending the Spec seems preferable to align with extant behavior.
Further, allowing HTTP 403 gives clients more specific information as to
why a request has failed, enabling more precise error handling.

Signed-off-by: Dan Callahan <danc@element.io>

* Update changelogs/client_server/newsfragments/3530.clarification

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

* Annotate misc data about error

Co-authored-by: Travis Ralston <travpc@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
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
Travis Ralston 00ee4d7010 Add changelog 3 years ago
Aaron Raimist 01cd41de68
Add GitHub Action to check spelling (#3591)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
3 years ago
Travis Ralston d2fd90579b Add changelog 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
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 dce06f6dc2
Remove C-S `unsigned` data from PDU definitions (#3522)
Remove a bunch of fields from the `unsigned` property of PDUs. These things
shouldn't be passed over the Federation API, and they *really* shouldn't be
trusted if they are sent by another server.

 * `replaces_state` *is* returned by Synapse, but probably shouldn't
   be.
 * `redacted_because`, `prev_sender` and `prev_content` are not sent by Synapse.
3 years ago
Ankur ac98c8c08c
OpenAPI: Add missing `required` flag in `getRoomKeys` (#3509) 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
Richard van der Hoff 92b29cf8e6
Add a changelog directory for room versions (#3504) 3 years ago
Will Hunt 51d8560da9
Explicitly link to geo URI spec (#3492)
* Explicitly link to geo URI spec

* move RFC location

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

* Create 3492.clarification

Co-authored-by: Travis Ralston <travisr@matrix.org>
3 years ago
Ankur a034d45e45
typos: Corrected typos in message_pagination.yaml (#3495) 3 years ago
Hubert Chathi 1ad5ff4179
Key name is supposed to be optional, as per MSC2874 (#3481) 3 years ago
Hubert Chathi 033038917d
remove extra `type` property (#3482) 3 years ago
Travis Ralston 195b8a54c5 v1.1 changelog 3 years ago
Travis Ralston 8f2e8f03d0
Normalize changelog entries (#3476)
* Remove entries which don't affect the rendered spec (sorry people using the swagger schemas - we'll have to figure out a changelog for you). See https://github.com/matrix-org/matrix-doc/issues/3475
  * Note that a breaking change is removed by this commit: key backup was introduced in this release cycle, so is not breaking.
* Use uniform references to MSCs ("as per MSC0000").
* General rewording to be consistent with the overall voice of the changelog.
* Condensing of entries where needed to make them fit in the changelog.
* Rewording to collapse entries into fewer lines.
* Spell "deprecation" correctly in file extension.
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 5ea6d5610f
Update identity server spec to use global versioning (#3459)
* Update identity server spec to use global versioning

* changelog
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 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
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
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
Richard van der Hoff 6bd7b6cbb5 Clarifications to pagination parameters for various APIs (#3353) 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
Alexey Rusakov 6d2c388144 Merge pull request #3336 from lukaslihotzki/include-peek-events
OpenAPI: include peekEvents
3 years ago