• LufyCZ@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    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.

    • MentalEdge@sopuli.xyz
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      edit-2
      10 months ago

      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.

      • LufyCZ@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        10 months ago

        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.

        • MentalEdge@sopuli.xyz
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          10 months ago

          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.