cross-posted from: https://lemmy.ca/post/778315

Introducing the Lemmy Instance Assistant (browser extension)


Hey everyone :)

I started using Lemmy during the blackout, and I was finding it annoying to subscribe to new communities that I came across. I wanted to be able to quickly open a link on my home instance instead of copy/pasting the code, searching for it, and then subscribing. I looked around for an extension and didn’t see any * , so I started working on my first browser extension!

Firefox version is live, the Chrome version is still going through the review/approval stage. I’m working on getting it on other browsers as well.

https://addons.mozilla.org/addon/lemmy-instance-assistant

This extension will let you set your home instance (https://lemmy.ca for me), and then it will insert a button onto community pages on other Lemmy instances (see screenshots on extension page). I tried to mimic the existing design for the button, and I included some popular instances so you can quickly copy and paste when selecting your home instance.

Give it a try and let me know what you think!

Why doesn’t it redirect automatically?

Initially I tried to make it redirect, similar to ‘Old Reddit Redirect’. This is still possible, but it might be a little dangerous to have it set up that way. Since there is no way to predict what URL a Lemmy site will have, we can’t restrict the extension to specific domains. This means that the extension MAY run on other sites, depending on how it is detecting the Lemmy site. A button popping up is less harmful than being redirected unexpectedly.

Future plans:

GitHub link: https://github.com/cynber/lemmy-instance-assistant

  • As mentioned above, we can’t specify which domains the extension should run on since that’s not something we can predict. I’d like to improve the specificity of which pages the button will appear on, to minimize unexpected behaviour. As this is my first extension, I’d appreciate help with this while I learn it myself!
  • Right now the button does not appear if you are already viewing a community in a different instance, even if that is not YOUR instance (ex. You are looking at lemmy.world/c/[email protected], while your home instance is lemmy.ca). This limitation comes from the method I used to distinguish between the community page and your home instance page. I’m planning to change it to use the URL itself instead of card elements.
  • It would be nice to be able to jump to a specific post. Currently, it appears that Lemmy post URLs do not include a slug for the community/instance, making it challenging to implement something like this. I plan on exploring this some more (relevant thread: https://github.com/LemmyNet/lemmy/issues/875)
  • I want to add a button next to other Lemmy links in the post body / comments. However, I’m still trying to figure out the best way to do this and which links it should appear next to.

Other thoughts:

Some of the third party Reddit tools that I used the most were the browser extensions. Reddit Enhancement Suite made it a LOT easier to start using Reddit, and other extensions like Old Reddit Redirect (the inspiration for my extension) fixed other annoyances. While there are a lot of areas where Lemmy can improve, I think it makes more sense to implement certain enhancements through browser extensions and separate tools. That is to say, I’m happy to let this be pushed into Lemmy’s code, but right now I feel like it makes more sense as a separate extension.

(*) Also when I started building my extension, I didn’t see any similar ones listed. A few other ones have now popped up, and it looks like a lot of them were forked from this project. So if you don’t like mine, there are others that you can try :) Similarly, I’m happy to collaborate if you want to help / integrate my extension into a bigger project!

  • Vilian
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    So if you don’t like mine, there are others that you can try :)

    even the lemmy extensions are federated 😎, btw cool project, it’s because people like you that lemmy gonna keep growing

    • CynberOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      It’s just federation all the way down

      Also thank you!

  • Adda@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    I love the extension mascot. Oh, and a great extension, too.

    • CynberOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Thanks :)

      As soon as I saw that icon, I knew that was the one

  • yjk
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Great work, but honestly this should just be a feature in lemmy itself (detect third party cookie from home community and auto-redirect). I think there are a few open issues on the topic.

    • CynberOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I’ll have to look into those!

      It would also be nice to allow for multiple home instances, or just integrate it into an account switcher / manager. That way the user is free to redirect any links to where they want to.