Commit Graph

380 Commits (d28e05af877b9e16d08c47b54e95c65fd6ca28b4)

Author SHA1 Message Date
Johannes Marbach d28e05af87
Clarify that usage of event_id_only is not mandatory (#2255)
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
2 days ago
reivilibre b1fd2af72c
Clarify that servers may choose not to use `M_USER_DEACTIVATED` when they don't know who is asking. (#2246)
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
1 week ago
Johannes Marbach a2027a3985
Spec for MSC4312: Resetting cross-signing keys in the OAuth world (#2234)
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
1 week ago
Johannes Marbach 935c23485b
Clarify how to use state_after ahead of declaring full support for its spec version (#2240) 2 weeks ago
Johannes Marbach 967b54195c
Clarify the special casing of membership events and redactions in power levels (#2231) 1 month ago
Hugh Nimmo-Smith fda3be5ee3
Add note where an endpoint uses capability negotiation (#2223) 2 months ago
Johannes Marbach dfdb1d09b8
Add missing bracket (#2224) 2 months ago
Johannes Marbach f82d8ab15b
Clarify that additional OpenGraph properties can be present in URL previews (#2225)
Fixes: #1753

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2 months ago
Johannes Marbach 0a649cb0db
room_id is required for peeking (#2216) 2 months ago
Kévin Commaille 2aacc1feda
Remove legacy mentions (#2186)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2 months ago
Travis Ralston 7bc016bda6
Specification for MSC4311: Create event availability in stripped state (#2207)
* Part 1: Invites

* Part 2: Knocks

* Use correct schema and examples; Remind readers often about formats

* changelogs

* Add schema warning

* Name the objects

* Move changed-in and expand upon it

* Rename the example

* address review feedback
3 months ago
Patrick Cloke fea0b925a0
Add time zone profile field from MSC4175 (#2206) 3 months ago
Kim Brose bfbeb5e257
clarify world_readable history visibility (#2204)
Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
3 months ago
V02460 6e16a19ac9
[schema] Application Service Registration meta schema (#2132) 3 months ago
Travis Ralston f97d2944ae
Room version 12 (#2193)
* Placeholder

* i++

* Room version 12

Template out a v12 room version

Make v12 default, per MSC4304

Update PDU checks and auth event selection per MSC4291

Describe new room_id format per MSC4291

Move v6 depth definition to a component for easier referencing

Move room_id to a component to prep for v12, per MSC4291

Create and use a new room_id component for v12+ per MSC4291

Reflect auth events selection change onto all room versions per MSC4291

The MSC asks the `description` of `auth_events` to be adjusted, however this feels like a better representation of the change.

Add `room_id` format rules and renumber per MSC4291

Reflect change to rule 1.2 per MSC4291

Insert same room_id check to v1-12 auth rules per MSC4307 and MSC4291

Deprecate `predecessor.event_id` per MSC4291

Insert auth rule to validate `additional_creators` per MSC4289

Insert rule for `users` validation of creators and renumber per MSC4289

Define "room creator(s)" per MSC4289

Spec `additional_creators` on create events per MSC4289

Spec `additional_creators` on `/upgrade` per MSC4289

The MSC doesn't mention how to handle unsupported room versions, but the Synapse implementation used for FCP ignores the field in such room versions. This feels like a good approach, and will need clarifying in the MSC too (if accepted at the spec level).

Add notes to `/upgrade` behaviour per MSC4289 and MSC4291

Describe how additional creators work during room creation per MSC4289

Fix default user power level descriptions per MSC4289

Describe tombstone power level changes per MSC4289

Warn clients about event format changes in v12 per MSC4289 and MSC4291

Flag additional room creators support for client reference per MSC4289

Remove TODO now that it's fully addressed

Copy state res into v12 as-is for modification

Apply Modification 1 to SR2.1 per MSC4297

Apply Modification 2 to SR2.1 per MSC4297

Add summary box to the top of SR2.1 for ease of developer reference

Modification 2 was split into items 2 and 3 for further ease of understanding.

Add all the changelogs

`x` is used until a real PR number can be assigned.

Some changelogs are duplicated to the Client-Server API to increase visibility of the changes to v12.

Review: Minor phrasing adjustments in changelogs

Review: Clarify that v12 isn't quite the default yet in the changelog

Review: Clarify to clients that creators are immutable

Review: Improve 'how to parse a domain' advice for legacy apps

Review: Add a bit more detail as to why a room ID might be required

Apply suggestions from code review

Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>

Clarify that clients can override the tombstone default

Mention creatorship UI label by finishing the Permissions section

We probably should have removed the WIP note in v1.0, but alas.

Add changelog for tombstone changes

Use assigned spec PR number in changelogs

(cherry picked from commit ec81eea7e4532fd398b8013071d6981c97117d9e)
4 months ago
Tom Foster c4bfd2feb8
Spec for MSC4133: Update profile endpoints to support extended fields (#2071)
Signed-off-by: Tom Foster <tom@tcpip.uk>
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Richard van der Hoff <richard@matrix.org>
4 months ago
Kévin Commaille 9c313b099f
Add `state_after` to `/sync` (#2187)
* Add `state_after` to `/sync`

As per MSC4222.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Improve wording

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Clarify to not use timeline with state_after

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
4 months ago
Kévin Commaille 7d2de48cb4
Fix new redocly lints (#2182)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
4 months ago
Tulir Asokan c8380d9552
Add `format` query parameter to `GET /state/{eventType}/{stateKey}` (#2175) 5 months ago
Johannes Marbach 3877598b1e
Clarify that format is required if formatted_body is specified (#2167)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
5 months ago
Johannes Marbach 0e280ed014
Fix typo (#2177)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
5 months ago
Kévin Commaille 1c06ed9cf7
Final tweaks for the OAuth 2.0 API (#2164)
* Clarify that SSO login applies to the legacy authentication API

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Do not point to specific authentication API for obtaining access token

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add warnings about incompatibility with OAuth 2.0 to endpoints that use UIA

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add note about API standards not applying to OAuth 2.0

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Apply suggestions from code review

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Travis Ralston <travpc@gmail.com>
5 months ago
Kévin Commaille 9244c84a32
Add OAuth 2.0 dynamic client registration (#2148)
As per MSC2966

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
6 months ago
Richard van der Hoff 979264e923
Fix example for `ExportedSessionData` (#2154)
Currently, the example for `ExportedSessionData` is missing values for
`room_id` and `session_id`.

Move the example field values for `KeyBackupSessionData` into the field
definitions, so that an example for the object as a whole is built
automatically, and when we extend it to form `ExportedSessionData` the
explicit example does not override the more complete autogenerated one.
6 months ago
Kévin Commaille 51ccbbd240
Add the OAuth 2.0 server metadata discovery endpoint (#2147)
As per MSC2965.
6 months ago
Kévin Commaille 32b1f0514d
Clarify some string formats of room summary endpoint (#2158) 6 months ago
Johannes Marbach 7bcc3ecb81
Spec PR - MSC3266: Room Summary API (#2125)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
6 months ago
Kévin Commaille 866c05f487
Reorganize client authentication section to separate the legacy API and the new OAuth 2.0 API (#2141)
Since account locking and suspension are authentication API agnostic,
this is a pre-requisite to adding the new OAuth 2.0-based API.

This also splits the endpoints that where all included in the
registration OpenAPI data, to separate them cleanly in the spec, and
avoid having deactivation show before registration.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
6 months ago
Johannes Marbach 643a6dca2d
Spec PR - MSC4147: Including device keys with Olm-encrypted events (#2122)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Richard van der Hoff <richard@matrix.org>
6 months ago
Johannes Marbach 2c734c3c5b
Clarify the meaning of "public rooms" in the room directory (#2104)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
7 months ago
V02460 4ed55a60ec
[schema] Correct null value handling for the AS Registration’s `url` property (#2130)
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
7 months ago
Johannes Marbach 0439707624
Spec PR - MSC3765: Rich text in room topics (#2095)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
7 months ago
Johannes Marbach fc81171081
Clarify the meaning of "public rooms" for user directory queries (#2102) 7 months ago
Kim Brose ca9c376076
Clarify Well-Known URIs (#2140)
* Clarify Well-Known URIs

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>

* Fix section link

---------

Signed-off-by: HarHarLinks <2803622+HarHarLinks@users.noreply.github.com>
7 months ago
Andrew Morgan a8c326962a
Add a note to the federation invite endpoints that invites can be sent twice (#2067)
... as this may be non-obvious when implementing behaviour that is triggered by an incoming invite
event.

See https://github.com/matrix-org/matrix-spec/issues/2062 for more context.

Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>
7 months ago
Kévin Commaille fca171427f
Clarifications around third-party invites (#2083)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
8 months ago
Will Hunt 65b1db721d
Describe behaviour when the `topic` key is falsey in a `m.room.topic` event. (#2068)
We seem to have [updated this for m.room.name](https://github.com/matrix-org/matrix-spec/pull/1639) some years back but omitted it for topic.
8 months ago
Kévin Commaille c39c7d0680
Fix `/sync` example (#2077)
* Fix sync example

The same event should not appear in `state` and in the `timeline` so we cannot use the same event twice.

To provide a `state` example we assume that with lazy-loading the user did not get the state event for `@example:example.org`, so we add one since they sent a message in the timeline.

The events that are referenced include a `room_id`, which doesn't appear on this endpoint, so we copy them without it.

Finally, the `join` event of `@alice:example.org` is wrong because the sender does not match the state key, which wouldn't pass the authorization rules.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Fix the `m.room.member.yaml` example

This is a `join` event, and the `sender` doesn't match the `state_key`, so the event couldn't pass the authorization rules.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
8 months ago
Travis Ralston 71ce620fc0
Add a v6 event format with correct `depth` limits (#2114)
* Add a v6 event format with correct `depth` limits

* Changelog

* numbers are hard
8 months ago
Johannes Marbach c7581356bf
MSC4260: Reporting users (Client-Server API) (#2093)
* MSC4260: Reporting users (Client-Server API)

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>

* Add changelog

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

Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>

* Move option to consistently respond with 200 to user reporting endpoint

* Move optional random delay to event and user reporting endpoints

* Make reason required for user and room reports

* Fix requiredness syntax

---------

Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>
9 months ago
Johannes Marbach e283c35dbd
Remove extra trailing quotes from sync API specs (#2091)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
9 months ago
Kévin Commaille 1916e53f8c
Deduplicate `Invite3pid` (#2074)
* Deduplicate Invite3pid

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
9 months ago
Kévin Commaille 02a1aeefbc
Deduplicate `RoomKeysUpdateResponse` (#2073)
And add a link to the endpoint that is mentionned while we're at it.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
9 months ago
Kévin Commaille 3adbfa30da
Look for examples in all possible locations (#2076)
We used to only look for examples in a few (sometimes arbitrary) places, and we didn't support showing several examples in most cases. This is intended to fix this. In the process we try to deduplicate code to make sure that we use the same logic everywhere.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
9 months ago
Kévin Commaille 60339adb2d
Refactor PDU definitions to reduce duplication (#2070)
First of all, all PDU definitions were based on the v1 PDU definition with a few fields overwritten to change the format with needed.
While that works when rendering the spec, this is semantically incorrect because it means that the objects must match both schemas, which is impossible.

So now we make a base with only the common fields, and we add the others as needed by the room version.
Note that there is no more "unsigned PDU" definition since it is not used directly, and hashes and signatures are the same across all versions.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
9 months ago
Hubert Chathi ae06f37470
fix typos in m.room_key.withheld (#2080)
* fix typos

* add changelog
9 months ago
Patrick Cloke cb83c5a76e
Clarify which rooms are returned from /hierarchy (#2064)
Signed-off-by: Patrick Cloke <clokep@patrick.cloke.us>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
10 months ago
Kévin Commaille c2ef38f0e5
Document `instance_id` field of `/thirdparty/protocols` (#2051)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
10 months ago
Johannes Marbach 23e709ae9b
MSC4213: Remove server_name parameter (#2059)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
10 months ago
Kévin Commaille a1bdfaa167
Remove the `origin` field in `PUT /send_join` responses (#2050)
* Remove the `origin` field on PUT /send_join responses

This is a spec bug as it has actually never been sent by Synapse, going back to 2014.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

* Add changelog

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
11 months ago