Skip to content
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

We need a better way of disambiguating users with the same display name than mxids. (SPEC-221) #97

Open
matrixbot opened this issue Sep 7, 2015 · 10 comments
Labels
A-Client-Server Issues affecting the CS API feature Suggestion for a significant extension which needs considerable consideration p2

Comments

@matrixbot
Copy link
Member

Right now we disambiguate via MXID on the client. This isn't great, as MXIDs are ugly and not supposed to be shown to normal end-users in glossy apps. It also increases clientside complexity in performing the disambiguation.

We can't reliably disambiguate via 3PIDs, as users may not want their 3PIDs to be leaked to the wider room.

Perhaps we can just disambiguate with some kind of custom suffix in the displayname as calculated by the server (e.g. an emoji, or matrix-org/matrix-spec-proposals#1/#2/#3). Or perhaps we can use the whole idea of groups to disambiguate (e.g. Matthew from the Matrix Core Team group, v. Matthew from Debian Core Team group) or whatever. Or even just list the homeserver friendly name that the user has come from?

TBD.

(Imported from https://matrix.org/jira/browse/SPEC-221)

(Reported by @ara4n)

@matrixbot
Copy link
Member Author

Jira watchers: @ara4n @richvdh

@matrixbot
Copy link
Member Author

matrixbot commented Sep 7, 2015

Links exported from Jira:

relates to SPEC-1
relates to SYAND-136
relates to SYIOS-149
relates to SPEC-185
relates to https://github.com/matrix-org/matrix-doc/issues/669

@matrixbot
Copy link
Member Author

Actually, it probably doesn't even need to be consistent. As long as the client can distinguish between the different users (and have a way of digging deeper to see which one is 'real'), then the fact they then autocomplete their names using the ambiguous display name isn't necessarily a problem.

For instance, the client could just disambiguate based on colour, or appending an emoji, or whatever (and then ignore the disambiguating random suffix when autocompleting).

-- @ara4n

@matrixbot
Copy link
Member Author

Just make sure suffix/emoji/etc appended such way users can't set it as part of their nick themself. (for example - on different background color).

-- Alien A

@matrixbot
Copy link
Member Author

I've heard it stated as a desirable feature that the disambiguation be reasonably consistent across clients. Certainly I can see that if my web client and my android client have "Matthew (1)" and "Matthew (2)" in different orders, there's a potential source for confusion. It would be even worse if all the Matthews got renumbered at the drop of a hat - because then history wouldn't even be consistent within a given client.

Disambiguating using numeric suffixes doesn't seem particularly satisfactory.

-- @richvdh

@matrixbot
Copy link
Member Author

matrixbot commented Nov 5, 2015

Furthermore: what constitutes "the same display name"? "richvdh" vs "Richvdh" vs "rïchvdh" vs "richvdh" (cyrillic c, except not really because Jira)? We probably want to be restricting display names to one language (as per SPEC-1 / matrix-org/matrix-spec-proposals#3) to avoid homograph attacks.

-- @richvdh

@matrixbot
Copy link
Member Author

I agree that numberic suffixes aren't great, but strongly disagree with the idea to restrict display names language.

-- Alien A

@matrixbot
Copy link
Member Author

[~alien]: can you be more specific with your objections? For avoidance of doubt: my suggestion is that any one display name should contain only characters from one script.

-- @richvdh

@matrixbot
Copy link
Member Author

If you do it, matrix will be more restrictive in nicknames than any other IM/chat platforms, including xmpp and even some irc networks. People won't love it. I won't love it either. Display name is a form of self-expression and should be free as much as possible. Homograph attacks (but they'll have different mxid anyway?) should be prevented by other means (some hash-to-picture indicator for example).

-- Alien A

@matrixbot
Copy link
Member Author

matrixbot commented Nov 5, 2015

I'm coming around to the view that preventing mixed-script displaynames doesn't solve anything anyway, because (for example) you can still duplicate some Latin names in Cyrillic. It's probably worse to prevent clashes 99% of the time - thus making people think that clashes don't happen - than it is to prevent them 90% of the time.

Anyway, this is more a topic for SPEC-1. This bug is about what we do when we've found a clash.

-- @richvdh

@matrixbot matrixbot added the p2 label Oct 28, 2016
@matrixbot matrixbot changed the title We need a better way of disambiguating users with the same display name than mxids. We need a better way of disambiguating users with the same display name than mxids. (SPEC-221) Oct 31, 2016
@matrixbot matrixbot added the spec-bug Something which is in the spec, but is wrong label Nov 7, 2016
@richvdh richvdh added feature Suggestion for a significant extension which needs considerable consideration and removed spec-bug Something which is in the spec, but is wrong labels Oct 13, 2017
@turt2live turt2live added the A-Client-Server Issues affecting the CS API label Feb 6, 2019
@richvdh richvdh transferred this issue from matrix-org/matrix-spec-proposals Mar 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Client-Server Issues affecting the CS API feature Suggestion for a significant extension which needs considerable consideration p2
Projects
None yet
Development

No branches or pull requests

3 participants