-
Notifications
You must be signed in to change notification settings - Fork 413
MSC3015: Room state personal overrides #3015
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
Open
MurzNN
wants to merge
61
commits into
matrix-org:old_master
Choose a base branch
from
MurzNN:personal-room-names
base: old_master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 47 commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
e0e7133
Added proposial "Message Attachments"
MurzNN 96fef8b
Assign 2881 number to MSC and some typos
MurzNN 8065221
Added mentions of similar MSC
MurzNN 0de8e47
Direct mxc links and improved alternative
MurzNN 45c91fd
Improved description of 1'st alternative
MurzNN a226142
Added second implementation
MurzNN 616dcba
Added unstable prefixes, fixed typo
MurzNN 6b5ccbe
Added unstable to class to
MurzNN e343893
Moved fallback dispay to implementation 1
MurzNN d448559
Added example of media event to implentation 2
MurzNN c33ef1a
Move second implementation to main place
MurzNN ad7f2fa
Paraphrasing
MurzNN dd423aa
Described edits and improved description
MurzNN 76e0522
Added fallback description
MurzNN 9a7f694
Added edits composer description
MurzNN 910be82
Added link to extensible events suggestion
MurzNN abc7edf
Added alternative with attachments after message
MurzNN 108ffa7
Added redact action on remove media
MurzNN 2be176c
Fixed typo
MurzNN eea1ba0
Fix typo again
MurzNN 87bfff2
Added delete (redact action)
MurzNN ba19693
Added potential issue and hiding recommendation
MurzNN 6147bd6
Added link to MSC2278
MurzNN 6da8d3a
Fix typos and added link to MSC2675
MurzNN fa6f59b
Fix typo
MurzNN 2e8536e
Added proposal for replacement to #2530 / #2529
MurzNN 0eb7773
Added links to implementation examples
MurzNN 00ade35
Improved description
MurzNN 5df15b6
Description for implementation together with #2530
MurzNN a470fba
improve grammar
MurzNN 39c08c4
Move back first alternative as option two
MurzNN 12c0a3f
Fix typo
MurzNN 21f14c2
Described replacing fallback to rich representation
MurzNN cfb8f55
Name options as primary-secondary
MurzNN ffad669
Create MSC for Personal room names
MurzNN 6ff1393
Delete MSC from other branch
MurzNN f0e6037
Assign 3015 number to MSC and rename
MurzNN 25a6d58
Better description of examples.
MurzNN 381103a
Paraphrasing
MurzNN 979eb47
Type as m.room_name_personal and modify deletion
MurzNN 016d3f8
Update unstable prefix
MurzNN 41733af
Remove > Clear
MurzNN 359b003
Fix key and type of room account data
MurzNN 985f30e
Extended alternatives
MurzNN 50cfe4f
Links to Contacts feature
MurzNN 74a25c6
Supplemented examples
MurzNN 1bd1132
Paraphrasing
MurzNN e9d925b
Wrap long lines
MurzNN cc88c7e
grammar fix
MurzNN f859140
grammar fix
MurzNN 415a7f4
grammar fix
MurzNN 8c1fbce
grammar fix
MurzNN 34acaed
grammar fix
MurzNN 54795fc
grammar fix
MurzNN 649b5b4
grammar fix
MurzNN 42e5c7f
grammar fix
MurzNN 3cc130e
grammar fix
MurzNN a56f5aa
Rewording
MurzNN 9c94f4c
Rework to allow override also avatar and topic
MurzNN 5ba4368
Added idea for override profiles as rooms
MurzNN 74fa075
Added suggestion of room members overrides
MurzNN 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,59 @@ | ||
| # MSC3015: Room personal name | ||
|
|
||
| Very often users want to personally rename rooms to see it in list like they wants, especially for DM rooms. But room name is shared thing, so if they rename it for yourself, all other members will see this rename too. | ||
|
|
||
| Examples of problem: | ||
|
|
||
| 1. Very often other people want to rename DM rooms with me and can do this, because we both are admins. So he set the alternative name of that DM room (eg `Korepov Alexey` instead of `Alexey Murz Korepov`) - this works well on his side. But, as result on my side, I see that room in my rooms list with my name, instead of remote user name. | ||
|
|
||
| 2. The user have two DM rooms with different Matrix users, but both have name "Alice" without avatar. As result he see two identical rooms in list with same name and can understand which Alice is where only via reading recent messages. And he can solve this problem via renaming rooms, that give the result from item 1, descibed above. | ||
|
|
||
| 3. This problem often happens for rooms from bridged networks, when we talk with same person via different networks, and want to mark each room personally. This can be solved via adding suffixes with remote network name to room name on Bridge side, but people want to change other parts of room name too. For example, one person can have different names in each network (eg "Alexey Korepov" on VK, "Korepov Alexey" on Skype, "Alex" on WhatsApp, "Murz" on Telegram), and I want to see all rooms with him as similar names. | ||
|
|
||
| Most of other modern messengers (Telegram, Skype, Viber, WhatsApp) already have this feature, but only for DM rooms via reusing smartphone's addressbook to store personal names of contacts. And moving from that messengers to Matrix confuses the people, because they can't rename personal chats in his own list like before. | ||
|
|
||
| # Proposal | ||
|
|
||
| For solve this problem I propose to use [room's account_data](https://matrix.org/docs/spec/client_server/r0.6.0#put-matrix-client-r0-user-userid-rooms-roomid-account-data-type) item with key `m.room_name_personal` to store custom name of any room for each user individually, with filling personal name in content with `room_name_personal` type: | ||
|
|
||
| ```json | ||
| { | ||
| "room_name_personal": "Alice Liddell" | ||
| } | ||
| ``` | ||
|
|
||
| By default this item is absent. It is added only when user make the personal renaming of room, and cleared if user remove the personal name for room (or make it empty). | ||
|
|
||
| Regarding to spec, the account data's key can't be deleted, so if user wants to clean the personal name or "Reset to default", the value of the `m.room_name_personal` key should become empty (`{}`). | ||
|
|
||
| # Client support | ||
|
|
||
| ## Displaying: | ||
|
|
||
| When client displays the room in list, it should lookup the `m.room_name_personal` key, if it exists and have not empty value - use it's value for display name in room list instead of global room name. In room page header (over timeline) clients may show both names (global and personal) with explaining that this room have alternative personal name, that is seen only for current user. | ||
|
|
||
| ## Adding, removing, renaming: | ||
|
|
||
| Clients should provide the way to privately rename room and clearly explain the difference between global room name and personal name. | ||
|
|
||
| In room list this can be implemented via "Rename room personally" or "Set personal name for room" menu item in right-click menu. | ||
|
|
||
| In room settings page personal name can be implemented via button "Set personal name for this room", which will be available even if user have no permission to change the room name. If room personal name is filled, it should be shown near the global room name, with ability to remove it. | ||
|
|
||
| # Server support | ||
|
|
||
| This MSC does not need any changes on server side. | ||
|
|
||
| # Potential issues | ||
|
|
||
| 1. Users can set personal name for room identical as global name of room - this will give little negative effect: all further global room name changes will not change room name in client list. This can be solved via clearly describe the difference between global room name and personal name, and some warning that those names are identical with ability to remove personal name. | ||
|
|
||
| # Alternatives | ||
|
|
||
| 1. Instead of setting personal name for rooms via [room's account_data](https://matrix.org/docs/spec/client_server/r0.6.0#put-matrix-client-r0-user-userid-rooms-roomid-account-data-type) we can set personal names directly for Matrix users (mxid), like other messengers (Telegram, WhatsApp, etc) doing. This will give similar behavior for DM rooms, but will make impossible to set personal names of rooms with several users (or DM rooms with bots), and intersects with per-room display names feature. And this way will be better to implement together with "[Contacts](https://github.com/vector-im/roadmap/issues/10)" feature, which is planned in Element, also her is issue about this: [Contact List & Renaming Contacts](https://github.com/matrix-org/matrix-doc/issues/2936). | ||
|
|
||
| 2. This feature can be extended via storing personal avatar for room to, but, as I think, for multi-user rooms this is unnecessary, and for DM rooms will be better to implement personal avatars together with "Contacts" feature, mentioned above, instead of use the room's account data for this. | ||
|
|
||
| # Unstable prefix | ||
|
|
||
| Clients should use `org.matrix.msc3015.room_name_personal` for room account data key instead of proposed, while this MSC has not been included in a spec release. | ||
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.