this post was submitted on 02 Mar 2024
1303 points (96.0% liked)
Open Source
31733 readers
217 users here now
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
They are exchanged between the two devices.
Have you tried using Signal on desktop? It doesn't offer history syncing. Cross device for whatsapp for example is also a terrible experience. Unusable for something like Discord.
For a seamless experience Discord would probably have to store the keys themselves, defeating the whole point.
That's because both Signal and WhatsApp don't store the message history anywhere except on your primary device. (plus personal backups) That's why WhatsApp desktop stops working if your phone is off. Because it works by getting your message history, from your phone.
So to get the message history on Signal/WhatsApp in a chat you just joined, someone else already there would have to send you the entire chat history from their primary device. Which might not be on. Or have the battery to spare to stream years of messages to random people coming and going from the chat.
For "a seamless experience" Discord only needs store the message history on their servers, just as they already do, but do so encrypted.
For you to see that history, all that needs to change with how invites work, in that they would come with a decryption key transferred in the same secure way normal messages are. So your client can then access that server-stored chat history and decrypt it.
The difference here isn't that WhatsApp and Signal are encrypted, it's that they fundamentally handle messages differently from discord. Their servers only deliver them. So you can't get the chat history from their servers, because it isn't there.
Yep, guess that'd do it.
You'd still have to handle transferring keys across your devices, every time you login on a new one.
Also, searching would probably not work, at least as well as it does right now, since all messages are indexed on the discord side, which they wouldn't be able to do without seeing them. Everything would have to happen on device, meaning the devide would have to store all messages.
Matrix does all of this. When you log in on a new device, you verify the login on an old device where you are already logged in (or provide the master key, set up when you created your account).
Some clients will indeed cache your entire chat history to provide search. And not all rooms are encrypted, you can disable it for rooms where it's unwarranted.
And as Signal/WhatsApp show, doing all this on device is quite doable. It's just a pain sometimes with the message history not also being stored on an always accessible server, and messaging relying on always going through that one, single, primary device.