Live data from Hacker News

Electron-based apps cause system-wide lag on macOS 26 Tahoe

github.com

191–200 of 227 posts

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#191
post #99

Earlier quoted context omitted.

I don’t understand what goes through the developer’s mind. A method is marked as private. It’s documented as not to be used by developers. Further documentation says that using it may break your application in strange ways now or in the future. Despite all this, the developer concludes: “yea, I think it’s a good idea to use this API!” Then, later when something breaks, it’s Shocked Pikachu all around.

> I don’t understand what goes through the developer’s mind. I'm not defending anyone here, but sometimes it's to work around bugs in public APIs that never get fixed. And sometimes it's because some perceived needed functionality isn't exposed in public APIs. They figure "It'd be a lot easier to use this private API. We can just fix it if it breaks.", not really realizing the ramifications, for example a lot of apps…

> to work around bugs in public APIs that never get fixed.

According to the commenter who uncovered the cause of the issue, this is exactly what happened here

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#192
post #96

Earlier quoted context omitted.

I don’t understand what goes through the developer’s mind. A method is marked as private. It’s documented as not to be used by developers. Further documentation says that using it may break your application in strange ways now or in the future. Despite all this, the developer concludes: “yea, I think it’s a good idea to use this API!” Then, later when something breaks, it’s Shocked Pikachu all around.

Ok, but > // By overriding this built-in method the corners of the vibrant view (if set) will be smooth. If you don't override the built-in method, the corners won't be smooth. Jagged corners cause thousands of eye injuries every day. Using (or overriding) private APIs comes with risks, but sometimes it's the only way to get things done. Of course, it comes with consequences too. Sometimes vendors test their new rele…

> Sometimes vendors test their new releases with commonly use applications

"common" is an understatement. I'd bet that at least one affected, broken app is on 97%+ of macOS setups

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#193

Earlier quoted context omitted.

I don’t understand what goes through the developer’s mind. A method is marked as private. It’s documented as not to be used by developers. Further documentation says that using it may break your application in strange ways now or in the future. Despite all this, the developer concludes: “yea, I think it’s a good idea to use this API!” Then, later when something breaks, it’s Shocked Pikachu all around.

And there are people who's default setting is to hate/blame Apple because it's fashionable to do so and they are defending not just the use of but also overriding an API explicitly marked as private. I don't get it.

It's not necessarily "blaming", more a combination of:

- Apple released macOS 26 - This version was in testing for many months - During this time, Apple has apparently not tested how Slack, VSCode, Discord, work - Or they have, but haven't bothered to reach out to Electron maintainers - The overriding of the private API was in order to fix a bug with a public one

Combine all of these and there is some onus on Apple for this. If you don't fix your broken public APIs, don't be surprised when people start using your private ones that do work.

But easily the worst point is that QA apparently is limited to their own applications only. Do they really care about the user if they don't test applications found on nearly every mac setup out there? Don't they use Slack internally?!

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#195
post #62

Earlier quoted context omitted.

Abuse of private APIs means that your public API is incomplete. And that people dislike how your system behaves so much, that they're willing to muck with its internals.

No, it means that people think they know better than to listen to the warning.

People would not use private APIs (which are undocumented and prone to break) if they had documented, stable public APIs

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#196
post #75

Earlier quoted context omitted.

[flagged]

From the bug report: > It turns out Electron was overriding a private AppKit API (_cornerMask) to apply custom corner masks to vibrant views. > ... > By removing the custom _cornerMask override and associated logic, we allow AppKit to handle shadows with its default pipeline. This resolves the GPU spike while retaining shadows as expected. I'd say that most often usage of private APIs is because: 4. it probably shoul…

I don't know what the comment you're replying to said, but further down the thread:

> Electron's "_cornerMask" override was a dirty hack that was made in an effort to fix an ancient issue with corner smoothing.

So Electron used this private API to fix an issue that shouldn't have existed at all, as far as I can tell

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#197

Earlier quoted context omitted.

So you'd tell customers "No, I'm not fixing that bug because doing so would offend my aesthetic sensibilities. Yes, I know you have a support contract, but I simply refuse to address your problem even though I could"? Or maybe you'd phrase it a little differently in public.

“Poor decisions on your part do not constitute an emergency on mine.”

"Poor decisions on a third party's part do constitute an emergency on mine."

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#198

Earlier quoted context omitted.

And there are people who's default setting is to hate/blame Apple because it's fashionable to do so and they are defending not just the use of but also overriding an API explicitly marked as private. I don't get it.

It's not necessarily "blaming", more a combination of: - Apple released macOS 26 - This version was in testing for many months - During this time, Apple has apparently not tested how Slack, VSCode, Discord, work - Or they have, but haven't bothered to reach out to Electron maintainers - The overriding of the private API was in order to fix a bug with a public one Combine all of these and there is some onus on Apple f…

How come this only surfaces now? Surely large companies such as Microsoft and Slack apparently tested their products that use Electron with the public betas?

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#199

Earlier quoted context omitted.

Apple has to take some of the blame from this, MacOS without Electron apps is a much less useful proposition. If they knew they were going to change this API in this release it would have made sense to reach out and offer a public way to Electron. End of the day the needs of users running Electron apps outweighs whatever opinions the internal Apple team has about their APIs

Absolutely not. Apple has zero responsibility to anybody for changing a private API. That’s the whole point of it being marked private.

I disagree I think Apple has a responsibility to not break the biggest software used on their platform. They might not like it but I'm sure they'd dislike that software never being there at all even more.

Re: Electron-based apps cause system-wide lag on macOS 26 Tahoe

#200

Earlier quoted context omitted.

It's not necessarily "blaming", more a combination of: - Apple released macOS 26 - This version was in testing for many months - During this time, Apple has apparently not tested how Slack, VSCode, Discord, work - Or they have, but haven't bothered to reach out to Electron maintainers - The overriding of the private API was in order to fix a bug with a public one Combine all of these and there is some onus on Apple f…

How come this only surfaces now? Surely large companies such as Microsoft and Slack apparently tested their products that use Electron with the public betas?

It's very hard to notice and very easy to attribute something else. The main symptom is your laptop heating up which is usually attributed to (1) You just have a slow MacBook, you should get a new one (2) During beta, "it's a beta and it's expected to heat up and be slow" (3) People not caring about temps because they use the laptop in clamshell mode

I believe this falls into the perfect definition of "slipped thru the cracks"

Post reply on HN