I'm not saying that you need to understand every aspect of how something works to use it, but OMEMO provides forward secrecy - it is in the first paragraph of the wikipedia article. Delta Chat explicitly does not. Finding the right tool for your needs/expectations is important. We don't blame a hammer for failing to cut wood.
it's a super-shitty experience, both on XMPP and Matrix, and you touched only on one of the aspects. and that's not even the bad part. the bad part is nothing better is on the horizon.
so what you gotta do is put on your big boy pants, sit down and figure this shit out. here's where I made I misstep, let's figure out how to do redundant backups and seamless restore accross devices. etc.
because, this is it. there is nothing better coming, you gotta learn how to make do with the tech we have. offloading your shit to benevolent dictators and hoping everything will be fine is not a strategy,
Actually, I've tried DeltaChat, and it does seem to do everything right. It still needs some features, but it's advancing fast and it's already pretty usable, and device sync is amazing.
In terms of Matrix, yeah it's not the best experience right now, but I guess it can still be fixable. XMPP has just too much technical debt and fragmentation, it seems.
I run all three of those (delta on hosted IMAP servers, matrix synapse, prosody for XMPP) for various clients and each has its own issues that need work. with deltachat there is no fallback if the project stops or gets taken over or whatever. with XMPP at least you have options, this client, that client, etc. as well as decades long development. based on that, some free advice (worth what you paid for it) - don't give up on XMPP just yet. good luck.
You can decrypt old messages on Matrix, in some cases.
OMEMO by design does not allow old messages to be decrypted by a new device. However, anything going forward should sync between all XMPP clients that implement proper XEPs. The server also has to support the XEPs. But if you're using OMEMO, then you should also already have the other XEPs required for proper messaging experience. Specifically, the XEP for syncing messages across clients is Message Carbons.
Matrix is able to decrypt past messages on new devices, but that's because it stores your keys (encrypted) on the server and does a bunch of funky key fetching and passing between sessions to allow message decryption from new verified sessions. OMEMO does not have this function.
That is very sad. I'll be migrating out of XMPP. It's intolerable that one cannot recover messages that are still there; or that even moving from one client to another implies you lose all of your history.
unknowing8343@discuss.tchncs.de it also seems that Conversations now has the ability to preserve message history when moving devices. Of course this is different than moving between clients, but it's a step in the right direction.
@unknowing8343@discuss.tchncs.de in this case, it was designed explicitly as a security feature. It's not uncommon for end-to-end encrypted services to have this limitation. Signal has it, for example. Only way you can keep your message history with Signal is to migrate it directly from installation to installation, and it doesn't sync old messages when setting up the desktop client.
Signal has recently added the message sync option when linking a new desktop client.
@noodlejetski@lemm.ee Did not know that. Must be very recent.
Pretty sure that has been a feature for at least 2 years. It seems like a reasonable compromise.
leetnewb@beehaw.org said in Is there a way I can make my XMPP (Conversations) messages synced to my desktop?:
Well, the blog post for it is from January 2025. https://signal.org/blog/a-synchronized-start-for-linked-devices/
So I guess it has not been around too long! But it's interesting they've added it. Sounds like it works similarly to the existing message transfer, but with the addition of multiple encryption keys (similar to how Matrix does it).
they've added it earlier this year.
Aside from that, it makes sense that it took Signal a while to get the sync feature because Signal ONLY stores messages locally. XMPP stores them on the server. I would expect to be able to access that information from anywhere. What's the point of doing so anyway? Let me at least import the keys so I can unlock those messages. But it seems like you can't.
@unknowing8343 @projectmoon
You can try Signal. It's private, popular, and feels modern too 🤩
I do use Signal. Everyone should have Signal for telephone contacts. But for the other stuff... I'd rather use a decentralized system.
This is a security feature. Other communication mechanisms having the keys somewhere else not owned by you is rather something I wouldn't stand. And to me it's unsafe that messages would be kept way long on the servers.
On xmpp the sync happens from server to all syncing clients, and the proper XEPs need to supported in both the client and the server.
Then losing all your project's history, while also forcing you to stick to a single, unofficial (because there is no official) XMPP client for the rest of your life because there are no standardized multiplatform backups. I'm sorry but no.
You may call it a feature. I call it a huge fat bug.
This is a problem a lot of secure/private projects have tbh, they get so into the details that it's just a miserable user experience.
But, you should be fine if you have a backup of Conversations, at least on Conversations itself.
Free and Open Source Software
If it's free and open source and it's also software, it can be discussed here. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.