Electron-based apps cause system-wide lag on macOS 26 Tahoe
Root Cause & Technical Details
- Thread centers on macOS 26 “Tahoe” causing system-wide lag and high GPU/WindowServer usage when Electron apps (Slack, VS Code, Discord, etc.) are open.
- A key finding: Electron was overriding a private AppKit method (
_cornerMask) to tweak window corners/shadows, which interacts badly with Tahoe’s new rendering behavior and causes a tight, GPU-heavy loop. - Some note that similar GPU-load issues also affect other non-Electron apps that use custom window effects, suggesting a broader fragility in the new windowing/graphics stack.
Who’s at Fault? Apple vs Electron vs App Devs
- One camp: if you use or override private APIs, you “own” the breakage. Apple explicitly warns those may change without notice.
- Another camp: Apple shipped an OS update that breaks many of the most common apps; regardless of private APIs, that’s a failure of platform stewardship and regression testing.
- Nuanced view: Electron used a private API to work around bugs/limits in public APIs; that’s risky but sometimes the only way to get desired behavior. Apple still could have tested major Electron-based apps and coordinated with maintainers.
Backwards Compatibility Philosophy
- Long digression comparing Apple’s “we break you if you rely on internals” stance to Windows’ decades-long compatibility guarantees.
- Some argue strict compatibility (Windows style) leads to cruft and slow progress; others argue it’s what keeps critical, old software working and that Apple can be cavalier because macOS has fewer truly mission-critical workloads.
User Impact & Perception
- Several comments stress that the real loser is the non-technical user whose Slack/Spotify/VS Code suddenly make their Mac hot and laggy; they are unlikely to understand private vs public APIs.
- Debate over whether those users will blame Apple (OS changed) or the apps (they’re the ones misbehaving).
Electron Performance & Alternatives
- Reiteration of common complaints: Electron apps are heavy, can hang the system when network is flaky, and consume large disk/CPU/GPU resources.
- Others counter: Electron usually doesn’t cause OS-level problems; Tahoe bug is an edge case triggered by Apple + private APIs.
- Suggestions for alternatives include native toolkits or other cross-platform frameworks; argument over whether Electron is “lazy” or a pragmatic way to ship cross-platform apps quickly.
macOS/iOS 26 Quality Concerns
- Multiple reports of broader regressions in macOS 26 and iOS 26: Spotlight breakage, memory leaks in native apps, Screen Time/Guided Access problems, visual glitches, and inconsistent new “glass” UI.
- Some feel recent Apple OS releases show declining QA and more focus on visuals than robustness; others report no major issues and like the new design.
Workarounds and Fixes
- Temporary Electron-side workaround: disable window shadows (
browserWindow.setHasShadow(false)), or use an updated Electron version once fixes land. - Separate
defaults write ... NSAutoFillHeuristicControllerEnabled -bool falseworkaround is mentioned, but clarified as addressing a different macOS 26 scroll/autofill bug in Chromium. - Reports that Chromium has landed fixes, and Electron has merged a patch, but users must wait for app updates or manually tweak configurations.