this post was submitted on 15 Jul 2023
19 points (95.2% liked)

Lemmy Plugins and Userscripts

2170 readers
1 users here now

A general repository for user scripts and plugins used to enhance the Lemmy browsing experience.

Post (or cross-post) your favorite Lemmy enhancements here!

General posting suggestions:

Thanks!

founded 1 year ago
MODERATORS
 

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.
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago

Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn't work well for people on different instances. Try fixing it like this: [email protected]