mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-04-29 05:44:10 +02:00
Compare commits
5 commits
001e4a5494
...
8a01652583
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a01652583 | ||
|
|
0b5db68242 | ||
|
|
07cef68485 | ||
|
|
0445ab222e | ||
|
|
9726841e01 |
|
|
@ -0,0 +1 @@
|
||||||
|
Fix various typos throughout the specification.
|
||||||
1
changelogs/client_server/newsfragments/2315.feature
Normal file
1
changelogs/client_server/newsfragments/2315.feature
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Add `M_USER_LIMIT_EXCEEDED` common error code, as per [MSC4335](https://github.com/matrix-org/matrix-spec-proposals/pull/4335).
|
||||||
|
|
@ -84,7 +84,7 @@ For the `users` namespace, application services can only register interest in
|
||||||
homeserver). Events affecting users on other homeservers are not sent to an application
|
homeserver). Events affecting users on other homeservers are not sent to an application
|
||||||
service, even if the user happens to match the one of the `users` namespaces (unless,
|
service, even if the user happens to match the one of the `users` namespaces (unless,
|
||||||
of course, the event affects a room that the application service is interested in
|
of course, the event affects a room that the application service is interested in
|
||||||
for another room - for example, because there is another user in the room that the
|
for another reason - for example, because there is another user in the room that the
|
||||||
application service is interested in).
|
application service is interested in).
|
||||||
|
|
||||||
For the `rooms` and `aliases` namespaces, all events in a matching room will be
|
For the `rooms` and `aliases` namespaces, all events in a matching room will be
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,37 @@ state (e.g.: sending messages, account data, etc) and not routes which
|
||||||
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
|
only read state (e.g.: [`/sync`](#get_matrixclientv3sync),
|
||||||
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
|
[`/user/{userId}/account_data/{type}`](#get_matrixclientv3useruseridaccount_datatype), etc).
|
||||||
|
|
||||||
|
`M_USER_LIMIT_EXCEEDED`
|
||||||
|
: {{% added-in v="1.18" %}} The request cannot be completed because the user has
|
||||||
|
exceeded (or the request would cause them to exceed) a limit associated with
|
||||||
|
their account. For example, a user may have reached their allocated storage
|
||||||
|
quota, reached a maximum number of allowed rooms, devices, or other
|
||||||
|
account-scoped resources, or exceeded usage limits for specific features.
|
||||||
|
|
||||||
|
: The error response MUST have an `info_uri` field (string), which is a URI
|
||||||
|
that the client can present to the user to provide more context on the
|
||||||
|
encountered limit and, if applicable, guidance on how to increase the limit.
|
||||||
|
The homeserver MAY return different values for `info_uri` depending on the type
|
||||||
|
of limit reached.
|
||||||
|
|
||||||
|
: The error response MAY include a `can_upgrade` field (boolean, default `false`).
|
||||||
|
If `true`, it indicates that the specific limit encountered can be increased,
|
||||||
|
for example by upgrading the user's account tier. If absent or `false`, the
|
||||||
|
limit is a hard limit that cannot be increased.
|
||||||
|
|
||||||
|
: The HTTP status code will depend on depend on the particular endpoint.
|
||||||
|
|
||||||
|
: Example response:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"errcode": "M_USER_LIMIT_EXCEEDED",
|
||||||
|
"error": "You have exceeded your storage quota of 10GB",
|
||||||
|
"info_uri": "https://example.com/homeserver/about?limit_type=quota",
|
||||||
|
"can_upgrade": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
`M_UNKNOWN`
|
`M_UNKNOWN`
|
||||||
: An unknown error has occurred.
|
: An unknown error has occurred.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue