Commit Graph

69 Commits (rav/ref_objects_in_params)

Author SHA1 Message Date
Kévin Commaille 9068c336f4
Clarify that sdpMid and sdpMLineIndex are not required in `m.call.candidates` (#1742)
* Convert m.call.candidates schema to YAML

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

* Clarify that sdpMid and sdpMLineIndex are not required in `m.call.candidates`

MSC2746, merged in v1.17,
introduced the end-of-candidates candidate,
where only the `candidate` property is set to an empty string.

Besides, the [WebRTC specification](https://www.w3.org/TR/webrtc/)
says that only one of those fields is required in a normal candidate.

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

* Add changelog

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

* Link to the "End-of-candidates" section, and clarify what "empty" means

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

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
7 months ago
Kévin Commaille 4cfe2fbf8d
Use `body` field as media caption (#1731)
* Use `body` field as media caption

As per MSC2530.

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

* Add changelog

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

* Use `s` HTML tag in example

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

* Move changed-in annotation

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

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
7 months ago
Kévin Commaille 560d98ba9b
Add more CI checks for OpenAPI definitions and JSON Schemas (#1656)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
12 months ago
Kévin Commaille 242b62ed55
Fix `m.call.negotiate` schema and example (#1546)
* Fix m.call.negotiate schema and example

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

* Add changelog

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

* Add lifetime back

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

* Fix lifetime description

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

---------

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
1 year ago
Kévin Commaille e40d9ca186
Fix rendering of `m.receipt` event in Client-Server API (#1637)
... and other improvements

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
1 year ago
Kévin Commaille 044a78730e
Clarify that an `m.room.name` event with an absent `name` field is not expected behavior (#1639)
Fixes #1632

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
1 year ago
Paarth Shah 838dec272c
Clarify that `via` is required for `m.space.parent` and `m.space.child` as per MSC1772. (#1618) 1 year ago
Patrick Cloke 4abea9a6ca
Add room version 11 (#1604)
* Remove duplicate words.

* Add information on room version 11.

* Note some event changes.

* Newsfragment

* Fix-up event schema.

* Apply suggestions from code review

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

* Fix 'new in this version'.

* Clarify creator field.

* Fix-up event format & examples.

* Move the Redactions section to the client section.

* Reference the sender instead of the creator.

* More links

* Even more links.

* Fix order of headers.

* Fix typos.

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

* Clarify description of creator.

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

* Clean-up intro paragraphs for redactions.

* Clean-up examples and language.

* Review comments.

* FIx-up markup tags.

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
1 year ago
cheb 414cc1ea52
Add missing type enum for m.reaction (#1552) 1 year ago
Kévin Commaille adff3faa35
Make sure version in x-changedInMatrixVersion is a string (#1562) 1 year ago
Michael Kohler c94bebc983
Add knock_restricted to m.room.join_rules enum (#1535)
* Add knock_restricted to m.room.join_rules enum

Signed-off-by: Michael Kohler <me@michaelkohler.info>

Fixes #1491

* Add changelog
1 year ago
David Baker 4fd9f39966
Add spec for MSC2746 (#1511)
* Change version field to a string

And add the notes on how the version field works.

* Add spec requiring tracks to be within streams.

* Put streams spec in its own section

* Add 'invitee' field

* Add party_id

* Remember how JSON works

* Add m.call.select_answer

* Update examples

* Add select_answer to call flow example diagram

* Add m.call.reject

* Make party_id required in other events

* Add possible ways for client to handle an invite

* Convert hangup & reject events to YAML

So we can have a bulleted list in the description for the values
of 'reason'.

* Add new reason codes to hangup & reject

* Add m.call.negotiate

* Add other sections

* Revert changes to package lock

* Typos

* Fix type of other version fields, fix anchor.

* Add newsfragment

* Fix reason in hangup/reject

* Change tense

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Tense, typos & grammar

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Linkify

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Remove unnecessary parts from link

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Capitalise

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Fix hangup reasons

* Clarify who can answer

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Linkify

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Remove reference to 'this MSC'.

* Move common VoIP fields into a call event type.

* Move common voip events to the content, not the actual event

* Remove reason from reject event

I confused myself, but it's not in the MSC and it shouldn't be.

* Failure to YAML

* Fix number of room members allowed when sending voip events.

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Add 'added in' version

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Another added-in

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* Add missing comma

---------

Co-authored-by: Hubert Chathi <hubertc@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
1 year ago
Kévin Commaille f564c07e60
Fixes and clarifications around m.reaction (#1531)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
1 year ago
Andrew Morgan 50757e61b7
Fix a list formatting error under C-S API -> `m.room.member` definition (#1509)
* Fix a list formatting error under C-S API -> m.room.member definition

* changelog
1 year ago
Kim Brose cafb453545
Fix m.location.yaml scheme (#1507)
* Fix m.location.yaml scheme

This appears to have been mixed up while refactoring
f1f32d3a15 (diff-eb879a272497c490480df3e07215d058ace2fa0bf456447786f299995fb467ef)

* Create 1507.clarification
1 year ago
Richard van der Hoff 1f729eef60
"MXC URI" -> "`mxc://` URI" (#1500)
* "MXC URI" -> "`mxc://` URI"

We're a bit inconsistent with this currently, and IMHO "`mxc://` URI" is more
explicit.

* Update content/client-server-api/modules/content_repo.md

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

* more MXCs

---------

Co-authored-by: Hubert Chathi <hubertc@matrix.org>
1 year ago
Richard van der Hoff 715f6a301d
Spec annotations (#1475) 1 year ago
Richard van der Hoff 91b2f77e0e
Remove outdated text saying that state_default defaults to 0 (#1479)
There was substantial confusion around this, but I've done some archaeology.

Basically, this was changed back in r0.5.0 by MSC1304 and matrix-org/synapse#3397. Before that, it was indeed the case that state_default was 0 if there was no m.room.power_levels event, but that was confusing and a source of security holes, so we changed it.

matrix-org/matrix-spec-proposals#1656 changed the spec, but apparently overlooked the text in the description.

Reverts: #1478.
Fixes: #861.
2 years ago
Travis Ralston 7670a74116
Mention that `state_default` can be zero by default. (#1478)
* Mention that `state_default` can be zero by default.

* Changelog

* Update data/event-schemas/schema/m.room.power_levels.yaml

Co-authored-by: Hubert Chathi <hubertc@matrix.org>

---------

Co-authored-by: Hubert Chathi <hubertc@matrix.org>
2 years ago
Patrick Cloke afae1083aa
Clarify what key content-specific rules match against. (#1441) 2 years ago
Andrew Morgan c0955a6aee
Add a hyphen between third and party when used as an adjective (#1447) 2 years ago
Hubert Chathi ad94985754
Define hkdf-hmac-sha256.v2 MAC method for SAS verification (#1412)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Johannes Becker 3f3b5c39f0
Remove duplicated "Note:" from `m.room.power_levels` (#1355)
Remove duplicated "Note:"

Signed-off-by: Johannes Becker <j.becker@famedly.com>
2 years ago
Johannes Becker b2c4abf567
Clarify the power levels integer range (#1169)
Signed-off-by: Johannes Becker <j.becker@famedly.com>
2 years ago
Kim Brose 8d378cfd51
add missing description to m.call.answer schema 2 years ago
Hubert Chathi 684ead8ab6
Merge pull request #1294 from uhoreg/rhul_clarifications
add some e2ee clarifications
2 years ago
Hubert Chathi 0f0caf582d more clarifications 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 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
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 2395dd87c0 more clarifications, and move event definitions to yaml 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 c0d54ab4d9
Apply suggestions from code review
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2 years ago
Hubert Chathi 191450ea73 add in-room m.key.verification.request msgtype 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 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
Alexey Rusakov 6792b7a9d6
Use type: integer, format: int64 for timestamps (#1129)
* Use type: integer / format: int64 for timestamps

Closes #749.

* Changelog
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 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
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.
2 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>
2 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>
2 years ago
thomaslantern 842106d9d8 removed m.room.message.feedback 2 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 17448083cf
Clarify that the url field in `m.room.avatar` events is not required. #987) 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
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
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