Jean-Daniel/Spark

AppleScript action not invoked

GeorgeBogosian opened this issue · 3 comments

Hi,

I've mapped my keyboard's "Clear" button (⌧) to call a script, but with the latest commits (Oct 20), this doesn't work anymore (tried setting different keys as well).

When I repeatedly press the button, I can see the Spark Daemon CPU usage increasing in the background, but the script is not invoked. Pressing the "Run" button does invoke the script correctly though.

I've reverted to the previous version for now.
Clear_Button_Script

I did just try with a simple script:

do shell script "say 'hello'"

and it works on my machine with a properly signed and notarised version.

This is probably due to Hardened Runtime restriction. Try disabling it for both Spark and Spark Daemon the build settings and see if it solve your problem.

Hi @Jean-Daniel and thanks for taking a look.

I tried building Spark from source, but got build errors (some files missing from SArchiveKit).

In any case, I managed to resolve this by removing Spark and Spark Daemon from "Security & Privacy" > "Privacy" > "Input Monitoring" (they were there, and allowed, from the previous version) and adding them back again after installing the newer version.

Upon first use, Spark will prompt an alert to grant access, but there is no alert for Spark Daemon. It has to be manually dragged from "/Applications/Spark.app/Contents/MacOS/Spark Daemon.app" and dropped in the "Input Monitoring" list.

Hi @Jean-Daniel and thanks for taking a look.

I tried building Spark from source, but got build errors (some files missing from SArchiveKit).

Because it contains a git submodule too that need to be fetch. You can do that by passing the recursive flag when updating submodules.

git submodule update --init --recursive

Upon first use, Spark will prompt an alert to grant access, but there is no alert for Spark Daemon.

The new macOS Security feature is very inconsistent. Automation for instance don't need Spark Daemon and all requests are shown as coming from the top Bundle (Spark).

Looks like some other need Spark Daemon directly. Note that Input Monitoring is not required to run most Spark functions. It uses macOS Global Shortcut API which don't require any special permission.

It may need Accessibility to forward caught shortcut to the front app in some cases. And some plugins may requires other permissions, but the base functions don't require special configuration.