Compare commits

...

4 commits

Author SHA1 Message Date
Kévin Commaille d6ed223310
Merge 3c17aa3789 into b5ee6adc0f 2025-08-22 20:21:31 -06:00
Travis Ralston b5ee6adc0f
Remove extraneous v11 tag in v12 auth rules (#2199)
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
* Remove extraneous v11 tag in v12 auth rules

* Changelog to copy #2193
2025-08-22 21:10:51 +03:00
Kévin Commaille 3c17aa3789
Add changelog
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-25 10:44:39 +02:00
Kévin Commaille 506bc1a164
Clarify that stripped state in /sync response must include m.room.member event of user
And that event has the same format as in join rooms, with `event_id` and
`origin_server_ts`.

This has always been the case in homeserver implementations.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-07-25 09:56:33 +02:00
4 changed files with 22 additions and 4 deletions

View file

@ -0,0 +1,2 @@
Clarify that the stripped state in `invite_state` and `knock_state` in `GET /sync` response must
include the full `m.room.member` event of the user.

View file

@ -0,0 +1 @@
Add [room version 12](/rooms/v12) as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304).

View file

@ -131,8 +131,7 @@ The rules are as follows:
1. If the event is not validly signed by the homeserver of the user ID denoted 1. If the event is not validly signed by the homeserver of the user ID denoted
by the key, reject. by the key, reject.
3. If `membership` is `join`: 3. If `membership` is `join`:
1. {{% changed-in v=11 %}} 1. If the only previous event is an `m.room.create` and the
If the only previous event is an `m.room.create` and the
`state_key` is the sender of the `m.room.create`, allow. `state_key` is the sender of the `m.room.create`, allow.
2. If the `sender` does not match `state_key`, reject. 2. If the `sender` does not match `state_key`, reject.
3. If the `sender` is banned, reject. 3. If the `sender` is banned, reject.

View file

@ -369,8 +369,14 @@ paths:
description: |- description: |-
The [stripped state events](/client-server-api/#stripped-state) that form the The [stripped state events](/client-server-api/#stripped-state) that form the
invite state. invite state.
MUST also include the `m.room.member` event of the user with a membership of
`invite`, and using the same event format as joined rooms with the `event_id`
and `origin_server_ts` fields.
items: items:
$ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml anyOf:
- $ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
- $ref: definitions/client_event_without_room_id.yaml
type: array type: array
knock: knock:
title: Knocked rooms title: Knocked rooms
@ -394,8 +400,14 @@ paths:
description: |- description: |-
The [stripped state events](/client-server-api/#stripped-state) that form the The [stripped state events](/client-server-api/#stripped-state) that form the
knock state. knock state.
MUST also include the `m.room.member` event of the user with a membership of
`knock`, and using the same event format as joined rooms with the `event_id` and
`origin_server_ts` fields.
items: items:
$ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml anyOf:
- $ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
- $ref: definitions/client_event_without_room_id.yaml
type: array type: array
leave: leave:
title: Left rooms title: Left rooms
@ -628,6 +640,8 @@ paths:
"sender": "@alice:example.com", "sender": "@alice:example.com",
"type": "m.room.member", "type": "m.room.member",
"state_key": "@bob:example.com", "state_key": "@bob:example.com",
"event_id": "$19dl9d3848dJLle:example.com",
"origin_server_ts": 1432735439654,
"content": { "content": {
"membership": "invite" "membership": "invite"
} }
@ -652,6 +666,8 @@ paths:
"sender": "@bob:example.com", "sender": "@bob:example.com",
"type": "m.room.member", "type": "m.room.member",
"state_key": "@bob:example.com", "state_key": "@bob:example.com",
"event_id": "$Fg83Kl3764di23a:example.com",
"origin_server_ts": 143273039402,
"content": { "content": {
"membership": "knock" "membership": "knock"
} }