matrix-org / matrix-org/matrix-spec

Clarify if MXIDs are case-sensitive

Open
#996 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clarification
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

**Link to problem area**: (the spec in general, or more specifically, the absence of explanation regarding this)

**Issue**
Related to matrix-org/matrix-spec-proposals#3794

In the spec, there’s no clarification how case-sensitivity interacts with identifying users.

Precedent is that, from implementations, there exist “canonical” casings for MXIDs, but that they’re coalesced in a case-insensitive way from lookups and other addressings.

Conduit has already effectively disabled case-sensitive signups, and converts users on signup to lowercase.

Synapse historically allowed case-sensitive usernames.

The main question here is; if I have a MXID `@Jo:matrix.org` and `@jo:matrix.org`, would these point to the same user, or is it possible these point to two different users?

(I understand the historical nature of this problem, but I think it’s useful to put this problem to bed once and for all by clarifying if MXIDs are case-sensitive or not.)

---

keywords; case insensitive, lowercase, case-sensitive

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Matrix specification and the related matrix-org/matrix-spec-proposals#3794 discussion, then review the issue's implementation precedents for case handling. Done means the specification explicitly resolves whether differently cased MXIDs identify the same user or can identify distinct users.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.