I find it funny that backend devs will do all this infrastructure work to support billions of real time messages and then frontend devs stomp all over it by making the app take 500MB of RAM and hundreds of ms to take basic actions.
You can't buy client performance, so it is just more visible. It's not like there are a lot of people with Rust/C++ back ends outside of some very critical pieces.
One runs on machines we pay for (= costs us money). Another runs on end users' machines (= costs them money).
It's a fair point. I think loss-aversion over React (Native) is to blame.
Their current client stack is: Web: React Desktop: React + Electron Mobile: React Native + Native
Their commitment to React on so many platforms makes it easy to accumulate bloat. Their need to support lower-level features means they can't avoid native code altogether.
I wonder why they stick with it.
My guess is they don't want to add more hires just for this problem
Their 2018 commitment to RN: https://discord.com/blog/why-discord-is-sticking-with-react-...
Their 2025 complications with it: https://discord.com/blog/supercharging-discord-mobile-our-jo...