Hi. I have a group of 6 people using Discord to chat. Recently Discord changed a lot and we're looking for an alternative. We have a few requirements:
Good client on multiple platforms
Easy to use search
Self hosted
Permanently saved chat history & attachments on server (no expiration)
Easy image upload (Ctrl+V to post image from clipboard)
IRC isn't an option as chat history is saved on the client, and there's no good integrated way to share files and preview images. Matrix would be an overkill as we're a small group not interested in federation, and the available clients had a few bugs. Mattermost lacks a good mobile app (their current one had bunch of bugs). XMPP appears to be the best as it is extensible and has many clients available.
However, I tried configuring prosody on my FreeBSD server and it seems like it doesn't permanently save chat history or attachment files. Does anyone know if these can be solved? Or is there any better alternative than XMPP?
I maintained an ejabberd server for myself and a few friends for many years. The config language was a little arcane to me at first, but it was pretty solid after I got it set up. I used a couple of different client apps with it over that time, most of which are still available on the F-droid repo. It was fun, but got annoying when the server needed maintenance, or was down, or because of any of the other minor nuisances that come along with maintaining a service for others to use.
Eventually we all ended up just moving over to Signal because it was just as good from the view of cost-benefit and risk for us. We're just trading stupid memes and Saturday night stories among ourselves. The most radical thing we might organize is a trip to Vegas for the week.
Definitely try it out, but consider that being a comms provider for others is always a bigger chore than it seems at the outset.
I also had an ejabberd running for my family. Configured all the XEPs that take it into the current century. Had Conversations as a client for Android and Monal on iOS. No problems at all - apart from Monal being a bit wonky at times. But I assume these bugs are all fixed by now.
Also, Conversations is THE XMPP client. The guy behind it is involved in lots of XMPP stuff. And Monal tries to be the same for the iOS world.
But similarly, we all switched to Telegram over time as that's where my parent's friends are, too.
The most annoying thing about Signal is that they don't for some reason allow registering from desktop directly, so I had to use signal-cli. Which is inconvenient AF and it's a shame they haven't added a feature as simple as "input an SMS code in the desktop client".
Anyway, glad I only have to use it for a couple of guys and only with my real identity. So happy XMPP exists, and I have most of my 1-to-1 messaging with internet friends there. Very easy to host.
I hear you. The desktop wasn't Signal's primary market, and that's pretty clear in their implementation. On the other hand, that difficulty registering a desktop servuce may make it less attractive to would-be bot farms and spammers. Its a thin one, but I see that as a silver lining.
Not just bot-farms and spammers, but just a regular person. What is Signal's main feature? Encryption. You would not want to expose your sensitive chats to a smartphone, unless it has a privacy-respecting OS (which not all phones can do). Good thing I only have to use it with a couple of guys who don't want to use other encrypted communication methods.
Did you ever get carbons working properly? (As in, mobile and desktop clients of the same user both getting messages and marking as read remotely between them)
that is not carbons though, carbons is working properly. Apparently they talked about this issue in the latest XMPP group meetup so something may be in the works.
wow, that is so cool. A few weeka ago I talked about this with a server owner and he consulted a prodigy developer and told him what I said above. Amazing they got round to it so quickly. Thanks for the details.
Getting messages synced between modern clients works reliable since a long time.
Marking them as read on the other hand is not a feature of message carbons and there were different sometimes contradicting ways how that was implemented (it is a surprisingly complex topic).
That said, just a few weeks ago there has been a renewed effort to standartise message read synchronization and it looks like the major clients are on board this time, so I hope that will get much better soon.