mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-04-24 11:44:08 +02:00
Compare commits
6 commits
430f5317b6
...
4a2ffbb9c1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a2ffbb9c1 | ||
|
|
ff1a39e36a | ||
|
|
add0f2232c | ||
|
|
8ebf4a4789 | ||
|
|
935c23485b | ||
|
|
19fa1c9cbf |
|
|
@ -0,0 +1 @@
|
|||
`M_RESOURCE_LIMIT_EXCEEDED` is now listed as a common error code.
|
||||
|
|
@ -0,0 +1 @@
|
|||
Clarify how to use `state_after` ahead of declaring full support for its spec version.
|
||||
|
|
@ -0,0 +1 @@
|
|||
`device_one_time_keys_count` is only optional if no unclaimed one-time keys exist.
|
||||
|
|
@ -0,0 +1 @@
|
|||
In room versions 3 through 12, clarify that when you have the power to redact, it is possible to redact events that you don't have the power to send.
|
||||
|
|
@ -136,6 +136,17 @@ code if the endpoint is implemented, but the incorrect HTTP method is used.
|
|||
{{% added-in v="1.17" %}} The device ID supplied by the application service does
|
||||
not belong to the user ID during [identity assertion](/application-service-api/#identity-assertion).
|
||||
|
||||
`M_RESOURCE_LIMIT_EXCEEDED`
|
||||
The request cannot be completed because the homeserver has reached a
|
||||
resource limit imposed on it. For example, a homeserver held in a shared
|
||||
hosting environment may reach a resource limit if it starts using too
|
||||
much memory or disk space. The error MUST have an `admin_contact` field
|
||||
to provide the user receiving the error a place to reach out to.
|
||||
Typically, this error will appear on routes which attempt to modify
|
||||
state (e.g.: sending messages, account data, etc) and not routes which
|
||||
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
|
||||
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
|
||||
|
||||
`M_UNKNOWN`
|
||||
An unknown error has occurred.
|
||||
|
||||
|
|
@ -221,17 +232,6 @@ The request or entity was too large.
|
|||
The resource being requested is reserved by an application service, or
|
||||
the application service making the request has not created the resource.
|
||||
|
||||
`M_RESOURCE_LIMIT_EXCEEDED`
|
||||
The request cannot be completed because the homeserver has reached a
|
||||
resource limit imposed on it. For example, a homeserver held in a shared
|
||||
hosting environment may reach a resource limit if it starts using too
|
||||
much memory or disk space. The error MUST have an `admin_contact` field
|
||||
to provide the user receiving the error a place to reach out to.
|
||||
Typically, this error will appear on routes which attempt to modify
|
||||
state (e.g.: sending messages, account data, etc) and not routes which
|
||||
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
|
||||
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
|
||||
|
||||
`M_CANNOT_LEAVE_SERVER_NOTICE_ROOM`
|
||||
The user is unable to reject an invite to join the server notices room.
|
||||
See the [Server Notices](#server-notices) module for more information.
|
||||
|
|
|
|||
|
|
@ -1775,19 +1775,18 @@ property is required for inclusion, though previous versions of the
|
|||
specification did not have it. In addition to `/versions`, this can be
|
||||
a way to identify the server's support for fallback keys.
|
||||
|
||||
|
||||
| Parameter | Type | Description |
|
||||
|----------------------------------|--------------------|------------------------------------------------------------------------------------------------------------------------|
|
||||
| device_lists | DeviceLists | Optional. Information on e2e device updates. Note: only present on an incremental sync. |
|
||||
| device_one_time_keys_count | {string: integer} | Optional. For each key algorithm, the number of unclaimed one-time keys currently held on the server for this device. If an algorithm is unlisted, the count for that algorithm is assumed to be zero. If this entire parameter is missing, the count for all algorithms is assumed to be zero. |
|
||||
| device_unused_fallback_key_types | [string] | **Required.** The unused fallback key algorithms. |
|
||||
| Parameter | Type | Description |
|
||||
|----------------------------------|-------------------|------------------------------------------------------------------------------------------------------------------------|
|
||||
| device_lists | DeviceLists | Optional. Information on e2e device updates. Note: only present on an incremental sync. |
|
||||
| device_one_time_keys_count | {string: integer} | **Required if any unclaimed one-time keys exist.** For each key algorithm, the number of unclaimed one-time keys currently held on the server for this device. If the count for an algorithm is zero, servers MAY omit that algorithm. If the count for all algorithms is zero, servers MAY omit this parameter entirely. |
|
||||
| device_unused_fallback_key_types | [string] | **Required.** The unused fallback key algorithms. |
|
||||
|
||||
`DeviceLists`
|
||||
|
||||
| Parameter | Type | Description |
|
||||
|------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| changed | [string] | List of users who have updated their device identity or cross-signing keys, or who now share an encrypted room with the client since the previous sync response. |
|
||||
| left | [string] | List of users with whom we do not share any encrypted rooms anymore since the previous sync response. |
|
||||
| Parameter | Type | Description |
|
||||
|-----------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| changed | [string] | List of users who have updated their device identity or cross-signing keys, or who now share an encrypted room with the client since the previous sync response. |
|
||||
| left | [string] | List of users with whom we do not share any encrypted rooms anymore since the previous sync response. |
|
||||
|
||||
{{% boxes/note %}}
|
||||
For optimal performance, Alice should be added to `changed` in Bob's
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ is met:
|
|||
2. The domain of the redaction event's `sender` matches that of the
|
||||
original event's `sender`.
|
||||
|
||||
Note that the first condition holds true even when the `sender` doesn't have a
|
||||
high enough power level to send the type of event that they're redacting.
|
||||
|
||||
If the server would apply a redaction, the redaction event is also sent
|
||||
to clients. Otherwise, the server simply waits for a valid partner event
|
||||
to arrive where it can then re-check the above.
|
||||
|
|
|
|||
|
|
@ -102,6 +102,13 @@ paths:
|
|||
example: "!au1ba7o:matrix.org"
|
||||
schema:
|
||||
type: string
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
example: {}
|
||||
required: true
|
||||
responses:
|
||||
"200":
|
||||
description: The room has been forgotten.
|
||||
|
|
|
|||
|
|
@ -133,10 +133,15 @@ paths:
|
|||
sync and the **start** of the timeline in `state` and MUST omit
|
||||
`state_after`.
|
||||
|
||||
Even if this is set to `true`, clients MUST update their local state
|
||||
with events in `state` and `timeline` if `state_after` is missing in
|
||||
the response, for compatibility with servers that don't support this
|
||||
parameter.
|
||||
Servers MAY implement this parameter ahead of declaring support for
|
||||
the version of the spec in which it was introduced. Consequently,
|
||||
clients MAY set this parameter to `true` regardless of the
|
||||
[`/versions`](/client-server-api/#get_matrixclientversions) response.
|
||||
If they do, they can infer whether the server actually supports this
|
||||
parameter from the presence of `state_after` in the response. If
|
||||
`state_after` is missing, clients MUST behave as if they had not
|
||||
specified the parameter and update their local state with events
|
||||
in `state` and `timeline`.
|
||||
|
||||
By default, this is `false`.
|
||||
example: false
|
||||
|
|
|
|||
Loading…
Reference in a new issue