macOS: add Apple Events entitlement for native browser URL capture - #1411
Merged
ErikBjare merged 1 commit intoSep 3, 2026
Merged
Conversation
Contributor
Greptile SummaryAdds a dedicated macOS application entitlement set containing Apple Events Automation while retaining narrower entitlements for nested binaries.
Confidence Score: 5/5The pull request appears safe to merge, with application-only Apple Events access correctly separated from nested helper entitlements. The changed Qt and Tauri signing paths preserve their existing signing options and ordering while applying the expanded entitlement set only at the outer application layer. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
Shared[Shared runtime entitlements] --> QtHelpers[Qt nested watchers and helpers]
Shared --> TauriHelpers[Tauri nested watchers and helpers]
App[Application entitlements including Apple Events] --> QtApp[Qt outer application]
App --> TauriApp[Tauri outer application]
QtHelpers --> QtApp
TauriHelpers --> TauriApp
QtApp --> QtArtifact[Signed Qt bundle]
TauriApp --> TauriArtifact[Signed Tauri bundle]
Reviews (1): Last reviewed commit: "fix(macos): add Apple Events entitlement..." | Re-trigger Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ActivityWatch's native macOS watcher already retrieves Chrome and Safari URLs through Apple Events/ScriptingBridge. Distributed macOS builds use Hardened Runtime, but the responsible outer application is not signed with
com.apple.security.automation.apple-events, so TCC refuses to present the Automation permission prompt.The decisive TCC diagnostic is:
Controlled before/after testing showed the existing watcher working once the entitlement was added to the responsible application:
Change
BUNDLEsigning pass otherwise replaces the earlieraw-qtsignature settings.Artifact validation
pyinstaller --clean --noconfirm aw.spec.TAURI_BUILD=truebuild/package flow.aw-qtandaw-tauri, and its absence from nestedaw-watcher-windowand Swift helper executables.codesign --verify --deep --strictpassed for both artifacts.Developer ID notarization was not reproduced without production Apple credentials; upstream release CI remains the authoritative validation for that layer.