It’s a new project that I’ve been working on locally. My code backups are handled locally (this is /c/selfhosted right?) so I’ve not had a reason to commit anything to GitHub until I was ready to let other people have a crack at it.
My Github account is 14 years old and has previous projects on it with 40+ stars. I have been actively replying as much as I can in this thread and the project is entirely open source, feel free to review the code and let me know if you find anything suspicious in there.
Thanks for sharing, that’s an interesting read. I hadn’t come across this when I was looking (to be fair, it might be been posted after I looked, I’ve been mostly on stack overflow for a month).
I’m in agreement with many of the author’s points (I’ve ticked all of their requirements except markdown support and the only stretch requirement I don’t meet is being able to scale up to thousands of users - but I never wanted to do that anyway).
I am really torn on “everything needs to be federated” though. I feel like credential fatigue/ease of joining a server is largely solved with SSO/SAML or magic links with guest access. I want to love federation, I really do… But my own lived in experience with matrix has soured me on it. It was a pain to maintain and the eventual tipping point was one of my “trusted” federated services (Arch btw) flooding me with CSAM.
I think there are many discord users that use it for voice/text/screen share with a core group and don’t really care about all the extra stuff or having these huge servers filled with people they’ll never interact with. It’s just the only realistic option right now to chat with their friends. Those are the people I’m hoping to attract. I’m not saying what I’m offering is a perfect solution but what I am offering is that core functionality without the gradual enshittification and constant slurping of your data.
I’m with you, I love Matrix as a concept but the experience of actually running it was a major headache for me.
I’d love to contribute to those projects but anyone that’s read through my repo for this will see I’m not that good. It took me a long ass time to figure out end to end encryption and those projects are built on it. 😅
I also feel like they fit a different niche, at least matrix does, I’m not too familiar with XMPP. I’ve said in other replies, I’m not looking to make something that’s infinitely scalable or federates with other services, just a relatively simple chat app that someone can have running for their group of gamer friends. If it can do text/voice/screen share with minimal setup/fuss/external dependencies then I’m a happy boy. I kinda had this idea in my head that I’d like to get it to the point where you can upload a tar.gz to cheapo web hosting, untar, follow the setup wizard and have comms ready to go without having to mess around in config files and what not.
This will probably be the first update I release. I’ve pre emptively built the front end in Quasar and there’s even some bits of commented out code in there from where I started looking at storing authentication data per server. The plan as I see it, and I think this makes sense, is to have the web app based front-end be for people that want to run their own contained instance of both the API and front-end but then also have a Quasar desktop based app that has server switching built in. This then allows the server owner to just run the API if they want and let the user worry about how they connect.
It hasn’t been a priority for me at the moment because I’m literally the only person running a server. 😅
Now that it’s out in the wild, my next focus will be on the multi server side of things and making the text channels a bit more functional than just plaintext.
So the group channels and audio/voice aren’t but DMs are. It uses asymmetric signing and per conversation keys. These can be imported/exported so you can see your conversations across devices but by default the keys are never transmitted.
Unless there’s an issue with my code I’m missing?
Defending my work in a public setting is not being unable to emotionally handle criticism. Framing it that way is disingenuous but I think you know that and just want to push your anti AI agenda.
Sorry, you can call me emotionally unstable all you want but if you think generating the template for the GitHub readme (not even the install instructions or anything, just the template) and some favicons invalidates hundreds of hours of work then it’s you that needs to do some reflection.