From 0ee58100c41a09d2fdac2d63148ee48a9a315093 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 4 Jan 2022 20:28:42 -0700 Subject: [PATCH] Add capabilities described by MSC3283 (#3614) * Add capabilities described by MSC3283 MSC: https://github.com/matrix-org/matrix-doc/pull/3283 * changelog --- .../client_server/newsfragments/3614.feature | 1 + content/client-server-api/_index.md | 73 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 changelogs/client_server/newsfragments/3614.feature diff --git a/changelogs/client_server/newsfragments/3614.feature b/changelogs/client_server/newsfragments/3614.feature new file mode 100644 index 00000000000..58e5182b40f --- /dev/null +++ b/changelogs/client_server/newsfragments/3614.feature @@ -0,0 +1 @@ +Add new `m.set_displayname`, `m.set_avatar_url`, and `m.3pid_changes` capabilities as per [MSC3283](https://github.com/matrix-org/matrix-doc/pull/3283). \ No newline at end of file diff --git a/content/client-server-api/_index.md b/content/client-server-api/_index.md index dbc324fb663..c48983d3b87 100644 --- a/content/client-server-api/_index.md +++ b/content/client-server-api/_index.md @@ -1293,6 +1293,79 @@ using an `unstable` version. When this capability is not listed, clients should use `"1"` as the default and only stable `available` room version. +### `m.set_displayname` capability + +This capability has a single flag, `enabled`, to denote whether the user +is able to change their own display name via profile endpoints. Cases for +disabling might include users mapped from external identity/directory +services, such as LDAP. + +Note that this is well paired with the `m.set_avatar_url` capability. + +When not listed, clients should assume the user is able to change their +display name. + +An example of the capability API's response for this capability is: + +```json +{ + "capabilities": { + "m.set_displayname": { + "enabled": false + } + } +} +``` + +### `m.set_avatar_url` capability + +This capability has a single flag, `enabled`, to denote whether the user +is able to change their own avatar via profile endpoints. Cases for +disabling might include users mapped from external identity/directory +services, such as LDAP. + +Note that this is well paired with the `m.set_displayname` capability. + +When not listed, clients should assume the user is able to change their +avatar. + +An example of the capability API's response for this capability is: + +```json +{ + "capabilities": { + "m.set_avatar_url": { + "enabled": false + } + } +} +``` + +### `m.3pid_changes` capability + +This capability has a single flag, `enabled`, to denote whether the user +is able to add, remove, or change 3PID associations on their account. Note +that this only affects a user's ability to use the +[Admin Contact Information](#adding-account-administrative-contact-information) +API, not endpoints exposed by an Identity Service. Cases for disabling +might include users mapped from external identity/directory services, +such as LDAP. + +When not listed, clients should assume the user is able to modify their 3PID +associations. + +An example of the capability API's response for this capability is: + +```json +{ + "capabilities": { + "m.3pid_changes": { + "enabled": false + } + } +} +``` + ## Filtering Filters can be created on the server and can be passed as a parameter to