-
Notifications
You must be signed in to change notification settings - Fork 398
MSC3283: Expose capabilities for profile actions #3283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 11 commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
e04ae30
Create 3278-enable_set_displayname-capabilities.md
JonasKress 0fd7c94
Apply suggestions from code review
JonasKress c711706
Apply suggestions from code review
JonasKress 7291992
Update and rename 3278-enable_set_displayname-capabilities.md to 3279…
JonasKress 9c8fec0
Update and rename 3279-enable_set_displayname-capabilities.md to 3282…
JonasKress 53ffb61
Update and rename 3282-enable_set_displayname-capabilities.md to 3283…
JonasKress ab5ceb0
Update proposals/3283-enable_set_displayname-capabilities.md
JonasKress d9fcd0e
Update proposals/3283-enable_set_displayname-capabilities.md
JonasKress 0fa212f
Update proposals/3283-enable_set_displayname-capabilities.md
JonasKress 9d3a2a4
Update 3283-enable_set_displayname-capabilities.md
JonasKress c48cb3c
Update 3283-enable_set_displayname-capabilities.md
JonasKress 05c24f6
Update proposals/3283-enable_set_displayname-capabilities.md
JonasKress af09113
Update proposals/3283-enable_set_displayname-capabilities.md
JonasKress ad7c017
Update 3283-enable_set_displayname-capabilities.md
JonasKress 0368523
Update 3283-enable_set_displayname-capabilities.md
JonasKress 057d341
Update 3283-enable_set_displayname-capabilities.md
JonasKress cad9619
Update 3283-enable_set_displayname-capabilities.md
JonasKress File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
```javascript | ||
JonasKress marked this conversation as resolved.
Show resolved
Hide resolved
|
||
{ | ||
"capabilities": { | ||
"m.set_displayname": { "enabled": false }, | ||
"m.set_avatar_url": { "enabled": false }, | ||
"m.3pid_changes": { "enabled": false }, | ||
JonasKress marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"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). | ||
JonasKress marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Client recommendations | ||
When presenting profile settings, clients should use capabilities in order to display the correct UI. | ||
|
||
If capability is not present the default is true. | ||
JonasKress marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Unstable prefix | ||
Implementations won't actually be able to use m.set_displayname, m.set_avatar_url or m.3pid_changes | ||
until the MSC has finished the Final Comment Period. | ||
|
||
While the MSC is in review, implementations can use an unstable prefix | ||
(e.g. im.vector.set_displayname) instead. | ||
JonasKress marked this conversation as resolved.
Show resolved
Hide resolved
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.