… and I can’t even continue the chat from my phone.

  • VeganCheesecake@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    For the most part, I don’t care about App Size. Storage is cheap. What I miss with the Signal Desktop App is the option to save everything in an encrypted container.

    • kostas@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      Wouldn’t having full disk encryption achieve most of the benefits of that? In case of someone having access to your unlocked machine what is stopping them from launching the app and looking though it?

      • VeganCheesecake@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        0
        ·
        17 days ago

        Yes, full disk encryption helps against intruders with device access, but not against the files being indexed by other application. My phone is encrypted, but I still use a signal client that is encrypted again.

        • Natanael@slrpnk.net
          link
          fedilink
          English
          arrow-up
          0
          ·
          17 days ago

          Am encrypted container doesn’t help if the directory is mounted and accessible or if the key is in plaintext. Also doesn’t help if the process isn’t isolated. You need a bunch of extra measures like using the OS keystore set to only allow the correct program to retrieve the key, keeping secrets only in process memory, etc.

          Tldr it’s a lot of work to do it right. If you do it the simple way like throwing it all in SQLite with encryption active you still leak metadata.

          • VeganCheesecake@lemmy.blahaj.zone
            link
            fedilink
            English
            arrow-up
            0
            ·
            17 days ago

            I have never worked on a properly hardened desktop app, so I don’t have much of a perspective on that, and can definitely see that it might not be worthwhile for the signal team.

            I would appreciate some level of encryption, thinking that it might help with less targeted attacks. I’d also appreciate a Web client, like Threema’s with none permanent sessions. But all that’s, as you’d say in German, “Meckern auf hohem Niveau”, especially since I’m not currently contributing to Signal.

        • kostas@lemm.ee
          link
          fedilink
          English
          arrow-up
          0
          ·
          17 days ago

          Hm, but wouldn’t such an application be malicious by default? Having protection against attackers on your device seems of out scope for a messaging application, at that point I would consider something like Tails. Though this may be a rare case when moving to an appimage could help matters.

          • VeganCheesecake@lemmy.blahaj.zone
            link
            fedilink
            English
            arrow-up
            0
            ·
            17 days ago

            Yes and no. I personally would like to be asked permission for such behaviour, but a gallery application, for example, could have legitimate reasons to index all photos on your system. I personally prefer to manually set the folders it is supposed to index, but that doesn’t seem to be a generally accepted paradigm.

            In general, I see why you need to trust that a system your app runs on is uncompromised to a a certain degree, but measures to potentially limit harm in case it is still seem sensible, especially for an app with a focus on privacy and security.

            • kostas@lemm.ee
              link
              fedilink
              English
              arrow-up
              0
              ·
              17 days ago

              We set the threshold of sensible protections provided by the app (signal) itself differently.

              On desktop having a gallery app, as you say, or running an application like windirstat for example I expect the user to understand that anything stored on device can be “seen” by the app and that, if they dont trust it, having sensitive files deleted or sandboxed might be prudent. Messages are stored at least somewhat encrypted (albeit with the key in a config file) so a random (non targeted/malicious) scan would gt blobs there.

              On mobile due to how opaque the os is I am thankful for the extra encyption and I would consider it a much more critical flaw. On desktop less so. Still I appreciate your point of view and a passkey to encrypt at least messages on the desktop app would be a welcome addition.

  • alyth@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    18 days ago

    While I’m on the subject, Signal’s phone UI is not great. Most screens severely lack contrasting colors and borders. Font size and spacing is inconsistant. It is hard and unpleasant to read - that’s kind of unfortunate for an app focused on reading and writing text.

  • irotsoma@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    16 days ago

    Yeah, I’ve been having a lot of issues with Electron which is basically a browser emulator. It has gotten huge, so applications using it have gotten out of control in size. I get that it’s a quick way to build a cross platform application, but there really needs to either be a better way to distribute it that is more modular, or people need to start building on better cross platform front-end systems.

    • alyth@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      16 days ago

      i am doing a full system upgrade and something wants to build chromium from source. i let it run in the background and cloning the repository alone has downloaded 33GB wtf 😭

      • irotsoma@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        16 days ago

        Yeah, I had to move away from Arch Linux because lots of apps you have to build and Electron was one of the biggest culprits for using tons of disk space and time because it builds Chromium in its entirety from source. Electron is a great way to shift the cost of cross platform development from you to your customers.

    • NeatNit@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      Okay, but can’t it be an optional feature? I’d like it if a new device could download message history from an old device by having both online at the same time.

      • randombullet@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        18 days ago

        Optional how so? It’s a rotating key. Unless you have all of those keys to export into your computer, then you’ll be stuck with the current synced key.

        • Natanael@slrpnk.net
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          17 days ago

          You can still push old message history from your main device to your other devices, you can re-encrypt

        • JackbyDev@programming.dev
          link
          fedilink
          English
          arrow-up
          0
          ·
          17 days ago

          I don’t see why the current key can’t encrypt old messages and send those. I admit I might be missing something obvious though. Maybe something like not wanting to accidentally leak old messages? As in it’s less attack surface or something?

    • bss03@infosec.pub
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      New messages will show on all your devices, but yes, it is intentional that old messages are not available to new devices.

      • scarilog@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        18 days ago

        This is because they don’t retain your (encrypted) messages on their servers right? Is this for storage reasons, or more just security philosophy of not being able to access past chats when you login from elsewhere?

        • JoeyJoeJoeJr@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          18 days ago

          This is not entirely correct. Messages are stored on their servers temporarily (last I saw, for up to 30 days), so that even if your device is offline for a while, you still get all your messages.

          In theory, you could have messages waiting in your queue for device A, when you add device B, but device B will still not get the messages, even though the encrypted message is still on their servers.

          This is because messages are encrypted per device, rather than per user. So if you have a friend who uses a phone and computer, and you also use a phone and computer, the client sending the message encrypts it three times, and sends each encrypted copy to the server. Each client then pulls its copy, and decrypts it. If a device does not exist when the message is encrypted and sent, it is never encrypted for that device, so that new device cannot pull the message down and decrypt it.

          For more details: https://signal.org/docs/specifications/sesame/

          • Rin@lemm.ee
            link
            fedilink
            English
            arrow-up
            0
            ·
            18 days ago

            That’s for your insightful comment. I’m now going down the rabbit hole of the signal spec :)

        • JoeyJoeJoeJr@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          18 days ago

          Yes, as long as you set up the desktop client before sending the message.

          Messages sent with Signal are encrypted per device, not per user, so if your desktop client doesn’t exist when the message is sent, it is never encrypted and sent for that device.

          When you set up a new client, you will only see new messages.

          See https://signal.org/docs/specifications/sesame/ for details.

        • Fetus@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          18 days ago

          The chat continues on all linked devices from the point in time that they are linked.

          Imagine two people having a face-to-face conversation, then a third person walks up and joins in. The third person doesn’t know what was said before they joined the conversation, but all three continue the conversation from that point on.

          Linked devices are like the above example, if two of those people were married and tell each other every conversation they’ve had since their wedding.

          • JoeyJoeJoeJr@lemmy.ml
            link
            fedilink
            English
            arrow-up
            0
            ·
            18 days ago

            There is no sharing of messages between linked devices - that would break forward secrecy, which prevents a successful attacker from getting historical messages. See the first bullet of: https://support.signal.org/hc/en-us/articles/360007320551-Linked-Devices

            Messages are encrypted per device, not per user (https://signal.org/docs/specifications/sesame/), and forward secrecy is preserved (https://en.m.wikipedia.org/wiki/Forward_secrecy, for the concept in general, and https://signal.org/docs/specifications/doubleratchet/ for Signal’s specific approach).

            • Natanael@slrpnk.net
              link
              fedilink
              English
              arrow-up
              0
              ·
              17 days ago

              Message logs doesn’t break forward secrecy in a cryptographic sense, retaining original asymmetric decryption keys (or method to recreate them) does. Making history editable would help against that too.

              What Signal actually intends is to limit privacy leaks, it only allows history transfer when you transfer the entire account to another device and “deactivate” the account on the first one, so you can’t silently get access to all of somebody’s history

              • JoeyJoeJoeJr@lemmy.ml
                link
                fedilink
                English
                arrow-up
                0
                ·
                17 days ago

                You’re describing something very different - you already have the messages, and you already have them decrypted. You can transfer them without the keys. If someone gets your device, they have them, too.

                Whether Signal keeps the encrypted the messages or not, a new device has no way of getting the old messages from the server.

                • Natanael@slrpnk.net
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  edit-2
                  17 days ago

                  I run a cryptography forum, I know the exact definition of these terms. Message logs in plaintext is very distinct from forward secrecy. What forward secrecy means in particular is that captured network traffic can’t be decrypted later even if you at a later point can steal the user’s keys (because the session used session keys that were later deleted). Retrieving local logs with no means of verifying authenticity is nothing more than a classical security breach.

                  You can transfer messages as a part of an account transfer on Signal (at least on Android). This deactivates the app on the old device (so you can’t do it silently to somebody’s device)

          • eksb@programming.dev
            link
            fedilink
            English
            arrow-up
            0
            ·
            18 days ago

            There is no reason why the message sync that works from phone to phone could not be implemented on the desktop client as well.

  • Vilian@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    17 days ago

    the solution could be deduplication, not sure if microsoft store has it, or windows supports it, this help with the size, bot not ram usage

  • MeanEYE@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    Well dooh, you installed Chrome with it. Add to that their application and there you have it.

  • zoey@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    Such is the state of Electron.
    I’m slowly stopping to care about web apps, however the amount of shit Electron causes is through the roof. Discord, Element, Signal, even Steam is full of it, so you just end up having 8 different “programs” running with every single one using at least around 400MB of RAM.
    Can’t wait to see something using Rust and Tauri. Graphite wink wink

    • Skull giver@popplesburger.hilciferous.nl
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      18 days ago

      I don’t know how other Linux distros do it, but Manjaro (and seemingly Arch) seem to carry electron-## packages separately from apps like Signal. Unfortunately, Element requires electron29 and Bitwarden electron28 so I still have two copies of Electron. BTRFS’ deduplication helps reduce the real world size a bit, but it’s still unfortunate, especially since electron31 is already out.

      Signal runs some security code natively so you can’t run it in the browser, even though most of the UI is done through a copy of Chrome. At least the reusable packages make it so that only one copy of Chrome will be loaded for all Electron applications!

      RE: the RAM: a lot of that is space allocated for JIT. Most of it is filled with zeroes, so if you run a modern OS (recent Linux, Windows, macOS) that RAM will end up being compressed+CoW’d to the point of barely making a dent.

      Plenty of optimisations to be done, but it’s not as bad as task manager may make it seem. I’ve personally replaced a bunch of web apps with Element by bridging everything through Matrix (Matrix alternatives such as XMPP can also do that with an even smaller footprint).

      • flubba86@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        17 days ago

        I use a whole bunch of Linux distros at work (CentOS, alpine, ubuntu, debian, opensuse) and a bunch on my devices at home (mint, fedora, nobara, and manjaro), and so far the only distro I’ve seen ship decoupled shared electron libs like you described is Manjaro (and presumably Arch).

    • rdri@lemmy.world
      cake
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      Can’t wait to see something using Rust and Tauri.

      What about sciter?

    • taaz@biglemmowski.win
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      18 days ago

      Steam is close but actually not electron, they use CEF - Chromium Embedded Framework which is something Electron uses too under the hood (afair)

    • alyth@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      Of the apps you mentioned, I can use Discord and Element in my browser. WhatsApp even installs as a PWA. And Steam games can be launched through Lutris afaik?

      There is no such option with Signal though.

      • JoeyJoeJoeJr@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        18 days ago

        Using an E2E chat app in your browser necessarily makes the keys and decrypted messages available to your browser. They would have the ability to read messages, impersonate users, alter messages, etc. It would defeat the purpose of a secure messaging platform.

        • alyth@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          18 days ago

          I don’t get it. Who is “they”? Why can’t you fetch the encrypted message from the server and then decrypt it client side?

          • JoeyJoeJoeJr@lemmy.ml
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            18 days ago

            “They” is the browser/browser maker. The browser, acting as the client, would have access to the keys and data. The browser maker could do whatever they want with it.

            To be clear, I’m not saying they would, only that it defeats the purpose of an E2E chat, where your goal is to minimize/eliminate the possibility of snooping.

            • Socsa@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              0
              ·
              17 days ago

              You realize that your kernel which loads keys into memory can also access all this right? So can anything which shares memory space on the platform.

              • Natanael@slrpnk.net
                link
                fedilink
                English
                arrow-up
                0
                ·
                17 days ago

                The bigger risk is browser exploits, not just who develops it. There’s more attack surface and more ways to exfiltrate data

          • mexicancartel@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            0
            ·
            18 days ago

            I think the encrypted messages are not saved in the server. You probably have to backup from phone and restore it on pc. “They” is the other programs running on browser

      • zoey@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        0
        ·
        18 days ago

        With Discord in browser, you lose Krisp, RPC ipc socket support (aRPC might work, no clue), and from what I remember screensharing only worked with browser tab capture.
        Element will eat your RAM no matter where it’s running. You could add it as a Nextcloud app to triple your RAM usage! Woo
        And you can’t run Steam games without the Steam client running. That’s how their DRM works. (Unless you use the goldberg steam emulator, which is a whole another thing to talk about)

    • Killing_Spark@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      I really want to see the zygote approach worked out for electron. It’s working really well for android but with electron there are just too many different versions used by the different programs for that to make sense.

    • Blackmist@feddit.uk
      link
      fedilink
      English
      arrow-up
      0
      ·
      17 days ago

      I wouldn’t mind so much if they all just used the same bundle of stuff, and you could install that once, and then the apps were all like 2MB each.

      But no, big fucking bundle of shit, every single time.

      • masterspace@lemmy.ca
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        17 days ago

        Eh, that’s not the joy you think it is.

        That’s how software used to be distributed and that’s where the terms DLL / Dependency Hell come from and why programs used to not uninstall cleanly and break other programs, etc.

        It’s more efficient, but it’s also brittler and a lot more complex to manage. Conversely, bundling everything together with all its dependencies is a lot easier to manage, and a lot more robust overall, but comes at the expense of storage capacity and network bandwidth.

  • Carighan Maconar@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    Signal’s desktop app is as horrendously unusably bad as the project as a whole is good, tbh.

    It’s no wonder people prefer stuff like Telegram. It has native apps and all. Or can be used in a browser. Meanwhile Signal is only used in a browser, but you have to download it and it fucks up font scaling and it shits the bed on font antialiasing and it can’t even get UI design consistent with the OS it’s running on and it won’t even use the OS emoji font.

    Let’s not even mention how you still cannot use Signal on a tablet.

    • PrettyFlyForAFatGuy@feddit.uk
      link
      fedilink
      English
      arrow-up
      0
      ·
      16 days ago

      Signal’s desktop app is as horrendously unusably bad

      I think this is a bit dramatic. I’ve been using it for years, no problems.

    • amelia@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      16 days ago

      And anytime you clicked on a link or image in the chat, you’ll have to click into the message field again (or press Ctrl+t) to be able to type a reply. I don’t understand how this absolutely infuriating thing hasn’t been fixed in years. Is nobody bothered by this? I want to be able to alt+tab into signal and just start typing ffs.

      • tempest@lemmy.ca
        cake
        link
        fedilink
        English
        arrow-up
        0
        ·
        16 days ago

        Care to elaborate?

        I use the app from the AUR and I don’t think I’ve had a single problem in 3 years.

    • voxel@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      16 days ago

      telegram has an “advantage” of not having e2e encryption by default, which makes stuff like sync much easier as chats are fully stored on the server (encrypted with your user password).

      and if you enable encryption (aka start a secret chat), the chat will only exist on the device you started it on and stop getting synced

  • AllNewTypeFace@leminal.space
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    Given that they have a native, non-Electron iOS version, it’s a shame that they haven’t built a desktop macOS version using mostly the same code. (To make it look like a proper Mac app, they’d need different UI code, though even without that, they could build a version that looks like the iPad version with no changes, and it would look no worse than the Electron web-app UI and run an order of magnitude more efficiently.)

    • B0rax@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      They don’t even need to built a separate app if they have an iPad app. they just need to not „not allow“ the execution on macOS.

    • Eager Eagle@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      18 days ago

      And that’s also a lot for an app that doesn’t have that many binary assets like images or videos. I do wonder what makes up most of these sizes. I see other apps that are arguably more complicated - like AntennaPod - using under 40MB; So I guess it has to do with actual native apps vs cross platform ones.

        • rdri@lemmy.world
          cake
          link
          fedilink
          English
          arrow-up
          0
          ·
          17 days ago

          That’s a very bad way to look at things. Just because I have gigabytes of memory doesn’t mean I want to use unoptimized software.

          • baatliwala@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            17 days ago

            And your way to look at things that “all apps must be 20 mb or less otherwise they are unoptimised” is better because?

            • rdri@lemmy.world
              cake
              link
              fedilink
              English
              arrow-up
              0
              ·
              17 days ago

              Because optimized software is better for industry, people, and environment. Also seeing that some menu or window is not an html page but a native element makes my headache go away because I value my CPU cycles (seeing a cursor doesn’t lag when some complex page is displayed should not be considered a weird fetish) and like it when things don’t do stupid unnecessary stuff both visually and under the hood.

              And it could be even less than that depending on specifics.

        • thepreciousboar@lemm.ee
          link
          fedilink
          English
          arrow-up
          0
          ·
          16 days ago

          If developers optimized their apps, we could have phones that are 10x faster than 10 yeara ago. Instead they are the same speed and the same amount of apps fit in the bigger storage, because developers are lazy and use heavy, unoptimized technologies that use 10x the resources