MSC3283: Expose capabilities for profile actions (#3283)
* Create 3278-enable_set_displayname-capabilities.md * Apply suggestions from code review Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> * Apply suggestions from code review Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> * Update and rename 3278-enable_set_displayname-capabilities.md to 3279-enable_set_displayname-capabilities.md * Update and rename 3279-enable_set_displayname-capabilities.md to 3282-enable_set_displayname-capabilities.md * Update and rename 3282-enable_set_displayname-capabilities.md to 3283-enable_set_displayname-capabilities.md * Update proposals/3283-enable_set_displayname-capabilities.md Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> * Update proposals/3283-enable_set_displayname-capabilities.md Co-authored-by: Will Hunt <will@half-shot.uk> * Update proposals/3283-enable_set_displayname-capabilities.md Co-authored-by: Will Hunt <will@half-shot.uk> * Update 3283-enable_set_displayname-capabilities.md * Update 3283-enable_set_displayname-capabilities.md * Update proposals/3283-enable_set_displayname-capabilities.md Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> * Update proposals/3283-enable_set_displayname-capabilities.md Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> * Update 3283-enable_set_displayname-capabilities.md * Update 3283-enable_set_displayname-capabilities.md * Update 3283-enable_set_displayname-capabilities.md * Update 3283-enable_set_displayname-capabilities.md Co-authored-by: Alexey Rusakov <Kitsune-Ral@users.sf.net> Co-authored-by: Will Hunt <will@half-shot.uk> Co-authored-by: Dirk Klimpel <5740567+dklimpel@users.noreply.github.com>pull/977/head
parent
82254deaa1
commit
0982d5c55f
@ -0,0 +1,46 @@
|
||||
# MSC3283: Expose enable_set_displayname, enable_set_avatar_url and enable_3pid_changes in capabilities response
|
||||
|
||||
Some home servers like [Synapse](https://github.com/matrix-org/synapse/blob/756fd513dfaebddd28bf783eafa95b4505ce8745/docs/sample_config.yaml#L1207)
|
||||
can be configured to `enable_set_displayname: false`, `enable_set_avatar_url: false` or `enable_3pid_changes: false`.
|
||||
To enable clients to handle that gracefully in the UI this setting should be exposed.
|
||||
|
||||
## Proposal
|
||||
|
||||
The `/_matrix/client/r0/capabilities` endpoint should be decorated to provide more information on capabilities.
|
||||
```jsonc
|
||||
{
|
||||
"capabilities": {
|
||||
"m.set_displayname": { "enabled": false },
|
||||
"m.set_avatar_url": { "enabled": false },
|
||||
"m.3pid_changes": { "enabled": false },
|
||||
"m.room_versions": {...},
|
||||
}
|
||||
}
|
||||
```
|
||||
As part of this MSC, a capability for each setting will be added that exposes the server setting:
|
||||
- `m.set_displayname`
|
||||
|
||||
Whether users are allowed to change their displayname after it has been initially set.
|
||||
Useful when provisioning users based on the contents of a third-party directory.
|
||||
|
||||
- `m.set_avatar_url`
|
||||
|
||||
Whether users are allowed to change their avatar after it has been initially set.
|
||||
Useful when provisioning users based on the contents of a third-party directory.
|
||||
|
||||
- `m.3pid_changes`
|
||||
|
||||
Whether users can change the 3PIDs associated with their accounts
|
||||
(email address and msisdn).
|
||||
Useful when provisioning users based on the contents of a third-party directory.
|
||||
|
||||
## Client recommendations
|
||||
When presenting profile settings, clients should use capabilities in order to display the correct UI.
|
||||
|
||||
Capability should always be present.
|
||||
Servers should always send these capabilities. If they aren't (because the server does not support
|
||||
a new enough spec version or for any other reason), clients should behave as if they were present and set to true.
|
||||
|
||||
## Unstable prefix
|
||||
|
||||
While this MSC is not considered stable, implementations should use `org.matrix.msc3283.` in place of `m.` throughout this proposal.
|
Loading…
Reference in New Issue