matrix-org / matrix-org/matrix-spec
Grammar and disambiguation of display names (SPEC-392)
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Both users and rooms can have display names. I **think** we can apply the same rules to both users and rooms, so I am covering both under this issue.
The emphasis here is on human-readability - they are not really meant for machine interpretation (modulo highlighting of mentions). Display names must therefore support the full gamut of unicode: non-bmp characters, zalgo, RTL scripts, etc.
However, things are complicated by the desire to disambiguate users. Currently, if we have two "Matthew"s in a room, we disambiguate them by also showing the user id. So the question is: how do we determine if we need to disambiguate users, and can we design the grammar of them to make this easier. For instance: do we allow empty displaynames, or those containing only whitespace? Do we allow names to start or end with whitespace, or contain sequences of whitespace characters? Do we mandate a certain sort of Unicode normalisation?
(Imported from https://matrix.org/jira/browse/SPEC-392)
(Reported by @richvdh)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Matrix specification's existing display-name and mention rules, then review the imported SPEC-392 discussion linked in the issue. Define the agreed grammar, whitespace and Unicode-normalisation requirements for user and room names, including how disambiguation should work, and document the resulting rules.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100