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

I’ve made a number of improvements since the last time I was posting about my extension. The update is now available on both Firefox and Chrome web stores.

For questions / support: [email protected]

TLDR: See the respective download pages on Firefox & Chrome. The screenshots and features list are mostly self-explanatory.

Note on versions:

  • Firefox has a more recent 1.2.1 version, because my build script missed some files while uploading v1.2.0. It doesn’t look like Chrome had this issue.
  • I’m uploading v1.2.2 to both stores today, which will bring the two missing features to Chrome as well. After 1.2.2, all browsers should have the same features. See below for details.

So how is this different from other similar extensions?

You may have noticed the extension’s name changed to be more generic (and include Kbin 🥳). I’m trying to make this a more well-rounded extension, and that means I’ve incorporated some features from the other extensions, in my own way.

Lemmy Links, Kbin Links, and the other forks:

This is a great extension that replaces links on your page with versions that go to your home instance. However, in order for this to work, it needs to recursively check every element on your page whenever DOM content (the stuff the browser is reading) changes. This is somewhat resource intensive, and while testing I ran into lag and freezing issues. As such, I decided to not include this functionality in the same way.

Instead, I’ve added a right click context menu that does the same thing. This way the user can pick which links they want the extension to convert, and it’s a lot more efficient resource wise. While it’s an extra click, I felt this was a reasonable compromise. However, I’m open to feedback!

NOTE: The context menu is available on Firefox, and it will be available in Chrome in about a week, depending on when they approve my update.

Lemmy Home Instance Helper

This is another extension which checks if you are logged in to an instance, and it creates a button to the search page if you are not. As my extension creates a button on any foreign instance, the search page is only helpful when a community hasn’t been loaded into your home instance yet (ex. because you’re the first one to try accessing it).

To deal with this, my extension modifies the “Community not found” pages with more instructions, as well as buttons to trigger the fetch process or to open the community elsewhere. See this screenshot for an example. Again, open to feedback!


As always, I’d love to collaborate with other people while building this. I’m still cleaning up my code, but feel free to look at the GitHub. If this extension gets popular, I will definitely need help for translations and for things like getting the extension on Safari (I don’t have a recent Apple device to sign the extension with).


Note on permissions:

  • The current versions request “Access to all sites”. This is because the extension needs access to any page that contains “/c/”, “/m/”, or “/post/” in order to create the sidebar buttons. While the extension only looks for those pages, it will show up as “Access to all sites” when installing. Once I have a proper welcome message and settings page, I plan on making this permission optional so you can just use the popup menu if you would like.

Summary of Recent Changes:

  • Added support for Kbin
  • Fixed issue where button wouldn’t load when navigating to a community within Lemmy (available on Firefox, should be on Chrome in a week).
  • (NEW) Right-click context menu on Lemmy/Kbin community links to let you open them directly. You can test them out here: https://lemmy.ca/post/1282303 (available on Firefox, should be on Chrome in a week)
  • (NEW) Information and buttons added to “Community Not Found” error pages to let you fetch the community or open it elsewhere.
  • Updates to sidebar button to state the current selected instance and provide more detailed instructions as a dropdownList
  • Refactored the code to remove more unnecessary permissions.
  • Another pile of bugfixes, UI improvements, and better wording for instructions.

Future Plans:

  • This is complete and will be in v1.2.2. Bringing over the new changes to Google Chrome. Since chrome requires Manifest 3, I still need to iron out some issues with the service workers. The missing features are all related to the background processes that are running on the Firefox version
  • Pushing to other browsers: Microsoft Edge & Opera are still reviewing v1.2.0. Unfortunately, I don’t have any immediate plans for Safari, as I don’t have a device that can sign the extension. I am looking into getting help for that.
  • Setting up a proper Welcome page, Settings page, and Options menu to allow users to turn off features that they don’t like. This will also let me make “access to all sites” optional.
  • Finishing the translations’ setup so that people can contribute other languages to the extension.
  • Adding an option to save your own instances to the popup, for those that have multiple home instances.
    • Kichae@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      From a practical standpoint, sure, that’s a way of thinking about it.

      Strictly speaking, though, both Lemmy and kbin are different content aggregator/community forum engines that makr use of the same communication protocol, meaning they can read and properly interpret messages sent from each other. This means they’re both totally independent of each other, but also can host the exact same posts and comments, allowing people to basically treat them as the same thing.

  • Trapping5341@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    Love it since this has been a hang up for me in the past but how do you handle when someone is logged into multiple instances? I’m on mobile right now can’t download and check. Is there a way to select your home instance inside of the extension or does it know “know” which instance you are logged into?

    Before I even posted this I actually read the last sentence and realized you answered my question posting this anyway incase anyone else skims then goes for the comments and to help engagement 😂 great work looking forward to installing it.

    • CynberOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Yes pretty much 😄 you need to set it manually.

      Eventually I want to allow a user to set multiple, so if you’re signed in on multiple instances you can redirect accordingly.

      • Trapping5341@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        11 months ago

        Just installed. I can’t set lemdro.id as my home instance because it doesn’t match the proper formating. I even tried just copying directly from the address bar :(

        edit: I copied lemmy.world from the suggestions and deleted lemmy.world and put in lemdro.id and it worked. idk what I was doing wrong the first time.

        • CynberOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          Huh that’s odd, I’ll give it a try later. It might have been something to do with the ‘https://’ possibly?

          • Trapping5341@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            11 months ago

            I thought that was it but when I sopied it it has that. Idk what fixed it but after copying a suggested instance and applying that then switching to lemdro.id worked. 🤷‍♂️

            This was on Firefox by the way.

            • CynberOP
              link
              fedilink
              English
              arrow-up
              2
              ·
              11 months ago

              Cool ok I’ll experiment a little bit with a few other popular instances