Curious if anyone is working on the codebase for Lemmy. I’m sure we all see a few places where it could use some love.
The main repos are:
Personally, I’ve been working on a few small things for docs.
PS: Here’s a pretty easy ticket to jump on if you want to get started :) https://github.com/LemmyNet/lemmy-ui/issues/1214
There is also a dev chat in their Matrix space: https://matrix.to/#/#lemmy-space:matrix.org
I created a proposal with UI design changes. Feel free to post a comment with your feedback: https://github.com/LemmyNet/lemmy-ui/issues/1183
More things would need to be changed to make the app more readable, but I didn’t want to propose too many changes at once. So this is just for the main page with default theme.
That’s pretty nice! I think that the theme could def use a little love. I think the devs said at one point that they want to make it so any bootstrap theme could be imported but for now it’s just the two themes.
Are you a designer?
Thanks! I’m a front-end developer :)
Maybe you could make your changes as a userscript first and let people play around with it? I’d def test it out :)
Fun fact: there used to be many more lemmy themes that were pretty cool but they got ripped out as too hard to maintain a while ago.
That sounds interesting! I wanted to be able to use it myself in case devs weren’t interested in changing the UI. Can you tell me how it works and how to do that?
You add a browser extension that lets you write code that runs on any page you want. This video should be a decent explainer: https://www.youtube.com/watch?v=6DmQ_V9ZRlk
Instructions unclear, I wrote a Firefox addon instead :D https://addons.mozilla.org/firefox/addon/lemmy-modern-ui-theme
But you should be able to take the script and easily turn it into a userscript: https://github.com/pkrasicki/lemmy-modern-ui-theme-addon
It works with both light and dark theme, but sometimes the detection fails for me and applies wrong styles. I hope those hacks will last for some time though so that we could have a modern UI. I would change more stuff, but some things are not possible.
Very impressive, I dig it :)
That sounds interesting! I wanted to be able to use it myself in case devs weren’t interested in changing the UI. Can you tell me how it works and how to do that?
I added a mark as read button to the posts but now patiently waiting till the WebSockets -> REST API transition is complete so it can get merged.
The front end needs a lot of work… Every bit is appreciated and the maintainers are pretty fast at reviewing and providing feedback which is nice to see.
For anyone who isn’t a developer: contributing is not just code.
Monetary donations help developers to continue their work, supporting them in their journey much as the brave Samwise supported Frodo. They ensure the continuity of the project, allow developers to dedicate more of their time to it, and help them acquire resources they may need.
Yet not all of us are blessed with the wealth of the Lonely Mountain, and that is entirely acceptable. For in the land of FOSS, gold and silver are not the only treasures that matter. The donation of your time and skills can be as valuable as a chest full of gold.
When you come across a bug, it can be reported, much as Pippin reported his sighting of the Nazgul to Gandalf. Yet remember, respect is key, as it was in all communications among the Fellowship. A bug report, properly done, is a gift to the community, a contribution to the common good. But it should be given with care, with thoroughness, and with the respect due to a fellow traveler on this digital road.
Finally, consider the hobbits who remained in the Shire, who, though they did not journey far, spread tales of courage and bravery, keeping spirits high and ensuring the story was known. If you love a piece of FOSS, speak of it, share it, let others know. In the vast, interconnected realm of the Internet, word-of-mouth travels faster than Shadowfax.
Every contribution, every bit of help, is more than welcome. It is cherished. It is celebrated. For in the realm of FOSS, as in Middle Earth, we are all on this journey together.
Naturally, if you are gifted with the skills of a dwarf smith, able to delve into the deep code and fix bugs or add features, your contribution will be celebrated like Gimli’s axes in the Battle of Helm’s Deep. A good pull request is a bard’s song that echoes across the halls of digital Middle Earth, a melody that can inspire others and boost morale.
Indeed! Writing documentation is also extremely helpful; it’s like Bilbo penning Middle Earth’s lore, guiding users through the software’s labyrinth. Your efforts, whether clarifying existing documents or spreading knowledge, light our collective journey like the Elves’ light of Eärendil. Each addition or improvement is celebrated; it’s our shared saga.
If you’re willing, you can just checkout the site here and make suggestions of what you see could be improved :)
site: https://join-lemmy.org/docs/en/index.html
code of site: https://github.com/LemmyNet/lemmy-docs
I changed some stuff on the Lemmy-Ansible documentation for clarity, but I’m garbage at coding anything useful. Getting my head around rust or typescript is a real challenge from square zero.
I’m interested, but I don’t know Rust and haven’t done frontend work in years. Might be able to do some work around scalability and contribute to a Kubernetes deployment guide (and/or Helm chart).
I honestly had a blast learning Rust. Haven’t gotten a chance to do much with the language but it definitely shifted the way I think about coding in general.
I thought about writing a few userscripts to fix some minor things I was dealing with… However, I really should checkout the source for lemmy-ui first. Maybe I could help out there.
As for the backend… it’s Rust all the way down right?
userscripts are great for proof of concept to show off and let people test it. However, can userscripts work across so many domains that lemmy instances are on? Maybe a list of domains has to be maintained in the userscript?
Any particular things you thought you might fix with userscripts?
Good points there.
Maybe this has some issues I hadnt thought about yet. I was thinking, in comments, certain Lemmy links should be rewritten so you load them on your own instance and can actually interact.
Like if a link is ‘!communty@external.tld’, rewrite it to ‘usersinstance.tld/c/community@external.tld’ However, I guess if a community hasn’t been discovered by that instance yet it would 404.
Obviously I haven’t looked at the source or even activity pub spec so just thinking blindly.
I’ll try to contribute to the backend! I’ve always found it daunting, because often the issues are taken up.
Are you a rust dev? The backend is all rust and I think there are many pretty easy open issues to checkout.
One thing (not sure if there is an issue right now) that is a problem on the backend is that it doesn’t send a response if you put the wrong username+password so the frontend just stays loading forever. However, maybe this will be fixed automatically when they stop using websocks (soon)
I’ve mostly done low level work with it at school but I’ve been wanting to learn web dev with it :) Might pick up one of the easy issues!
This might be a easy first issue to try: https://github.com/LemmyNet/lemmy/issues/707
Probably not really coding but would get you familiar with how the system works :)
My wife and I are living full time in a campervan as we travel. I have a couple pi4’s, mainly for low-power-consuption reasons. One pi4 is dedicated to Home Assistant, and another one runs our nas.
The Home Assistant pi also runs Grafana, Postgres/TimescaleDB, MQTT broker, and a few other HA addons
Right now, our nas is just a single ssd attached via USB, but that’s more than enough right now for the essentials. Eventually the nas will run mergerFS and rclone and automatically back up our data (encrypted) to multiple cloud providers but it’s just a starting point
I have a third pi4 running misc software and is kinda my scratch pad, the main thing it does right now is talk to our solar controllers and renogy batteries thru rs485/modbus-rtu using some custom software I wrote in typescript and then publishes that data on the mqtt bus, aggregates it, and then advertises it correctly to get it into Home Assistant and from HA, into grafana
Oh, and I also have a Linksys E8450 running openWRT as our router / ax-wap
Hey friend, I think you fell victim to that bug where you start replying and Lemmy directs you to another topic for some reason!
so I’m not crazy!!! Thanks, I noticed it independently but swore I had commented on the right thing, thanks for pointing it out!
It’s a bug, it’s happened to me 1-2 times. Not sure the cause.
I’ve seen this happening elsewhere. All growing pains.
That said, I am curious as to the thread you were responding. Sounds interesting. =)
here you go! https://lemmy.world/comment/107261
It’s a we-need-to-fill-the-content-void discussion thread on !selfhosted@lemmy.world
i decided to contribute my scribe about my rolling-wifi-machine haha
Cheers!
Your comment tweaks my interest as an outdoor person and an engineer. =)
I tried and it was absolute hell. I used mail-in-a-box and the setup seemed to work but there was a bunch of issues with serving and syncing the e mails. none of the guides helped and in the end i thought if i were to get it working i wouldnt trust it very much. Can’t be sure it’ll be reliable or if it’s gonna be blacklisted because some weird E-Mail thing isnt set fully correctly.
So it’s probably possible but I don’t think it’s worth the hassle
I ran my own server for many years. There was a learning curve to all the fiddly bits (Postfix Configuration, SPF, DKIM, DMARC, SpamAssassin) required to get the world to see your server as worthy. There’s also the problem of finding a “clean” IP that’s not been blacklisted by some spam database. And even then, once in a while you end up in a database for who knows what reason. These things often made the email less useful as sometimes I’d end up in people’s spam folder.
It was a good experience as I learned a lot. But it was also a constant headache. One I felt I didn’t want to keep “learning” that particular thing I just moved to ProtonMail and haven’t looked back.