Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Permalinks: ! ids are unroutable, and # aliases are not permanent. Please solve. #2925

Closed
ghost opened this issue Jan 12, 2017 · 8 comments · Fixed by matrix-org/matrix-react-sdk#2250
Labels
P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect T-Task Tasks for the team like planning

Comments

@ghost
Copy link

ghost commented Jan 12, 2017

Neither option is satisfactory. Please come up with a solution for this, e.g. by making ! ids routable.

@ara4n
Copy link
Member

ara4n commented Feb 19, 2017

another workaround could be to put the routable server name in the permalink as a separate field - e.g. https://matrix.to/#/!cURbafjkfsMDVwdRDQ:matrix.org/$1487464117757368aDcvx:matrix.org?hs=matrix.org or something.

I agree this sucks. The current implementation assumes your local HS knows about the room already.

Alternatively, making the server routable in the room ID might be preferable - we should already be able to get enough uniqueness in the !prefix if we try hard enough (e.g. by including origin server there....)

@ara4n ara4n added T-Defect T-Task Tasks for the team like planning S-Major Severely degrades major functionality or product features, with no satisfactory workaround P2 labels Feb 19, 2017
@ghost
Copy link
Author

ghost commented Feb 22, 2017

Also consider switching to # aliases until a better solution can be achieved. Room ! IDs are definitely unroutable now, whereas individual # aliases might become unreachable in the future.

@jcgruenhage
Copy link

Is there something that prevents a server from just trying known servers? I mean if one of your contacts has sent you a link, then your server knows their server, and they probably are in that room. Synapse won't know which server you got the link from (unless it looked in the db but this would only work in unencrypted rooms), but it could just try all of them, maybe sorted by some combination of latest communication/amount of common rooms/etc.

The only thing I can come up with that makes this kind of bad, is that you would leak to other servers that some user on your server want's to access a room with that ID. To avoid leaking the room ID, synapse could just salt and hash it.

@richvdh
Copy link
Member

richvdh commented May 2, 2017

relates to matrix-org/matrix-spec-proposals#904

@unclechu
Copy link

@ghost
Copy link
Author

ghost commented Sep 5, 2018

FYI, this also breaks the "Rejoin" button for people with a personal homeserver, as Riot tries to rejoin the room via its room ID. #7094

@turt2live
Copy link
Member

The stop gap for this has been merged: matrix-org/matrix-react-sdk#2250

Leaving this open for "we can do better".

@ara4n
Copy link
Member

ara4n commented Jul 14, 2021

these days we have via= params almost everywhere, which combined with a room id gives a permenant link.

@ara4n ara4n closed this as completed Jul 14, 2021
kmohrf pushed a commit to grouprise/grouprise that referenced this issue Dec 9, 2021
…iases

Previously room IDs were used as part of the Element URL returned to the
requester.  But these room IDs only work, if the user has already joined
the room.  All other users receive a confusing message:
 https://github.com/vector-im/element-web/issues/11526

Instead of using Matrix room IDs, we are supposed to use public room
names ("aliases").  The former are implementation details, which we
should not use in public:
 element-hq/element-web#2925

Now we try to determine the public name of a room when returning the
redirect URL.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect T-Task Tasks for the team like planning
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants