hey this is a neat thing!! Thanks for sharing!
Lemmy Plugins and Userscripts
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:
- Preface the submission with the type of enhancement - ex: [UserScript].
- Include a screenshot of the enhancement in use (where possible)
- Indicate the requirements for use (eg, greasemonkey, stylus, etc.)
Thanks!
pawb.social is refederated again, so all goes back to normal for now :) pay no mind to this comment and enjoy your stay.
::: spoiler original comment
~~Important~~
~~pawb.social, the instance OP is from, was sadly defederated from sh.itjust.works. This means they cannot edit this post or respond to your comments.~~
~~This is the link where it is currently being maintained: https://pawb.social/post/43513~~
~~## Author's message on his Greasyfork extension:~~
~~(In this case, SJW means shit.just.works)~~
~~Strange times we live in. My instance (pawb.social) has defederated from sh.itjust.works due to their open signup/spambot/trolling problem. This means I can’t actually manage the OP post about this userscript I made, and the link to this page is still alive and prominent for SJW users. It’s unfortunate, but I understand the rationale. I think it will just be temporary until SJW moderates their instance better. This userscript has actually been replaced by a userstyle version, which does the same thing in a cleaner way.~~
~~The version of my post that contains the updated userstyle and instructions is located here: https://pawb.social/post/43513~~
~~This is the same exact post that you probably came from, but the difference is it's hosted on pawb.social, and therefore I can edit it. My edits on pawb.social do not get pushed to SJW since we are defederated. It's sort of like being shadowbanned. In the meantime though, this 'shadowbanned' post still works as a homepage, as long as it's linked to directly on pawb.social!~~
~~Apologies for the inconvenience, we're exploring lemmy's quirks together!~~
Thank you for posting this! As luck would have it, we literally just re-federated to SJW after a discussion: https://pawb.social/post/69478
Here's hoping that defederation remains a nuclear option, because this was a bit of a confusing experience.
Edit: Also (if we were still defederated) I actually can reply to comments from other instance's users on this post (I did so here while we were defederated). SJW users will not see my comments, but they will get distributed properly to members of other instances. I wouldn't be able to reply to SJW posts if we were still defederated though.
ah, nice to know! :) Thanks, and I'm super glad to have you back. I've actually been using your script (version 1.3) as a basis for another plugin I'm making. I'm not sure it'll see the light of day but it's fun, and it's my first attempt at a firefox extension.
Very cool! I'm not a web developer by trade so don't take anything I wrote as good design, but the mutation observer + disconnect/reconnect paradigm seems like a good way to generically interact with lemmy. I tried to monitor for normal DOM/etc events and couldn't find any that happened when lemmy moved stuff around, so this is the only way I could find.
:) ChatGPT had actually given me the observer syntax, I used it for the first plugin on the community 😎😎 ChatGPT made most of it too hahah. It's simple enough.
I am actually a professional web developer. But that doesn't mean I'm amazing at it, though I do know a few... practices, not sure if I should call them "best practices" or even "good design" hahahah, I just do what it takes.
I switched the whole thing to typescript though which tends to produce better results for complex things. Typechecking at compile time saves a shitton of debugging time. For the rest of things like the addon folder structure, dependencies and anything else, I just ask ChatGPT. It is now my universal encyclopedia! 🥸 (encyclopedia, assistant, codemonkey, proofreader, second brain for when mine turns off and also my new source of type errors cuz its common sense is sometimes nonexistent)
Strongly typed languages are definitely my jam. Develop slightly slower, debug 2x less, faster runtime. What's not to like. Kudos for actually being a web developer - it makes my head hurt. Case in point: me writing all this complicated JS when the problem was cleanly solvable with attribute selectors in CSS. I'm technically fullstack but I mostly stay backend and application-level if I can help it. Web dev has too many options for how to accomplish something, and I never know what the proper answer is. I'm interested to see what general paradigm people will use to interact with lemmy - I feel there has to be a more efficient way than mutation observer. Lemmy's HTML markup could stand to be more verbose as well - extra classes to hook onto for more precise manipulation.
This is pretty neat. I personally modified it to display the Finnish flag emoji as my home instance is for the most part meant for Finns :)
Script's been removed from Greasyfork.
SO. Strange times we live in. I believe how this works is that everyone except sh.itjust.works users will see this reply I'm writing. My instance (pawb.social) has defederated from sh.itjust.works due to their open signup/spambot/trolling problem. This means I can't actually manage the OP post I made anymore. It's unfortunate, but I understand the rationale. I think it will just be temporary until SJW moderates their instance better.
I only recently realized this defederation happened, so I had thought that deleting the userscript wasn't a problem because the userstyle now supersedes it with full parity. Interestingly enough, I had actually been updating the post the whole time, but defederation means no one can see those updates. They do still live in our pawb.social copy though, so by visiting this post you can actually see a version of this page with the newest updates. I'll also put the userscript back up with a redirection note in the meantime.
TL;DR: Script now lives here!: https://pawb.social/post/43513
posted a small explanation. TL;DR: pawb.social (author's instance) was defederated. They are now maintaining the script at a pawb.social post.