“Hey Claude, rewrite our dogshit Electron app in Rust, make no mistakes”.
“But don’t forget to keep all the existing mistakes, those are intentional”
Vibe coded i guess?
I get why vibe coders love Rust - it’s a lot harder to shoot yourself in the foot if rustc is checking your lifetimes, but holy shit is the code I’ve seen from them the most unholy mess. Rust is difficult enough to read at the best of times but LLMs don’t even bother with any kind of module structure. Just thousands of lines of vomit in single files and a worrying amount of
unsafe.Preamble: I am a huge LLM/codegen skeptic, due to a litany of reasons.
With that said, this honestly sounds like whoever did the prompting didn’t include something like this in the prompt, along with nuanced adversarial review loops:
unsafeblocks are strongly discouraged, and must be specifically justified, and survive antagonistic review by a rust language specialist agent and software security specialist agent. Part of the intent of this reimplementation is to leverage the strengths of the rust language itself, and rampantunsafeusage directly contradicts that.At my work when I was instructed to vibe code a new app, I specifically chose rust because I was hoping for the AI bubble to burst soon, so then I’d be able to be a proper rust developer
Just tell the clanker to use modern practices poof fixed.
Jokes aside a lot of that bad code can be detected by static linting tools and gated on, making it impossible for any of those to reach main.
Unsafe? For a vibe coded client/ backend?
Honestly sounds like LLMs have learned that from half the rust projects I’d seen before the LLM craze lol
And this will probably give rust a bad name if most of the code is horrid vibe coded stuff. (Cuck coded?)
99% of new Rust projects today are vibe coded, so probably yeah
I think that the headline says more about Electron than it does about Rust.
Yeah exactly. “Just” 240 MB, it’s still a lot for a glorified chat app
have you seen how much memory a single webpage in chrome uses?
240 is quite little considering how much media there’s in it
Windows 98 required far less disk space and was a complete operating system - that is if you consider Win98 an operating system…
SP2 was aight
Perhaps it’s vibecoded slop?
I’d be willing to bet $100 that AI assistance was involved in creating this new client, yes.
Similarly I’d bet the same amount that AI assistance was involved in building the former electron-based client
Anything new coming from any non-bootstrapped company is likely slop, and even the bootstrapped deserve a second look
Rust apps seem to always be on the heavy side, maybe depends how much debug info they leave in
I once played around with reverse engineering a Rust program. I compiled the optimized version of the standard “hello world” program which somehow turned into 50,000 lines of assembly.
It looked like it copied over dozens of functions from libc and the data section was filled with every single possible error string “file not found”, “connection timed out”, etc. as if there was a possibility of hello world generating an access denied error.
Was your C
hello worldprogram statically linked? I believe Rust includes its libraries whereas the typicalhello worlddoes not. Static linkage generally brings in large amounts of unused code.Rust has static linking, you get the necessary (and some unnecessary) parts of the standard library in your binary instead of the user having to install the library the way you have to have a libc installed. Makes for fatter binaries but much easier compatibility.
Indeed, they’re probably shipping a backtrace symboliser, and since there’s no system-wide equivalent of libc to link against, they’ll be including the entire Rust standard library with the binary too.
My other hunch is the Krisp noise cancellation ML model is a huge chunk of the memory footprint.
Krisp shouldn’t be running when you ain’t on a VC tho, I neve use VCs tbh and still get crazy numbers
Even the guys who invented Electron (developers of the Atom text editor) stopped using it years ago and switched to Rust when writing their new editor, Zed, and its UI framework GPUI (which Discord will be using too).
Maybe we don’t want to use JavaScript for literally everything.
It’s great to see it. I wonder how much of this push comes from the high price of memory.
The price of memory-thing is probably not that important as compared to the AI-assisted coding thing. Making things in Rust when you have access to AI tools is dead simple, which was always the argument for making things in Electron. Porting things from one language to another also happens to be one of the sweet spots for AI coding tools, they thrive on tasks that have very clear specs - an already existing codebase with tests is just about as clear of a spec as you can get.
Discord is as much spyware as anything else. Its efficiency in using my computer’s resouces in order to log everything about me, build a dossier on me and sell me out at every opportunity is not a consideration, as I view it as something to be avoided like Meta, et al.
That said, Electron does suck.
Anything else? Nah bro. It’s as much spyware as Google chat or Whatsapp… But Matrix, XMPP, mumble, etc are not spyware (sure, if your host is the CIA maybe, but with these software you can be your own host if you want. No spying guaranteed.)
Good to see. Electron is trash for a few reasons.
With screensharing on wayland? With screensharing on wayland, right?
man I love that they are ditching electron but, they “just” fixed the discord linux client to properly update and now they are rehauling it? can’t wait to get this update 3 years from now.
I got frustrated enough with the weirdness of the Linux client that I eventually ended up using a pinned browser tab.
At least then the data collection monstrosity is sandboxed. I believe Flatpak helps, too.
It’s great, but I wonder what happens with the linux client? There is no mention of it in the article.
Do we get optimized native client or is that too much work if they don’t have universal framework anymore?“Native” sort of loses its meaning in this context - this new client is not “native” in the sense of using the existing GUI tooling for each platform (Cocoa for macOS, any of Microsoft’s own frameworks on Windows, primarily Gnome/KDE on Linux).
It is using a universal framework in GPUI, so the experience will be the same on each platform.
It is “native” in the sense that it’s not web technology on any of the platforms.

Marketing director of Discord on Reddit says linux will have a native client.
They are using GPUI. Rust native UI framework from the Zed IDE team. I think the creator of Zed is the one who created Electron in the first place, then left. I’m not sure though.
So it should be cross platform
It’s a bold strategy. “Electron sucks! Let’s see what else these people made”.
But seriously, why do I need GPU acceleration for my chat UI?
It doesn’t hurt to have the component that is optimized for drawing things to the screen be a bit more involved in drawing things to the screen.
Strictly speaking necessary? No. Does it hurt? Not at all.
People use Discord for a lot of things. A lot of people use it to stream and watch streams.
It’s a video player. You want GPU acceleration.
What video? 99.99479% of my Discord experience is text.
What video? 99.99479% of my Discord experience is text.
Really depends on the server. The servers I use are driving incredibly rich media: like animated images, video clips, and streaming.
A lot of people talk and stream to their friends. If I only needed a text app, I would not use discord at all.
But seriously, why do I need GPU acceleration for my chat UI?
Because rendering things is quite literally the reason GPUs exist, it takes load off the CPU and is more efficient at it to boot.
Because without it UI changes create CPU spikes
Do you like having battery?
How will this affect the vesktop users
TL;DR: vesktop will probably no longer work (unless they wanna mantain the client themselves…) and vencord will likely only work as a userscript in your browser.
It probably won’t, but honestly there aren’t that many features the desktop client has that you can’t just get by using the browser webapp (Keyboard shortcuts, and the “now playing” feature that is a privacy mess, are the two biggest ones that come to mind right now)
Being its own icon on the taskbar would be one I’d miss.
I’m pretty sure this is just an experiment:
- Don’t break anything that works
- The website version of the app can’t be replaced
- The normal discord app is not that memory hungry it’s usually below 1 GB for me, maybe consider optimizing your existing codebase?
- A web based client allows for easier customization, better styling and easier creation of modifications
The existing app is based on electron. It pretty much can’t be optimised unless you manage to greatly reduce the footprint of Chromium itself.
You ever use a Swiss Army knife to open a letter? It’s a lot of extra shit you don’t need but it’s there anyways.
Why are people on Lemmy using discord?
I’m friends with normal people.
Oh, I’m sorry, I wasn’t aware I had to forego all traditional social media applications to use federated ones. 🙄
It’s actually really difficult to get your friends to switch over little things like ‘being a spy platform’, and ‘leaking tens of thousands of users private information’.
People probably voice chat with their friends, I don’t think Lemmy has that feature?
I also use it for socializing. Basically a collection of giant instant messaging groups.
Because thats what people use
That’s the only reason I use it
It’s a mainstream platform, so many non-Lemmy people are still there.
Besides, it’s always worth the praise when someone makes good technical decisions that benefit users.
To manage my community more easly and interact with many others aswell plus every friend of my uses it.
There is no alternative currently that offers a granular permission system like discord’s, voice chat and streaming that doesn’t also suck in other aspects
To easily chat and stream with friends
Things I want are held hostage on Discord. If I want to play Motorstorm online, I look at the fan server channel and it has real time lobby stats and chat rooms to get some games going. Just an example. My friends usually use Steam for voice chat.
Desire?
Someone at work with much more political power, and much less knowledge of how dangerous surveillance capitalism is, insists on using it 'cause they use it all the time and it’s functional.
:(


















