this post was submitted on 22 Jul 2023
84 points (98.8% liked)

Lemmy

12572 readers
3 users here now

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

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

founded 4 years ago
MODERATORS
 

Due to the federated nature of Lemmy there's one small problem: if you link to a community (let's say https://lemmings.world/c/wwdits) the link takes people out of their instance.

On Lemmy it can be solved easily - use !wwdits@lemmings.world and the community opens on their own instance.

But the problem still exists outside Lemmy, let's say you write a blog post and link to some community - people who already use Lemmy will again be taken out of their instance.

And to solve this I created this project, available on https://lemmyverse.link and https://threadiverse.link (both are the exact same app).

Instead of https://lemmings.world/c/wwdits you link to https://lemmyverse.link/c/wwdits@lemmings.world and you're greeted with this:

A page letting you choose whether you want to continue to the link or set your home instance first

You can either continue directly if you don't care, or you can set your home instance and afterwards every link at https://lemmyverse.link will automatically be redirected to your preferred instance (with a small countdown allowing you to change your instance):

A page with a redirect to the target community

If enough people start linking using this service, it will greatly improve the experience for Lemmy users!

Let me know what you think!

Edit: Source code is here: https://github.com/RikudouSage/lemmyverse.link

you are viewing a single comment's thread
view the rest of the comments
[–] lightsecond@lemmy.world 8 points 1 year ago (3 children)

In my opinion this runs counter to the idea of federation; i wouldn’t use it.

You probably do intend to keep it running for ever, but if you can’t for whatever reason, all links created using this service become dead links. If this were client-side, maybe. But this needs a server to be running at lemmyverse.link and/or threadiverse.link. Imagine someone else gets hold of those domains. They can snoop every use.

I have multiple accounts and might want to choose based on what I’m researching. If it were on a client, it should be a widget, but this doesn’t allow me to switch that so easily.

I think the solution should be for all Lemmy clients to detect links when possible and open them up in-app and/or have browser plugins that can redirect requests on the user’s machine. These won’t cover all the cases that your service can, but i would still prefer that over all Lemmy links being resolved by a centralized service that can read your cookies.

[–] rikudou@lemmings.world 5 points 1 year ago (1 children)

In my opinion this runs counter to the idea of federation

Not really, this solves one problem that federation brings, it doesn't go with or against federation.

They can snoop every use.

There's not much snooping to do. Though it could be a problem with phishing. Anyway, if you want something that's guaranteed to run forever, tough luck. There are already instances down and instance domains lost, sounds like a much bigger issue.

I think the solution should be for all Lemmy clients to detect links when possible

This is specifically for use outside Lemmy as I mention right at the beginning.

centralized service that can read your cookies

That's not how cookies work. The service can only read its own cookies and it uses exactly two cookies: One that stores your preferred instance and one that flags you as not having a preferred instance. Also it's not centralized, you can deploy it on your own, there's even a guide on how to do it.

I feel like you haven't really read what I wrote, instead you made some assumptions and based your response on them.

[–] lightsecond@lemmy.world -3 points 1 year ago

lmao… after this response to criticism, I definitely don’t want to trust any “service” you create.

you can deploy it on your own

Anyone can host an open-source URL shortener for their own links. How many people do? If something like this ever takes off, it will have to be centralized due to the nature of the product. And that adds extra bottlenecks for the community.

There are already instances down. […] If you want something that’s guaranteed to run forever, tough luck.

Despite instances being down the fediverse is fine. The content that was created by users on these instances was already federated to other instances so we didn’t lose it. You can’t go back and change links the same way. You’re not federating. You’re handing out code for running individual centralised servers. That’s why I said that this is opposed to federation.

This is specifically for use outside Lemmy

You seem to have overlooked a really important insight about your own project. Who has preferred Lemmy instances? People who already have Lemmy accounts!! If someone doesn’t have a preference, this service is a useless extra hop.

Lemmy users can voluntarily install browser extensions to improve their own experience. Lemmy apps can claim domains so that at least common lemmy instances are recognised. This is true freedom and convenience without being beholden to a third-party website.

I feel like you implemented the first idea that came to your mind and now you are just defending the project instead of trying to see the bigger picture.

[–] min_fapper@iusearchlinux.fyi 3 points 1 year ago* (last edited 1 year ago)

There's a version I built a while ago that is static that I plan on keeping around for a while:

https://lemmy.guide

https://lemmy.guide/link?target=[!liftoff@lemmy.world](/c/liftoff@lemmy.world)

[–] irdc@derp.foo 1 points 1 year ago

In my opinion this runs counter to the idea of federation

The rest of the internet runs counter to the idea of federation, yet Lemmy must work with it.