this post was submitted on 15 Apr 2024
48 points (88.7% liked)

Lemmy

12518 readers
43 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to [email protected].

founded 4 years ago
MODERATORS
 

https://discuss.tchncs.de/comment/9436237

@[email protected]
(replaced with my own user profile, as I'm not trying to fill other users' inboxes for no real reason)(also, this somehow worked right when making this post, but not the original comment)
[@[email protected]](/u/MachineFab812)
https://discuss.tchncs.de/comment/9293054 https://lemmy.dbzer0.com/comment/9620373 https://jlai.lu/comment/6487794

While we're at it, am I missing at instance-agnostic method for linking posts as well?

top 27 comments
sorted by: hot top controversial new old
[–] [email protected] 24 points 6 months ago* (last edited 6 months ago) (1 children)

No, I'm pretty sure that's a quirk of how the fediverse works. Posts, comments, etc are in two places:

  • the instance the community is hosted on
  • your instance (i.e. unique to users of your instance)

You'll want the first (the permalink) for general posting, and the second for your own use. However, lemmy doesn't handle the first very well, so both options kinda suck.

I honestly don't think there's a good solution to this. We can make improvements though, such as lemmy figuring out that a link is a lemmy link, either through special syntax (like @user@instance or !community@instance) or checking a list of known instances, but the real problem is that users need to be aware of instances, and that's poor UX imo.

I'm working on an alternative to lemmy that solves this (and has a bunch of other drawbacks that I hope are acceptable), but I hope it's not necessary and someone more clever than me can solve it.

[–] [email protected] 7 points 6 months ago* (last edited 6 months ago) (4 children)

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/[email protected]/post/18177167
Would be THE instance-agnostic link for that post, and
/c/[email protected]/comment/9620373
THE instance-agnostic link for that comment.

Don'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 one the difficulty of implimentation versus all the "legacy-numbered" content already out there.

[–] [email protected] 8 points 6 months ago* (last edited 6 months ago)

Yeah, that would work within lemmy, and it would make it easier to detect whether a link is to lemmy or something else (look for /c/@/). But you'll still have the issue of clicking a link elsewhere (say, a blog post) to an instance that's not yours, so you still wouldn't be able to directly comment w/o copy/pasting part of the URL to your instance.

That said, that change alone would reduce a lot of friction for users. My point is that it still doesn't fix the root of the problem. I guess we could use a browser extension to auto-redirect to your instance of choice, but that's just yet another barrier for users.

[–] [email protected] 4 points 6 months ago (1 children)

but set them to pull such numbers in for each post/comment mirrored from another instance.

I think the asynchronous way lemmy handles creating a comment/post and then sending it would make this difficult.

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

An entirely acceptable answer to both my original question and my suggestion, although I had already attempted to address that. Every instance generating their own, seemingly non-random*, numbers for every post and comment was a big reason my mind skipped to "insanity" for my title - can we say "does not, SHOULD not, scale" any louder? Thanks again.

*

spoilerLooking at the comment links in the OP cross-referenced with entries on lemmyverse.net, discuss.tchncs.de and lemmy.dbzer0.com have similar user numbers, both an order of magnitude larger(as large? anyways...) than jlai.lu ... the reason jlai.lu's comment numbers has got so high, about one-half instead of one-tenth as the user numbers might suggest, probably boils down to those users being subscribed to a large number of communities, but still not so many as the users of the other two servers. Run that up against the fact that there are fewer communities than users, anywhere, et viola!

That concludes this episode of my conjectural bullshit. Thanks for watching.

[–] [email protected] 3 points 6 months ago

It'd also be nice to have the community name in a link to a post or comment, just for general use.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago) (1 children)

This would still leave the problem of people not being able to just copy paste the url from an address bar. Re-learning how to link stuff is something some wont ever figure out. The relative linking of communities was a stopgap, and they break on kbin for obvious reasons.

Relative links aren't an ideal solution anyway, as different clients handle things differently. A relative link that works in the default webUI, wont in photon, and vice versa (though photon already figures out links way better than the vanilla webUI does).

Not to mention that you'd still want to have absolute links work, too. Both within any client, and when opening links shared outside lemmy, and have them work in a way where you can interact from whatever account you have. By that point you may as well just figure out absolute links for everywhere.

[–] [email protected] 0 points 6 months ago* (last edited 6 months ago) (1 children)

Why would they copy-past from the address bar when every post and comment already has a button that copies the url to their clipboard for them?

Also, nothing I've suggested breaks absolute links. Hell, I've even been pointing out that I would like existing links to keep working, both absolute and relative.

[–] [email protected] 5 points 6 months ago (1 children)

Because they are used to that? Because that's what the share button does in any browser?

I don't understand why you are so combative.

[–] [email protected] 0 points 6 months ago (1 children)

You unaware there have been share buttons on posts/comments on most websites for years and years now? You already have to follow some sort of permalink button to get to a url that lets you share anything more specific than a top-level post, and that was the case in forums dating back to the ninetees.

You're invoking a use-case that never was so narrow, nor mainstream as you've claimed. If people were actually so used to copying and pasting urls from the address bar, google and others would not be holding onto market dominance after all the things they have done to make the address bar in their browsers a pain to use.

Last, its not combative to address your comment point-for-point. I have not demeaned you or your logic, just called out where it was partial and incomplete.

[–] [email protected] 5 points 6 months ago (1 children)

In what way is my point invalid then? I think you are being combative, because you used the idea that people don't copy urls directly, as if that meant there was a way to get relative ones working well. There isn't.

People will use absolute links, so they should work. If they can be made to work, why do we need relative ones to solve the problem of links not opening locally?

Sure, when you use the various share buttons all over, you can get different more specific share options.

But when have they ever netted a relative link, much less done so when SHARING?

[–] [email protected] 0 points 6 months ago (1 children)

Generally, you're right, except that Lemmy is a new use-case. Its like if facebook made you login again because you follwed a facebook.com link from within facebook, all because the user who created the link is in a different time-zone. What's not to understand about how broken that would be?

An user following an absolute link that doesn't re-direct them back to their own instance is likely not going to be able to interact with the content there. As things stand, we then have to search up the content we want to interact with on our own instance.

Within the context of a Lemmy user following a link from a comment, at least, the relative link is more useful. For a non-user reading such commente the desired behavior would be to open such links absolutely, pointed to the post's orinating instance, the commentor's originating instance, or the instance which is actually serving them that content in the moment, but hey, that's the behavior we ALL get already, and no-one is proposing breaking it for non-users.

Fact is, Lemmy is already capable of serving up a different parsed url for logged-in users and non-users, the webUI just hasn't implimented the feature yet, and so here we are.

[–] [email protected] 0 points 6 months ago* (last edited 6 months ago) (1 children)

Its like if facebook made you login again because you follwed a facebook.com link from within facebook, all because the user who created the link is in a different time-zone. What's not to understand about how broken that would be?

Not what I'm proposing

An user following an absolute link that doesn't re-direct them back to their own instance is likely not going to be able to interact with the content there.

Again. Not what I'm proposing.

Within the context of a Lemmy user following a link from a comment, at least, the relative link is more useful.

Only when viewed on one specific client, on one specific fediverse platform.

Fact is, Lemmy is already capable of serving up a different parsed url for logged-in users and non-users, the webUI just hasn't implemented the feature yet, and so here we are.

This is what I'm proposing. Except being logged in isn't even a requirement for the webUI to open all links it can open locally, locally.

And looking into it, I'd much rather have a system for "mentioning" posts or comments in the same "object@instance" format that we already use to link communities and users, as proposed here. Such a system would have no need for client specific relative url paths, and would boil down the mention to the object ID and the instance where it can be found, allowing any client or even other fediverse platform to easily parse it into something that can be used.

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago)

What you're proposing? I'm talking about the state of the issue on Lemmy, as mentioned in the post. As for your last paragraph, that's exactly what I want, and more or less what I've proposed. Sounds like you're invoking UUIDs as an even better solution, something I already acknowleged when @[email protected] brought it up.

[–] [email protected] 14 points 6 months ago (1 children)
[–] [email protected] 4 points 6 months ago

Much appreciated.

[–] [email protected] 5 points 6 months ago* (last edited 6 months ago) (1 children)

Instances can themselves handle links agnostically, and clients are able to access that via the API.

Using the autocomplete in the webUI can mess things up, as it is from back when community mentions weren't even turned clickable. The link is then an explicit markdown link to the user, and may not be correctly clickable in whatever client others are using, but may instead open an off-instance page in a new tab/browser app.

Even if you link to a post using its local url and ID, a client can, and some already do, open that link in-client from your instance. But this is something that still needs to become more widely implemented.

The "manual" way to open off-instance links locally is to enter their full source url into search on your instance, which should give you their local version as the sole result.

User mentions do not need to be links, same as communities. Just write @[email protected] and nearly all clients will correctly make it clickable, and Lemmy will also detect and notify the user about the mention.

[–] [email protected] 1 points 6 months ago (1 children)

I don't use any client besides the web-ui. There is no reason for the webui to not impiment obvious features found in multiple client apps, but yes, you've hit the nail on the head as to a desirable version of this behavior.

[–] [email protected] 2 points 6 months ago (1 children)

There is one big reason: it requires time and effort.

The vanilla web-UI is inferior to other clients in a variety of ways, and any feature requires that someone somewhere get it done.

You could make an endless list of things that are "no-brainer" features for someone to add, but the development still requires that someone somewhere go down that list, one item at a time.

For example, Lemmy only recently got the ability to show the real number of subscribers that communities have, instead of showing the number of subs from the instance you were looking at that community from. That's nice, but each update can only come with a subset of the endless number of obvious improvements that could be made.

No client currently does everything that the Lemmy server can technically be made to do with the currently implemented API calls. But the solution to agnostic links already exists. Any instance, when handed the url to a post or comment, no matter what instance it is for, is able to turn that into the corresponding local url/ID, the work to make use of that to make all links work everywhere simply hasn't been put in yet.

Not that long ago just mentioning communities and users was a pain, but that's mostly solved now. Posts and comments will be too. Eventually.

[–] [email protected] 0 points 6 months ago* (last edited 6 months ago) (2 children)

You literally dismiss the necessity for any effort in your first paragraph and claim extentions/apps are somehow preferable, then in your last two paragraphs call out that the function is already present on the servers and the servers more feature-complete than the apps.

Pick a narrative. Letting the apps represent the more useful/enjoyable experience is a big reason the eventual API rugpull on reddit was such a shit-show. If your lesson-learned was "more app, more gooder"/"everyone should constantly reinvent the wheel in pursuit of fun and profit, so long as no one asks anything of the original devs", you haven't been paying attention.

When devs can no longer be bothered to impliment obvious features, its time to fork, not present a new compatability layer that you control as the solution. Its both a shitty user-experience, and an almost impossible path to fun and profit for any dev who has no control over the original code. Then you get dozens of others having to reinvent the wheel every time the original dev DOES impliment anything that breaks compatability with their apps, all in pursuit of dimes they will likely never see.

I, and most users, are here to participate in discussions, not promote the LateStageCapitalism rate-race for the next disposable-and-planned-obselecence-baked-in-to-its-very-nature digital widget.

[–] [email protected] 4 points 6 months ago* (last edited 6 months ago) (1 children)

Lemmy doesn't have the development resources to Thanos snap itself into a feature-complete state overnight.

Forking would make that worse.

I can smell the entitlement of "when devs can't be bothered to do the obvious" straight through my screen. We simply do not get to sit here and come up with things that are "so obvious they should be done already". That's not how reality works. The wheel didn't exist until it was invented, and then built by someone.

I'm only explaining that the solution exists and is currently held by back by the fact that development isn't done by materializing code into existence with an infinity gauntlet!

The fact that some client devs implement new API features before the vanilla webUI does (which btw is a separate thing from the lemmy server, and itself merely one client for it, albeit the default) isn't unusual, or indicative of some massive fundamental problem in how the project is run.

[–] [email protected] -1 points 6 months ago (1 children)

Read up. I stated I would be refraining from speaking to the difficulty of implimentation as I do not have my laptop with me.

I've written apps/extentions for personal use. I would rather contribute to an existing code-base like Lemmy, but I acknowleged the fact I am in little position to do so, for the next two weeks in fact.

Entitlement, really? How is your passing the buck to extention/app devs different from my requesting a feature be implimented in the single location where it will stay fixed, saving time and effort for the devs, including for app and extention devs, going forward?

Where is your suggested solution that could be implimented, beyond suggesting that apps and extentions have this solved for their users, and we should leave it at that?

I've bought multiple such apps, and found the webUI preferable, so I'mma throw my future suggestions, requests, and yes, financial contributions, as well as any code I write if that turns out to be necessary on my part, at the single project that is already doing so many other things I've come to enjoy.

"What.", you say.

[–] [email protected] 3 points 6 months ago* (last edited 6 months ago) (1 children)

....

Again. What?

I'm not passing the buck anywhere, I'm saying the lemmy server can do this but the default lemmy webUI doesn't make use of it. At least not yet.

The problem isn't being solved by the clients and apps. It's solved by lemmy.

Some clients have just made use of it sooner than others, and the vanilla webUI is one of the ones that hasn't yet. But the feature itself IS IN LEMMY ITSELF.

[–] [email protected] 0 points 6 months ago

GOOD. Thanks for repeating what I thought I read you say the first time, only explicitly.

[–] [email protected] 1 points 6 months ago
[–] [email protected] 3 points 6 months ago (1 children)

One potential downside to this on the posts/comment front is that if the thread in question is not in a community your instance is federated with, any form of local redirect would yield just an empty post with no comments. Lenny’s current federation is primarily push driven, so when requesting a post from an unknown community will yield no historical comments, as your instance have never subscribed to the community and thus never received the push notifications. Whereas getting sent to the original instance, you’d be able to see the full interaction history and have a better picture of the intended discussion.

[–] [email protected] 2 points 6 months ago

I don't care about getting sent to the original instance per se. Getting sent to a landing page on the local instance that says "Hey, we aren't federated with that instance, and/or no one on our instance has subscribed to that community. Here's an externalized(http/url) link to the content you've attempted to access, with no guarantee it will work.

Understand that you may have to make an account with that instance or an instance federated with them if you wish to actually interact with this content."