Allow + in Matrix IDs. (#1583)

This commit is contained in:
Patrick Cloke 2023-07-04 09:40:43 -04:00 committed by GitHub
parent e9acece3ec
commit 6521411547
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View file

@ -0,0 +1 @@
Allow `+` in Matrix IDs, per [MSC4009](https://github.com/matrix-org/matrix-spec-proposals/pull/4009).

View file

@ -540,6 +540,8 @@ be represented with a `domain` component under some conditions - see the
#### User Identifiers #### User Identifiers
{{% changed-in v="1.8" %}}
Users within Matrix are uniquely identified by their Matrix user ID. The Users within Matrix are uniquely identified by their Matrix user ID. The
user ID is namespaced to the homeserver which allocated the account and user ID is namespaced to the homeserver which allocated the account and
has the form: has the form:
@ -548,7 +550,7 @@ has the form:
The `localpart` of a user ID is an opaque identifier for that user. It The `localpart` of a user ID is an opaque identifier for that user. It
MUST NOT be empty, and MUST contain only the characters `a-z`, `0-9`, MUST NOT be empty, and MUST contain only the characters `a-z`, `0-9`,
`.`, `_`, `=`, `-`, and `/`. `.`, `_`, `=`, `-`, `/`, and `+`.
The `domain` of a user ID is the [server name](#server-name) of the The `domain` of a user ID is the [server name](#server-name) of the
homeserver which allocated the account. homeserver which allocated the account.
@ -562,7 +564,7 @@ The complete grammar for a legal user ID is:
user_id_localpart = 1*user_id_char user_id_localpart = 1*user_id_char
user_id_char = DIGIT user_id_char = DIGIT
/ %x61-7A ; a-z / %x61-7A ; a-z
/ "-" / "." / "=" / "_" / "/" / "-" / "." / "=" / "_" / "/" / "+"
{{% boxes/rationale %}} {{% boxes/rationale %}}
A number of factors were considered when defining the allowable A number of factors were considered when defining the allowable