Tahoe Electron Detector

No, we’re not doing science at California’s most beautiful lake.

We’re looking for bugs.

A popular cross-platform app development framework called Electron is using private and undocumented API that’s causing system-wide slowdowns in macOS Tahoe.

We’re hearing from customers that some of our apps are running slowly on Tahoe and I suspect that this bug has something to do with it. Unfortunately, it’s hard for customers to check which version of Electron is being used and see if that might be a cause. So I decided to do something about that…

Luckily there’s script written by Tomas Kafka that lets you do the check all your apps quickly and easily. I took that script, updated some parts that required Xcode to be installed, and wrapped it up in an Apple Script applet that’s easy to download and run:

Download TahoeElectronDetector.zip

When you run the app, you’ll see a short introduction:

Introduction of TahoeElectronDetector check explaining what will happen.

The first time you run the app, you’ll see a warning that the app was prevented from modifying other apps on your system. This is “normal” because the app needs to read other apps to do its job:

After all apps are checked, you’ll see the results:

Results of TahoeElectronDetector check with red X shown in front of apps that do not pass.

Eventually, you’ll see ✅ in that window and know that one or all of your Electron apps have been updated.

If you’re one of those people who’s wondering when it’s a good time to upgrade to Tahoe, you can run TahoeElectronDetector on older versions of macOS and give yourself an idea of when it’s safe to move to the new operating system.

Additionally, there’s a website that lists the status of the most popular apps. This will be helpful in locating newer versions since some of them will not update automatically.

If you’re a Mac developer who’s hearing from customers about weird slowness, feel free to point them at this web page or give them a copy of the app to check their own system. If you need the source code, it can be downloaded here.

And if you’re a developer, this is your periodic reminder not to use private and undocumented parts of an API. It will break, and in cases like this, it will be spectacular.