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: !instance_assistant@lemmy.ca
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.
Containers has this weird problem where it's impossible to delete them once you FF sync them.... you will always get new copies of very old containers over and over again. It's a giant mess. So I got discouraged from using them. Every year or 2 I have another look to see if anyone has solved the problem without having to make a new FF sync account which I don't want to do. Maybe I will have another look at the state of things because I have been wishing to have this ability recently with the threadiverse. Just warning you: do not sync the containers! You will regret it.
Mobile is sort of easier because you can repeatedly "install" the PWAs and they seem to have separate sessions. It's not as slick as using one of the reddit clients that allowed changing identities on a per-comment basis but also not bad. I guess they are using some sort of containers implementation which is hidden from the user. If I would get around to jumping through the hoops to install addons on FF mobile, I wonder if your addon would work and if the configurations would also be uniquely stored in the PWA sessions. I've hardly used addon in mobile. If it did function that way, it'd be like >60% of the way to a kbin client. Which doesn't otherwise exist AFAIK, but I could have missed something. And a lemmy client of course.
If it was possible to direct a "share" in android to a specific PWA it might be a close enough to switching per-comment. You could share the location to the other PWA and pick it up from there. But that sounds like something that wouldn't be allowed. If it would even be theoretically possible. About which I have no idea.
What is Connect? I have KDE Connect and there is something called Mozilla Connect but I guess you are referring to something different.