mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-04-26 04:24:10 +02:00
Compare commits
4 commits
07859e3009
...
9526fa9f4e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9526fa9f4e | ||
|
|
f92c3579ac | ||
|
|
5d8bfd35be | ||
|
|
e9f219d53b |
1
changelogs/client_server/newsfragments/2292.feature
Normal file
1
changelogs/client_server/newsfragments/2292.feature
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
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).
|
||||||
1
changelogs/client_server/newsfragments/2298.feature
Normal file
1
changelogs/client_server/newsfragments/2298.feature
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
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).
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Change `m.signing_update` typo to `m.signing_key_update`. Contributed by @velikopter
|
||||||
|
|
@ -2619,6 +2619,40 @@ 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
|
### `m.room_versions` capability
|
||||||
|
|
||||||
This capability describes the default and available room versions a
|
This capability describes the default and available room versions a
|
||||||
|
|
@ -3315,6 +3349,14 @@ the topic to be removed from the room.
|
||||||
|
|
||||||
#### Client behaviour
|
#### 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" %}}
|
{{% http-api spec="client-server" api="redaction" %}}
|
||||||
|
|
||||||
### Forming relationships between events
|
### Forming relationships between events
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,12 @@ paths:
|
||||||
m.change_password:
|
m.change_password:
|
||||||
$ref: '#/components/schemas/booleanCapability'
|
$ref: '#/components/schemas/booleanCapability'
|
||||||
description: Capability to indicate if the user can change their password.
|
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:
|
m.room_versions:
|
||||||
type: object
|
type: object
|
||||||
description: The room versions the server supports.
|
description: The room versions the server supports.
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,10 @@ paths:
|
||||||
"/rooms/{roomId}/leave":
|
"/rooms/{roomId}/leave":
|
||||||
post:
|
post:
|
||||||
summary: Stop the requesting user participating in a particular room.
|
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: |-
|
description: |-
|
||||||
This API stops a user participating in a particular room.
|
This API stops a user participating in a particular room.
|
||||||
|
|
||||||
|
|
@ -29,8 +33,15 @@ paths:
|
||||||
If the user was invited to the room, but had not joined, this call
|
If the user was invited to the room, but had not joined, this call
|
||||||
serves to reject the invite.
|
serves to reject the invite.
|
||||||
|
|
||||||
The user will still be allowed to retrieve history from the room which
|
Servers MAY additionally forget the room when this endpoint is called –
|
||||||
they were previously allowed to see.
|
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.
|
||||||
operationId: leaveRoom
|
operationId: leaveRoom
|
||||||
security:
|
security:
|
||||||
- accessTokenQuery: []
|
- accessTokenQuery: []
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,10 @@ paths:
|
||||||
"/rooms/{roomId}/send/{eventType}/{txnId}":
|
"/rooms/{roomId}/send/{eventType}/{txnId}":
|
||||||
put:
|
put:
|
||||||
summary: Send a message event to the given room.
|
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: |-
|
description: |-
|
||||||
This endpoint is used to send a message event to a room. Message events
|
This endpoint is used to send a message event to a room. Message events
|
||||||
allow access to historical events and pagination, making them suited
|
allow access to historical events and pagination, making them suited
|
||||||
|
|
@ -28,6 +32,11 @@ paths:
|
||||||
The body of the request should be the content object of the event; the
|
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
|
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.
|
[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
|
operationId: sendMessage
|
||||||
security:
|
security:
|
||||||
- accessTokenQuery: []
|
- accessTokenQuery: []
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ allOf:
|
||||||
edu_type:
|
edu_type:
|
||||||
type: string
|
type: string
|
||||||
enum: ['m.signing_key_update']
|
enum: ['m.signing_key_update']
|
||||||
description: The string `m.signing_update`.
|
description: The string `m.signing_key_update`.
|
||||||
example: "m.signing_key_update"
|
example: "m.signing_key_update"
|
||||||
content:
|
content:
|
||||||
type: object
|
type: object
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue