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

210 points

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

permalink
report
reply
89 points
*

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

permalink
report
parent
reply
33 points

Thanks for the correction, appreciate it. Not sure it changes much though.

permalink
report
parent
reply
11 points

Steam used an embedded browser long before it was cool.

permalink
report
parent
reply
3 points

Electron doesn’t use CEF, they directly bundle Chromium.

permalink
report
parent
reply
32 points
*
Deleted by creator
permalink
report
parent
reply
2 points
*

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).

permalink
report
parent
reply
10 points

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.

permalink
report
parent
reply
9 points
*

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.

permalink
report
parent
reply
1 point

Would be kind of cool to allow people to choose an install method. As someone who has experienced low bandwidth in rural homes, it would be nice to avoid the waste at the cost of possibly managing chromium versions myself.

permalink
report
parent
reply
8 points

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.

permalink
report
parent
reply
5 points

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.

permalink
report
parent
reply
14 points

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)

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
1 point
*

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?

permalink
report
parent
reply
4 points

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

What about sciter?

permalink
report
parent
reply
78 points

410mb for chat app seems very unoptimized

permalink
report
reply
81 points

permalink
report
parent
reply
46 points

Hey now, the three React Native for Windows apps would be very offended if they were stable enough to read text input.

permalink
report
parent
reply
15 points

It’s because it’s an electron app. So in addition to the chat app itself, it also includes a full Chromium runtime. Worse still, the Electron architecture doesn’t really lend itself towards reusing electron itself; this means you might have several copies of the same version of electron on your machine for various apps.

People complain about the sizes of things like flatpaks and snaps, but tbh the whole architecture of applications is like this these days. Ironically, flatpaks and snaps could help with this because their formats can work decently with filesystem level deduplication.

permalink
report
parent
reply
2 points

wait till you meet Line 😶

permalink
report
parent
reply
63 points
*

The inability to continue chat from phone is a feature.

permalink
report
reply
54 points

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

permalink
report
parent
reply
26 points
*

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?

permalink
report
parent
reply
29 points

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/

permalink
report
parent
reply
4 points

Correct

permalink
report
parent
reply
2 points

But if I reply on the phone will it populate the desktop chat and vice versa?

permalink
report
parent
reply
9 points

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.

permalink
report
parent
reply
8 points

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.

permalink
report
parent
reply
2 points

Yes

permalink
report
parent
reply
11 points

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.

permalink
report
parent
reply
4 points

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.

permalink
report
parent
reply
4 points
*

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

permalink
report
parent
reply
3 points

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?

permalink
report
parent
reply
7 points

Inability.

permalink
report
parent
reply
2 points

Thanks

permalink
report
parent
reply
2 points

Unabilifiedness

permalink
report
parent
reply
1 point

What does this mean? I use my phone and computer, and they sync up in real-time without any issues.

permalink
report
parent
reply
1 point

It means that if you have chats on one device and install Signal on another one, the chats don’t transfer to it. After you link new device, new chats do sync perfectly fine.

permalink
report
parent
reply
0 points

After they dropped SMS support and called that a feature, now I can’t wait for their hottest new bug!

permalink
report
parent
reply
52 points

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.

permalink
report
reply
8 points

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.

permalink
report
parent
reply
2 points

Yeah, I was going to say that I’ve used Signal on my Linux laptop and it’s janky af

permalink
report
parent
reply
3 points

Care to elaborate?

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

permalink
report
parent
reply
1 point
*

I’ve recently had an issue where it wasn’t let me paste anything that I had copied from outside the app

permalink
report
parent
reply
2 points

The best version of the Signal app was back when it was available as an actual web app.

permalink
report
parent
reply
2 points
*

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

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
1 point

it won’t even use the OS emoji font.

im still amused by the fact that discord mobile uses two yes, you read that correctly, TWO emojis sets, it uses one in app, and the selector, and then uses another for the text input line, because.

permalink
report
parent
reply
27 points

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.

permalink
report
reply

Same. I’ve seen the alternative called dependency hell too often… Yes, you can.share stuff between apps, but then, versioning is a nightmare.

permalink
report
parent
reply
2 points

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?

permalink
report
parent
reply
6 points

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.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply

Mildly Infuriating

!mildlyinfuriating@lemmy.world

Create post

Home to all things “Mildly Infuriating” Not infuriating, not enraging. Mildly Infuriating. All posts should reflect that.

I want my day mildly ruined, not completely ruined. Please remember to refrain from reposting old content. If you post a post from reddit it is good practice to include a link and credit the OP. I’m not about stealing content!

It’s just good to get something in this website for casual viewing whilst refreshing original content is added overtime.


Rules:

1. Be Respectful

Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.


2. No Illegal Content

Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means: -No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)


3. No Spam

Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.


4. No Porn/Explicit

Content


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.


5. No Enciting Harassment,

Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.


6. NSFW should be behind NSFW tags.

-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.


7. Content should match the theme of this community.

-Content should be Mildly infuriating.

-At this time we permit content that is infuriating until an infuriating community is made available.


8. Reposting of Reddit content is permitted, try to credit the OC.

-Please consider crediting the OC when reposting content. A name of the user or a link to the original post is sufficient.


Also check out:

Partnered Communities:

1.Lemmy Review

2.Lemmy Be Wholesome

3.Lemmy Shitpost

4.No Stupid Questions

5.You Should Know

6.Credible Defense


Reach out to LillianVS for inclusion on the sidebar.

All communities included on the sidebar are to be made in compliance with the instance rules.

Community stats

  • 6.2K

    Monthly active users

  • 838

    Posts

  • 54K

    Comments