matrix-org / matrix-org/matrix-spec
Permalinks cannot be routed by room ID, and aliases are not permanent.
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Original bug: https://github.com/vector-im/riot-web/issues/2925
Room IDs have a server component for namespacing, but there's no guarantee that the server is still a participant in the room. This makes room IDs canonical for the room, but without a routing component they are impossible to resolve unless you're already part of the room. Aliases meanwhile do have routing through the included server name (leading to further queries about resident servers), but can change which room ID they point to easily.
We patched over the routability issues for room IDs by adding `?via=` parameters to permalinks, though this still has a chance to include servers which are no longer present when the link is clicked. Ideally, the room ID itself is routable to a resident server able to join the room.
There are no currently known solutions to this - MSCs are required.
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 linked original bug and the current permalink behavior described in this issue, including the existing `?via=` parameters. The issue says that a durable solution requires an MSC; done means defining and agreeing on a protocol-level solution for routing room IDs to a resident server.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100