13 ms·
Electron-based apps cause system-wide lag on macOS 26 Tahoe
- huijzer 1y agoDon't Electron-based apps cause lag on basically any system?
- GuinansEyebrows 1y agoPerhaps, but this specific case appears to be related to (ab)use of a private API on Electron's part. https://github.com/electron/electron/issues/48311#issuecomment-3332181420 https://github.com/electron/electron/issues/48311#issuecomme...
- nkozyra 1y agoI know it's a defacto complaint to leverage against Electron apps, but memory usage notwithstanding, I've never run into much lag issue on any major Electron app.
- ToucanLoucan 1y agoIt depends. Numerous times when internet is spotty Slack and Discord both on different occasions have brought my systems to a halt until they can complete whatever task is stuck waiting (or I force close them). It's really fucking obnoxious that somehow a goddamn web app in a wrapper is managing to cause system wide hangs.
- Vilian 1y agoTrue, i'm gonna start limiting electron apps CPU and IO percentage to not halt everything
- nsriv 1y agoI think that's probably a recipe to hit the limits more often and end up being more frustrating, depending on your hardware.
- 1718627440 1y agoCan't you interrupt them (aka SIGSTOP) instead? Then you could resume them, instead of reopening them and potentially using state.
- arcfour 1y agoSurely there is a more effective way to write an app than to bundle an entire end-of-life browser and Node.js runtime into a 600MB monstrosity.
- hluska 1y agoOf course there is, but not every decision in computing is (or should be) about raw efficiency.
- paxys 1y agoElectron apps don't have to be 600 MB. VS Code is an entire fully-featured IDE and is a 90 MB download.
- shawn-butler 1y agoVS Code package in my applications folder is 600+ MB. The Electron Framework.framework it contains is 400+ MB alone. I don't understand where you come up with your 90 MB figure?
- ethmarks 1y agoThe VSCodeUserSetup file from https://code.visualstudio.com/download https://code.visualstudio.com/download is in the 90MB range. Perhaps this file is just the installer and the actual system files are much larger? Or maybe your 400MB figure comes from a bloated install? Just speculating here.
- piperswe 1y agoPresumably the setup file is compressed, and the installation on disk isn't
- the_lucifer 1y agoA compressed download is my guess. The easiest way to predict if an app is using Electron is to see if the download is around 90 to 130 MB. Especially if that size feels unreasonable for the functionality that it offers.
- deleted 1y ago[deleted]
- mcintyre1994 1y agoI’ve never noticed anything before, though I’m sure their performance is worse than native apps. I think the M series has so much headroom at this point that you can get away with a lot.
- nottorp 1y agoIt's in the runtime specifications, I think. "Application should use all cores and all available memory." In the past few years, the only applications i've seen run amok with memory usage at least were of course Electron based. However, note that this problem is on Mac OS "users had too much contrast so we ruined it" 26 Tahoe. It's part of the early adopter experience.
- altairprime 1y agoNo, they typically do not interfere with performance at the OS level. They may be wasteful with resources that are limited — CPU/GPU/RAM/IO — but for them to interfere with system function at this level is not the usual bloatware problem.
- kccqzy 1y agohttps://github.com/electron/electron/issues/48311#issuecomment-3332181420 https://github.com/electron/electron/issues/48311#issuecomme... If this comment is to be believed, it's not Apple's fault. It's the apps mucking around with the internals of AppKit. This example just happens to illustrate two of my least favorite software engineering practices: (1) despite one piece of code making a method private, another piece of code still overrides it/modifies it/calls it, an affront to the idea of encapsulation; (2) a piece of code has different behavior depending on the identity of a function, contrary to the principle of extensionality.
- snarfy 1y agoIt's all pretty terrible. For problem (1) why does the language allow it? And why are they doing it this way? Did Apple not provide an official way?
- cosmic_cheese 1y agoWith Objective-C's nature as a dynamic language, there's no way to make APIs fully private and unusable to third parties. Despite heavily embracing Swift in recent years, much of AppKit and UIKit are still written in Objective-C.
- wk_end 1y ago"Not Apple's fault" is up for debate; even if Electron shouldn't be doing this, Apple arguably shouldn't be pushing out updates that cause issues with wide-swaths of software that users use regardless.
- schmidtleonard 1y agoDiscord and VSCode work smoothly for me on an M4 MBP -- not sure if it's a compatibility difference or just performance hiding the problem, though. But Spotlight file search is completely broken, rebuilding the index doesn't help, and web results are the only thing it returns. After 20 years of intense research, Apple finally caught up to Microsoft in race to make search broken and useless.
- jama211 1y agoSearch works great for me, I’m sorry it broke on your machine but it needs to be broken for everyone to be on Microsoft’s level
- schmidtleonard 1y agoHaha fair enough, and now it's fixed on my machine but Windows Search is still asking if you'd like Bing with that.
- jama211 1y agoHahaha always with the bing
- navigate8310 1y agoIt's funny, bing literally means disease in Mandarin.
- duskwuff 1y ago> But Spotlight file search is completely broken, rebuilding the index doesn't help, and web results are the only thing it returns. I had the same issue; killing Spotlight processes fixed it. (A reboot would probably do the job too.)
- schmidtleonard 1y agoHey it worked. Thanks! (Killing the process, ofc)
- efitz 1y agoI was just noticing the stuttering and lag but I hadn’t tracked it down to electron yet.
- OGEnthusiast 1y agoFWIW haven't experienced this at all on an M4 Max (with Slack and VSCode open).
- Etheryte 1y agoTo be fair, the M4 Max is such a beefy machine that you could do a lot of things wrong and still not notice it.
- OGEnthusiast 1y agoTrue, but looking at Activity Monitor I don't see any CPU or GPU spike when having an Electron app open and scrolling in Chrome (vs scrolling without any Electron apps open)
- STRML 1y agoWatch your power usage. With large windowed VSCode or Cursor, you will see far higher CPU and GPU usage by WindowServer and more system power consumption. It’s easier if you track it with stats.app.
- masklinn 1y agoApparently the issue has to do with transparencies (shadows and straight up transparency), so could be a question of capabilities not capacity e.g. older gens have less range and some non-default require falling back to software whereas newer gens can keep to hardware.
- bdash 1y agoStrangely the WindowServer issue is a constant issue on my personal MacBook Pro, but I've never seen it on my identical work MacBook Pro. It seems like there's some other factor that is necessary to trigger the problem.
- deleted 1y ago[deleted]
- torben-friis 1y agoI’m surprised to see so little pushback in press to iOS/macOS 26. I’ve been part of the public beta and it’s been so weird going from “this sucks but it’s a first beta” through “it really isn’t improving much as time goes by” to “we’re a week from launch, there’s no way they release this after the Apple Intelligence fiasco”. And yet here we are. Performance issues, ui inconsistencies and garish design everywhere.
- coolspot 1y agoYeah, screen time for kids is absolutely broken in iOS 26.
- Fwirt 1y agoI'm glad I'm not the only one experiencing this. They absolutely destroyed Guided Access in iOS 26 to the point of borderline non-functionality. I've had the system idle-sleep while in Guided Access and wake to a lock screen that I was unable to interact with in any way, including turning off guided access. Softlocked my device for about 5 minutes until panicked swiping and button mashing managed to snap it out of it. There appears to be a race condition with the lock screen and home screen, if the device idle sleeps in guided access mode then about 50% of the time it wakes to the home screen instead of the app. Sometimes waking it on iOS shows the lock screen for a brief second before the app starts. Also, exiting guided access sometimes doesn't recolor the apps on the home screen so it still appears as if all apps are disabled. Not to mention that they reclassified the pen settings dialog as a "software keyboard" meaning that in order for my kids to draw with the Apple Pencil I also have to allow them to enter text now. None of these were issues on iOS 18.
- MBCook 1y agoI think you mean “since release”. Hasn’t it always had horrible problems? I’ve never heard a good thing about it in use.
- Fwirt 1y agoI used it from iOS 15-18 and it always worked great. We try to limit our kids' iPad use to drawing in Freeform and the occasional edutainment app, and I never had issues with them escaping Guided Access or it causing lockups. The fact that I can barely trust it to work properly on iPadOS 26 is a huge disappointment for me.
- altairprime 1y agoNotes from the Google bug tracker linked by the GitHub issue: applying this command to each Chrome/Chromium app impacting your system will workaround the underlying macOS resource leak (EDIT: which only occurs when Electron mucks with private APIs to fake having native UI): defaults write com.google.Chrome NSAutoFillHeuristicControllerEnabled -bool false https://issues.chromium.org/issues/446481994#comment17 https://issues.chromium.org/issues/446481994#comment17 That command’s equivalent is being patched into Chrome and will have to ripple downward into Electron apps; directing complaints to each electron app impacted with a link to the relevant Google issue workaround will give them sufficient data to mitigate it, if they bother to. Apple is already aware — https://x.com/ian_mcdowell/status/1967326413830472191 https://x.com/ian_mcdowell/status/1967326413830472191 (apologies for the Twitter link, but it’s an Apple employee). EDIT: Someone else has traced the issue to Electron messing with internal OS APIs! Courtesy of https://news.ycombinator.com/item?id=45377253 https://news.ycombinator.com/item?id=45377253 — > It turns out Electron was overriding a private AppKit API (_cornerMask) to apply custom corner masks to vibrant views. ps. This issue was discussed a week ago here: https://news.ycombinator.com/item?id=45292019 https://news.ycombinator.com/item?id=45292019 pps. Manually applying this workaround without scheduling its future removal has a slight but non-zero risk of someday breaking OS-linked autofill in your electron apps in weird or unexpected ways. ppps. I don’t work for anyone, school for another three years minimum.
- ThePowerOfFuet 1y ago>hxxps://x.com/ian_mcdowell/status/1967326413830472191 (apologies for the Twitter link, but it’s an Apple employee) https://xcancel.com/ian_mcdowell/status/1967326413830472191 https://xcancel.com/ian_mcdowell/status/1967326413830472191 FTFY :)
- altairprime 1y ago“And yet”, she persisted, “my apology remains necessary.”
- mikamika83 1y agoGPU load bug and Autofill bug are two separate, completely unrelated issues.
- nntwozz 1y agoI'm a simple man, I see Electron I don't install.
- reaperducer 1y agoAwesome if you're a one-man-band. Not awesome if you're in a large company where you have to communicate with others and don't get to choose the medium.
- deleted 1y ago[deleted]
- rvz 1y agoWell, that's...Electron for you. The most inefficient solution (in both space and time complexity) being suggested to build desktop apps is now shown to be causing widespread sluggishness. So much for interviewing developers for algorithms and data structures. Also Rust won't save you or make Electron faster either.
- IgorPartola 1y ago1. This is about a specific bug, not about Electron in general. 2. What better cross platform GUI alternative do you suggest?
- SBArbeit 1y agoAvalonia. https://avaloniaui.net/platforms https://avaloniaui.net/platforms
- tcfhgj 1y agoanything which uses native code
- IgorPartola 1y agoHow would that be cross platform?
- tcfhgj 1y agoPlattform independent abstractions
- ttoinou 1y agoThe most inefficient solution (in both space and time complexity) Those are not the only qualities / metrics to optimize for. Developer eXperience, cross platform, open standards, easy compatibility with websites, easiness to keep updated etc. can be far more important
- 1y ago
- c-hendricks 1y agoIt's not limited to Electron applications: https://github.com/neovide/neovide/issues/3225 https://github.com/neovide/neovide/issues/3225 Other Tahoe issues with non-Electron apps: https://github.com/zed-industries/zed/issues/33182 https://github.com/zed-industries/zed/issues/33182 https://github.com/wezterm/wezterm/issues/7255 https://github.com/wezterm/wezterm/issues/7255
- mrtesthah 1y agoThis might be the fix: https://github.com/ghostty-org/ghostty/pull/8625/commits/431364cf16a7619de7b6d193d28eda9605ebff7b https://github.com/ghostty-org/ghostty/pull/8625/commits/431...
- taroth 1y agoOne-liner for electron developers to fix the issue: browserwindow.setHasShadow(false)
- mikamika83 1y agoGPU load bug and Autofill bug are two separate, completely unrelated issues.
- c-hendricks 1y agoCorrect! That's why I listed them under "other". One seems to be their new SMS 2FA functionality causing high CPU usage, the other seems to be private window APIs causing high GPU usage.
- nateb2022 1y agofixed in: https://github.com/electron/electron/pull/48376 https://github.com/electron/electron/pull/48376
- bdash 1y agoThis affects some of the most widely used applications on the platform, including "productivity" applications such as Slack that Apple uses internally. How did no-one at Apple notice this and do something about it prior to macOS 26 being released?
- cosmic_cheese 1y agoI stopped using the Slack Electron wrapper as soon as Safari added support for "installing" web apps (File > Add to Dock…). Wouldn't be surprised if people within Apple did similar.
- bombcar 1y agoMind blown, this may actually be freaking useful ...
- c-hendricks 1y agoThis made me try it out again since the feature was first released. Looks like they added support for Safari extensions and content blockers to PWAs in macOS 15.0.
- bdash 1y agoI'd sorta hope they are testing widely-used applications in the way that typical end users will experience them before releasing a new OS version.
- kccqzy 1y agoI actually did that as soon as Safari added a pinned tab feature. I remember doing this as early as 2016.
- electric_muse 1y agoAnyone ever experience Zoom meeting lag that reproducibly connects with receiving a Mac notification? I've had this issue on my M1 and now my M4 mac for about a year now, and I can't figure it out. Uninstalling and reinstalling hasn't helped. Literally, someone can reliably send me a slack notification in a meeting (even when DND is on) and cause my Zoom outbound video to get gummed up. Edit: I ask because I wonder if it has to do with this.
- skfist 1y agoI started experiencing massive overheating issue on latest version of Zoom and on macOS 26 and now 26.1 beta as well. Haven't experienced what you're describing, it's really odd.
- trothamel 1y agoIt seems odd that Apple could release an update that breaks common software, and not go to the trouble of at least contacting the developers of the software and discussing the issue.
- cjk 1y agoBefore I left Apple ~10y ago, it was pretty common to drop linked-on-or-after hacks into AppKit and UIKit to keep popular software chugging along. Assuming they're still doing that sort of thing, this was either missed or deemed not high-enough priority to add such a check (or maybe one was added, and the only reason this issue has been noticed is because Electron and Electron apps are now being built against the macOS 26 SDK).
- OfflineSergio 1y agoJust imagine you are investigating a bug and everyone is trying to express their opnion on whose fault is this. What happened to not having a blaming culture?
- deleted 1y ago[deleted]
- wg0 1y agoIf I'm not wrong it affects VS code hence Cursor, Kiro etc. At least I notice fan going jet speeds with VSCode lately.
- system7rocks 1y agoHow difficult would it be just to switch to Swift for some of these apps?
- kridsdale3 1y agoYou're talking about adding at least $10M to the budget and a 2 year lead time for each of these companies.
- mobiledev2014 1y agoWithout question worth it for the big CO’s like salesforce (market cap $230B) and MS (market cap $4T)
- wiseowise 1y agoElectron haters are going to have a field day over this (obviously it's not an electron issue, but why they care?).
- urbandw311er 1y agoJoke’s on them, turns out that it is an electron issue.
- wiseowise 1y agohttps://news.ycombinator.com/item?id=45377917 https://news.ycombinator.com/item?id=45377917 It’s not.
- urbandw311er 1y agoAnother great reason not to have upgraded to macOS 26.
- alberth 1y agoThis was fixed in Chromium yesterday, credited to @mitchellh https://xcancel.com/mitchellh/status/1970944369336475713#m https://xcancel.com/mitchellh/status/1970944369336475713#m
- mikamika83 1y agonope, that has nothing to do with electron, completely separate
- mirthflat83 1y agoWow. I was wondering why SMS autofill wasn’t working on my Arc browser.
- taroth 1y agoOne-liner for electron developers to fix the issue: `browserwindow.setHasShadow(false)`
- inDigiNeous 1y agoThank you for this! Could possibly just hotpatch my existing app, add this to the packed in javascript .asar resource file and not having to make a new build with updated Electron version.
- rayiner 1y agoIndividuals used to make sophisticated native apps as shareware for $10 back in the 1990s and today big teams rely on crap like Electron. The enshittification of everything.
- inDigiNeous 1y agoWell, back in the day you had 4 megs of ram, MS-DOS and other OSes that are simple as they come, and full access to the hardware. These days if you want to support macOS, Windows, Linux: I say good luck to you, Electron can save you there. Electron is not crap, but many javascript developers are crap. You can make fast and memory efficient apps in Electron, if you know how to code. (Note: Slack or Discord developers don't have that skill)
- frays 1y agoWould never have imagined the day when using Chrome on my personal M3 Macbook would feel slower than my corporate Windows laptop. I shouldn't have updated to MacOS Tahoe on my Macbook knowing that it was a .0 release. They need to fix this ASAP.