Wednesday, June 3, 2020 [Tweets] [Favorites]

Unable to Enable Safari Extensions

Jeff Johnson (tweet):

In macOS 10.15.3, Apple introduced a bug that can prevent you from enabling or disabling Safari extensions. In order to enable or disable an extension, you must click the checkbox next to the extension in the Extensions pane of Safari Preferences. […] When the bug occurs, however, then clicking the checkbox does nothing: the checkbox doesn’t get checked, and the extension doesn’t get enabled either.

[…]

I believe that this Safari bug was introduced by Apple in a bungled attempt to prevent extensions from getting enabled via “synthetic clicks.” […] In theory it may be a good idea for Apple to prevent synthetic clicks in this case, but in practice the code that Apple shipped here was buggy and caused more harm than help. Safari incorrectly identifies real user clicks as fake synthetic clicks, preventing users from enabling their installed Safari extensions.

[…]

The other issue here is the lack of a visible error message for the user. I found a message buried among thousands of other unrelated messages in Console log, but no normal Safari user will ever see that. There ought to be a warning in the Safari Preferences window. Silent failure is a security failure. If an unauthorized process were in fact trying to secretly enable Safari extensions, shouldn’t the user be made aware of that immediately?

It still happens in macOS 10.15.5.

Rob Griffiths:

Here’s the bug I filed: Safari’s Extensions prefs panel behavior can confuse users

In 10.15, Apple prevents users from enabling Safari extensions if they’re running an app with a full-screen invisible window. But with zero feedback, it just looks broken.

Rudy Richter:

its a constant complaint by users of 1Password that they can’t click it

Previously:

Update (2020-07-29): Apple (via Jeff Johnson):

Learn what to do if you can't select the checkbox to turn on a Safari extension.

6 Comments

I've been running Catalina via Dosdude's patcher on a 2009 MBP - and this bug was enough to make me revert to unsupported Mojave. Also, I had several apps that would open to completely blank windows.

This sounds suspiciously similar to the bug in the Accessibility permission system that afflicts Keyboard Maestro Engine (and presumably others) after upgrading to Catalina (or possibly other conditions) where the Keyboard Maestro Engine is listed, but the checkbox cannot be checked, and the required solution is to delete the entry and relaunch the Keyboard Maestro Engine to have it re-added so you can turn on the checkbox.

This has been around since 10.15 and shows no signs of being fixed.

Note that this is different to the bug introduced in 10.14 (and also unfixed) where applications can be listed in the Accessibility permission system and show as checked, but still not afforded all of the actual accessibility permissions, resolved by toggling the checkbox off and of.

It begs the question - if the configuration system is so buggy, how can the security system itself be trusted?

Everytime I think I'll bite the bullet to upgrade to Catalina, I run into another reason not too. Especially since I run Keyboard Maestro.

The "Window is occluded" message I saw in the Console, when trying to enable an extension, led me to close any apps that use overlays on screen, such as software brightness apps (QuickShade, Nocturnal), night mode type apps (Flux, Nocturnal), rounded corner adder apps (Displaperture).

Quitting / killing those apps (or not starting them) had resolved the issue for me, and allowed me to enable Safari Extensions again.

I saw the following by Clark2050 on the Apple Developer Forums and it worked for me installing Save to Medium extension. I had Tuck installed so I quit it and the check appeared as it should.

By quitting a APP named Tuck, which docks windows to my screen edges, I was able to enable extensions again.

BTW, thanks Clark2050!

Thanks to Joris Witteman and Hugh McMillan, I was able to get this working again. For me, it was QuickShade as well that was causing the issue. Quitting QuickShade did the trick.

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment