how exactly would you propose that instance-agnostic links like this work? How should it behave, and how would you overcome the centralization, privacy, security, etc. concerns that it raises?
Because I can see a lot of different answers here and each have some unique challenges. But I agree, it is annoying to work around.
Sure, UUIDs are a useful tool. What of it? If I put a UUID in a comment, it isn't a link. This doesn't answer my question or solve the problem. The link has to go somewhere on the web, or use a custom protocol specifier and be handled by a client application or something installed on the user's machine. If you go the client app route, many/maybe even most people use lemmy in a browser at least some of the time, and this will never get the full adoption required to make it standard. If you go the web link route, then you have concerns like "who owns the domain/service that does the redirecting" (ie matrix.to), can they be trusted, how can they automatically tell which instance to send users to without privacy concerns?
If you're proposing overhauling the whole architecture of lemmy to use consistent UUID-based IDs for comments, posts, etc. across all instances, that could probably work but there are some edge cases especially with malicious actors, and it would be a huge undertaking.
A better idea, IMO, is to let client apps/frontends handle the translation, so that regardless of what instance the comment is linked on, it is translated to the correct local link for local users (unless the instances aren't federated), since there's already the fedilink button to then see the post on the original user's instance, but there are probably edge cases and performance issues I'm not thinking of/privy to, and its still a non-trivial fix, which is why it hasn't happened yet. I'm sure the devs would welcome such a change if a PR were submitted with the kinks worked out, but it isn't on their current priorities list afaik
If you’re proposing overhauling the whole architecture of lemmy to use consistent UUID-based IDs for comments, posts, etc. across all instances, that could probably work but there are some edge cases especially with malicious actors, and it would be a huge undertaking.
That was what I was suggesting yeah, version 3-5 look like it could work, you could use the originating server as the name-space, and a local server generated ID for the name. As long as they only use information sent elsewhere the hashes should be reproducible, so you can check that a server is only using it's own name to send new comments/posts, which should protect against the obvious attacks.
The more I think about it I'm not sure you would even need to use an official UUID system actually, just make something like <originating server>-<id from origin server> as the unique ID?
I agree it would be a big change to make though, especially dealing with all the existing posts.
Why should I have to download an app to impliment an obvious feature that should just work in the web-UI? Lemmy is still in active developement, and there is no good reason to treat it like an immutable legacy code-base that should require external scripts and hacks in order to present and interact with properly.
My original version/thought?
If the comments/posts were just numbered relative to their communities instead of generated by each instance, there wouldn't have to be this disconnect at all. /c/piracy@lemmy.dbzer0.com/post/18177167
Would be THE instance-agnostic link for that post, and /c/piracy@lemmy.dbzer0.com/comment/9620373
THE instance-agnostic link for that comment.
We're already using the LINK button on whichever post/comment to copy this stuff to our clipboards, so its not like there should be some massive concern over making people type too much. Url-shortening is also an option, but half the shortenned url's I deal with any more are dead links - the page/original url isn't gone, but the shortened version has been expired.
We wouldn't even have to redo how the instances generate content numbers for posts/comments generated locally, but set them to pull such numbers in for each post/comment mirrored from another instance. Not even slightly hard to come up with, though I don't have my laptop with me so I'll refrain from speaking on the difficulty of implimentation versus all the "legacy-numbered" content already out there.
... seems like it would be easier to impliment without breaking most existing links versus UUIDs, BUT UUIDs are more of a standard, and either method would probably be best implimented with a server-side(or page-embedded and executed client-side) method for translating legacy links to the new version.
Anyhow, other users have provided context on where discussions are taking place on how to improve the issues you brought up. It's not a static legacy codebase, but nor do ideas spring to life without dev effort.
Am OP. Presented one solution and lauded another. Meanwhile, you've poo-poo-ed both of those and suggested only an app or extention will do, while highlighting that the existing apps both already have the problem solved and aren't necessarilly feature-complete versus the severs.
Your inability to pick a narrative or achnowlege the statements of others reeks of insincerity, and now you're claiming I am not contributing to this thread I've started. Get lost.
Nope. I highlighted the app only because it's an existing, working solution that an individual can use today. It is not a great solution for obvious reasons. I for one only browse via lemmy-ui, so that app does precisely nothing for me. My intention wasn't to poo-poo possible solutions, but to push back on your entitled framing implying that it was such an easy problem that it must have been an intentional omission to leave it out. Other users had no problem conversing with me in good faith and not being so hostile. I agree it's an issue, and so do the Lemmy devs, it just hasn't been solved yet.
I don't care about your contribution to the thread, I mean you aren't contributing to Lemmy, the codebase, and so my patience for such a level of hostility and complaining is low.
You assume I'm not contributing ... based on what? I addressed participation in this thread first as that's the most convenient for me to substantiate. I've bought many of the clients, before trying them and finding I preferred the webUI, but I went into this more in my conversation here with @MentalEdge@sopuli.xyz ... Regardless, I've stuck to the topic, except for where called out for "hostility", "entitlement", or "not contributing". You went there first, and seem to have benefitted from the fact that my reply ended up on the wrong one of your (dismissive and condescending from the start)comments.
I don't need your patience. This is not your post. Should have left you blocked, but blocking you obscured @RobotToaster@mander.xyz 's far more valid, one word, contribution to the topic at hand.
You assume I'm not contributing ... based on what?
Based on the fact I haven't seen your handle contribute to the github, which I follow relatively closely. Not to mention from your question's phrasing, and lack of research beforehand, I could have surmised as much. A contributor probably would have been able to find the relevant discussion on the github and read it rather than just badmouthing the software in a post.
I agree, RobotToaster thought through their reply and came with ideas that might actually work, at least in their second comment, not just complaining "why isn't this already the way I want it??"
Thing is, I know enough to come in here and ask "why not UUIDs?", but instead I asked, yes, not far from the way you said it, but "why is it this way? Am I the crazy one here?" (the implication of "I think this is crazy and no one else does", as sanity is generally defined by society or group concensus)
Funny story, I'm not crazy in this respect, this time, and the fix is already in the lower-level codebase even though the webUI hasn't yet implimented it, or so I'm told, something that was more-or-less apparent from seeing it working basically the same across multiple clients.
It's a little hard to contribute code from inside a moving(LOUDLY) steel box miles away from civilization, and I would have done some more research were I in a place to do so(contribute code, I mean, you know, best practices and all), but the idea that I would use this handle on github for non-machining related code is laughable, although you are correct on the specific criteria that I have contributed no code there whatsoever. I am well aware that I am more valuable here(not there, for now) as a shit-stirrer with a wallet, and see no reason to come at others with bUt dO YoU CoDe!?