fix: better timeouts and retries for tcc perms propagation - #64
Merged
Merged
Conversation
iray-tno
added a commit
to iray-tno/hozo
that referenced
this pull request
Sep 16, 2026
…t here (#455) Fixes the flaky VoiceOver setup. Workaround for an upstream bug, written up in #454. ## What changes - `@guidepup/setup` runs **without `--ci`**, so it no longer tries to enable Do Not Disturb. - The step now verifies what the tests actually need, on macOS: `SCREnableAppleScript` is `1`, the VoiceOver AppleScript marker file exists (while SIP is off), and `osascript` can drive System Events. Setup **and** these checks are retried three times. - That replaces what `--ci` was buying here: it made a failed TCC write fatal. Without the checks, `setup` exits 0 even when it leaves the environment unusable (`guidepup/setup#61`). ## Why `--ci` enables Do Not Disturb, and on macOS 13+ the only implementation drives Control Center through `tell application "System Events"`. That needs Automation permission for the process TCC holds responsible, and Guidepup grants it to a hard-coded list of client paths. On some runners the responsible process is not one of them: - Run [35005725595](https://github.com/iray-tno/hozo/actions/runs/35005725595) failed **all fifteen attempts** (3 here × 5 inside Guidepup) with `Not authorized to send Apple events to System Events (-2700)`, with no TCC write error — the grants were written and still did not apply. - The rerun passed on a different machine with the **identical** image (`macos-15-arm64` `20260907.0337.1`, macOS `15.7.9`). - Upstream's fix for this exact symptom (`guidepup/setup#64`) is already in the pinned 0.25.3. Do Not Disturb costs nothing here: notifications do not interrupt a headless runner. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01DF7JFtqDWG1odvT3z9xFy5
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.
Issue
No issue.
Details
Occasionally see apple event permission errors when really the successful TCC.db update should have covered it. There is potential propagation time + caches, so adding more timeouts and retries to see if improves success rate for DnD steps etc.
CheckList