Compare commits

..

1 commit

Author SHA1 Message Date
Kierre Sametti 10beac4565
Merge b09d59bd37 into 7066694571 2026-01-25 16:37:43 +00:00
10 changed files with 6 additions and 83 deletions

View file

@ -1 +0,0 @@
Add `m.forget_forced_upon_leave` capability for servers to transparently auto-forget rooms that the user leaves as per [MSC4267](https://github.com/matrix-org/matrix-spec-proposals/pull/4267).

View file

@ -1 +0,0 @@
Add support for `m.room.redaction` events at the `PUT /rooms/{roomId}/send/{eventType}/{txnId}` endpoint, as per [MSC4169](https://github.com/matrix-org/matrix-spec-proposals/pull/4169).

View file

@ -1 +1 @@
Clarify meaning of floating-point powerlevels.
Clarify floaty powerlevels.

View file

@ -1 +0,0 @@
Change `m.signing_update` typo to `m.signing_key_update`. Contributed by @velikopter

View file

@ -2619,40 +2619,6 @@ An example of the capability API's response for this capability is:
}
```
### `m.forget_forced_upon_leave` capability
{{% added-in v="1.18" %}}
This capability has a single flag, `enabled`, which indicates whether or
not the server automatically forgets rooms which the user has left.
When `enabled` is `true` and the user leaves a room, the server will automatically
forget the room — just as if the user had called [`/forget`](#post_matrixclientv3roomsroomidforget)
themselves. This behavior applies irrespective of whether the user has left the
room on their own (through [`/leave`](#post_matrixclientv3roomsroomidleave)) or
has been kicked or banned from the room by another user.
When `enabled` is `false`, the server does not automatically forget rooms
upon leave. In this case, clients MAY distinguish the actions of leaving
and forgetting a room in their UI. Similarly, clients MAY retrieve and
visualize left but unforgotten rooms using a [filter](#filtering) with
`include_leave = true`.
When the capability or the `enabled` property are not present, clients SHOULD
assume that the server does not automatically forget rooms.
An example of the capability API's response for this capability is:
```json
{
"capabilities": {
"m.forget_forced_upon_leave": {
"enabled": true
}
}
}
```
### `m.room_versions` capability
This capability describes the default and available room versions a
@ -3349,14 +3315,6 @@ the topic to be removed from the room.
#### Client behaviour
{{% changed-in v="1.18" %}}
If the server advertises support for a spec version that supports it, clients
MAY use the [`PUT /rooms/{roomId}/send/{eventType}/{txnId}`](#put_matrixclientv3roomsroomidsendeventtypetxnid)
endpoint to send `m.room.redaction` events in all room versions.
They can also use the following endpoint.
{{% http-api spec="client-server" api="redaction" %}}
### Forming relationships between events

View file

@ -1,5 +1,5 @@
##### `m.room.power_levels` events accept values as floats
##### `m.room.power_levels` Events Accept Values as Floats
When the value is a float, anything after the decimal point is removed,
making e.g. `5.17`, `5.42`, and `5` functionally identical.
@ -31,10 +31,4 @@ For example, this is a valid `m.room.power_levels` event in this room version:
```
In this example, both `@bob:localhost` and `@alice:localhost` have the same effective
power level of `50`, even though the values are technically different.
When a float written in exponential notation is unpacked, the decimal portion is removed
afterward; for example, `5.114698E4` becomes `51146.98`, which is then truncated to `51146`.
Note that, since this room version does not enforce that events comply with the requirements
of [Canonical JSON](/appendices#canonical-json), power levels can be formatted as floats.
power level of `50`, even though the values are visually different.

View file

@ -50,12 +50,6 @@ paths:
m.change_password:
$ref: '#/components/schemas/booleanCapability'
description: Capability to indicate if the user can change their password.
m.forget_forced_upon_leave:
x-addedInMatrixVersion: "1.18"
$ref: '#/components/schemas/booleanCapability'
description: |-
Capability to indicate if the server automatically forgets rooms once the user
leaves.
m.room_versions:
type: object
description: The room versions the server supports.

View file

@ -19,10 +19,6 @@ paths:
"/rooms/{roomId}/leave":
post:
summary: Stop the requesting user participating in a particular room.
x-changedInMatrixVersion:
"1.18": |-
Servers may additionally forget the room provided that they make this behavior
transparent.
description: |-
This API stops a user participating in a particular room.
@ -33,15 +29,8 @@ paths:
If the user was invited to the room, but had not joined, this call
serves to reject the invite.
Servers MAY additionally forget the room when this endpoint is called
just as if the user had also invoked [`/forget`](/client-server-api/#post_matrixclientv3roomsroomidforget).
Servers that do this, MUST inform clients about this behavior using the
[`m.forget_forced_upon_leave`](/client-server-api/#mforget_forced_upon_leave-capability)
capability.
If the server doesn't automatically forget the room, the user will still be
allowed to retrieve history from the room which they were previously allowed
to see.
The user will still be allowed to retrieve history from the room which
they were previously allowed to see.
operationId: leaveRoom
security:
- accessTokenQuery: []

View file

@ -20,10 +20,6 @@ paths:
"/rooms/{roomId}/send/{eventType}/{txnId}":
put:
summary: Send a message event to the given room.
x-changedInMatrixVersion:
"1.18": |-
Homeservers must support sending `m.room.redaction` events with this endpoint
for all room versions.
description: |-
This endpoint is used to send a message event to a room. Message events
allow access to historical events and pagination, making them suited
@ -32,11 +28,6 @@ paths:
The body of the request should be the content object of the event; the
fields in this object will vary depending on the type of event. See
[Room Events](/client-server-api/#room-events) for the m. event specification.
Homeservers MUST allow clients to send `m.room.redaction` events with this
endpoint for all room versions. In rooms with a version older than 11 they
MUST move the `redacts` property inside the `content` to the top level of
the event.
operationId: sendMessage
security:
- accessTokenQuery: []

View file

@ -25,7 +25,7 @@ allOf:
edu_type:
type: string
enum: ['m.signing_key_update']
description: The string `m.signing_key_update`.
description: The string `m.signing_update`.
example: "m.signing_key_update"
content:
type: object