Repository navigation
Remove quarantine attributes from App Store bundles - #235
Conversation
|
Claude finished @delano's task —— View job Code review: remove quarantine attributes from App Store bundles
Verdict: approve-with-nits. The change is correct, tightly scoped, and the ordering claims in the PR description hold up against the script. No blocking issues. Notes below are mostly about the durability of the tests and two stale items in the PR description. What I verified
Nits and suggestions (non-blocking)
Two stale items in the PR description
I did not run the suite — |
xattr follows symbolic links unless given -s, so the recursive delete could strip quarantine from a link target outside the bundle, and a dangling link aborted both the cleanup and the prepackage listing. Both now pass -s and act on the bundle's own entries. The prepackage check moves up with the other bundle content checks, so PKG sits next to its only use, and a failure prints only the quarantined paths instead of every attribute in the bundle. Tests now locate each script fragment by a marker that must occur once, and pin what the fragments assume: the cleanup follows the profile copy and precedes signing, nothing writes into the bundle after it, and the prepackage check sits inside the App Store block. These layout tests run on Linux as well. Addresses review feedback on PR 235.
Replace the unsourced mapping from error 91109 to a quarantined profile with Apple's rejection text as quoted on the Apple Developer Forums, the DTS note on where the attribute comes from, and the cp man page entry for -X. Addresses review feedback on PR 235.
|
There was a problem hiding this comment.
🟢 Approval recommended
The cleanup is correctly scoped and ordered, with comprehensive automated coverage.
0 open findings
What changed in this PR
Removes quarantine attributes from App Store bundles and verifies they are absent before packaging.
Changes:
- Adds scoped quarantine cleanup and validation.
- Adds macOS integration and layout tests.
- Fixes
TimeRailViewstatic property isolation.
| File | Description |
|---|---|
scripts/package-app.sh |
Cleans and validates App Store bundles. |
scripts/tests/test_app_store_quarantine.py |
Tests cleanup, failures, symlinks, and ordering. |
docs/development/testflight-distribution.md |
Documents quarantine handling. |
shell/Sources/CompanionKit/TimeRailView.swift |
Marks width constants nonisolated. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Signed-off-by: Delano <1206+delano@users.noreply.github.com>
Summary
docs/development/testflight-distribution.md.Also in this branch
shell/Sources/CompanionKit/TimeRailView.swift: markswidthandexperimentalWidthnonisolatedsononisolated static func width(experimental:)can read them. Unrelated to quarantine; CI on main passes without it. Its commit (72a355a) has a malformed subject: "Fix", with the intended subject on the second line.Review guide
scripts/package-app.sh: cleanup is limited to the App Store lane and runs after the final profile copy; the prepackage check sits with the other bundle content checks, before the signature checks.scripts/tests/test_app_store_quarantine.pyfor real-xattr coverage and the layout tests.Validation
python3 -m unittest discover -s scripts/tests(65 tests)