I'm also in the same boat as SmellyGeekBoy, and can attest the same. With the Oneplus rom I saw maybe 1.5 days of battery, with Lineage I often see 2-3 days.
This is completely anecdotal however, and it's likely that the reduced battery is down to having installed different/fewer apps on Lineage.
Switching to Firefox Focus [1] is probably a better solution -- it's Webkit/Blink under the hood, but blocks ads/trackers and doesn't maintain a browser history.
Sounds like more of a complaint of informal instant messaging in general, rather than a problem specifically attributed to Slack.
Slack has it's problems, but it also has it's place.
For the Slack teams I'm a member of, we've got rules about using @channel and @here, and anybody that uses either is usually shamed to some extent if they do so.
For the complaint about the use of Electron (and all of that overhead), it's trivial for a Slack team to enable the IRC gateway (in /admin/settings#gateways) and connect through your preferred IRC client.
It's pretty powerful stuff, though I'm sort of leaning towards the idea of "how much is too much in the web browser?".
I've been playing with some Web Bluetooth enabled things lately, namely the "Puck.js"[1] piece of Espruino[2] hardware and it's Web Bluetooth browser-based IDE[3].
The browser-based controls for device discovery (in Chrome at-least) are quite nice/intuitive.
I had a go at rewriting this to use requestAnimationFrame, and provide more instruments and some random/clear buttons: https://blog.omgmog.net/beatmaker/
An interesting thing, after a short while the browser unloads the page (Chrome on Mac OS) -- probably due to memory usage, which I think this is down to creating a new Audio element each time, rather than initialising them once and then triggering .play() when needed.
update:
Alright I'm using AudioContext now rather than `new Audio`, seems to be performing a lot better. This puts us at about 144 lines.