MSC4132: deprecate linking to events in rooms identified by alias (#1823)

pull/1844/head
Matthew Hodgson 6 months ago committed by GitHub
parent 7ff785fc38
commit e15a36b0a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1 @@
Deprecate linking to events in rooms identified by alias, as per [MSC4132](https://github.com/matrix-org/matrix-spec-proposals/pull/4132).

@ -745,7 +745,7 @@ Specifically, the following mappings are used:
* `r` for room aliases. * `r` for room aliases.
* `u` for users. * `u` for users.
* `roomid` for room IDs (note the distinction from room aliases). * `roomid` for room IDs (note the distinction from room aliases).
* `e` for events, when after a room reference (`r` or `roomid`). * `e` for events, when after a room ID (`roomid`). Use of `e` after a room alias (`r`) is deprecated.
{{% boxes/note %}} {{% boxes/note %}}
During development of this URI format, types of `user`, `room`, and `event` During development of this URI format, types of `user`, `room`, and `event`
@ -755,6 +755,13 @@ wish to consider handling them as `u`, `r`, and `e` respectively.
`roomid` was otherwise unchanged. `roomid` was otherwise unchanged.
{{% /boxes/note %}} {{% /boxes/note %}}
{{% boxes/note %}}
{{< changed-in v="1.11" >}}
Referencing event IDs within a room identified by room alias (`r`) rather than room ID
(`roomid`) is now deprecated. We are not aware of these ever having been used in
practice, and are nonsensical given room aliases are mutable.
{{% /boxes/note %}}
The `id without sigil` is simply the identifier for the entity without the defined The `id without sigil` is simply the identifier for the entity without the defined
sigil. For example, `!room:example.org` becomes `room:example.org` (`!` is the sigil sigil. For example, `!room:example.org` becomes `room:example.org` (`!` is the sigil
for room IDs). The sigils are described under the for room IDs). The sigils are described under the
@ -799,7 +806,6 @@ Examples of common URIs are:
<!-- Author's note: These examples should be consistent with the matrix.to counterparts. --> <!-- Author's note: These examples should be consistent with the matrix.to counterparts. -->
* Link to `#somewhere:example.org`: `matrix:r/somewhere:example.org` * Link to `#somewhere:example.org`: `matrix:r/somewhere:example.org`
* Link to `!somewhere:example.org`: `matrix:roomid/somewhere:example.org?via=elsewhere.ca` * Link to `!somewhere:example.org`: `matrix:roomid/somewhere:example.org?via=elsewhere.ca`
* Link to `$event` in `#somewhere:example.org`: `matrix:r/somewhere:example.org/e/event`
* Link to `$event` in `!somewhere:example.org`: `matrix:roomid/somewhere:example.org/e/event?via=elsewhere.ca` * Link to `$event` in `!somewhere:example.org`: `matrix:roomid/somewhere:example.org/e/event?via=elsewhere.ca`
* Link to chat with `@alice:example.org`: `matrix:u/alice:example.org?action=chat` * Link to chat with `@alice:example.org`: `matrix:u/alice:example.org?action=chat`
@ -809,9 +815,9 @@ A suggested client implementation algorithm is available in the
#### matrix.to navigation #### matrix.to navigation
{{% boxes/note %}} {{% boxes/note %}}
This namespacing existed prior to a `matrix:` scheme. This is **not** matrix.to is a Namespace URI which existed prior to a `matrix:` URI scheme.
meant to be interpreted as an available web service - see below for more This is **not** meant to be interpreted as an available web service - see
details. below for more details.
{{% /boxes/note %}} {{% /boxes/note %}}
A matrix.to URI has the following format, based upon the specification A matrix.to URI has the following format, based upon the specification
@ -843,10 +849,16 @@ Examples of matrix.to URIs are:
<!-- Author's note: These examples should be consistent with the matrix scheme counterparts. --> <!-- Author's note: These examples should be consistent with the matrix scheme counterparts. -->
* Link to `#somewhere:example.org`: `https://matrix.to/#/%23somewhere%3Aexample.org` * Link to `#somewhere:example.org`: `https://matrix.to/#/%23somewhere%3Aexample.org`
* Link to `!somewhere:example.org`: `https://matrix.to/#/!somewhere%3Aexample.org?via=elsewhere.ca` * Link to `!somewhere:example.org`: `https://matrix.to/#/!somewhere%3Aexample.org?via=elsewhere.ca`
* Link to `$event` in `#somewhere:example.org`: `https://matrix.to/#/%23somewhere:example.org/%24event%3Aexample.org`
* Link to `$event` in `!somewhere:example.org`: `https://matrix.to/#/!somewhere%3Aexample.org/%24event%3Aexample.org?via=elsewhere.ca` * Link to `$event` in `!somewhere:example.org`: `https://matrix.to/#/!somewhere%3Aexample.org/%24event%3Aexample.org?via=elsewhere.ca`
* Link to `@alice:example.org`: `https://matrix.to/#/%40alice%3Aexample.org` * Link to `@alice:example.org`: `https://matrix.to/#/%40alice%3Aexample.org`
{{% boxes/note %}}
{{< changed-in v="1.11" >}}
Referencing event IDs within a room identified by room alias rather than room ID
is now deprecated. We are not aware of these ever having been used in
practice, and are nonsensical given room aliases are mutable.
{{% /boxes/note %}}
{{% boxes/note %}} {{% boxes/note %}}
Historically, clients have not produced URIs which are fully encoded. Historically, clients have not produced URIs which are fully encoded.
Clients should try to interpret these cases to the best of their Clients should try to interpret these cases to the best of their

Loading…
Cancel
Save