Update quarantine-manager extension#28620
Conversation
- Merge upstream Store contributions (execFileSync hardening, optimized images) - Pull contributions - Add app/folder quarantine scanning; fix binary xattr display - Add installation link for Raycast Extension - GitHub release: add screenshots to README, update CHANGELOG to v1.0.0
|
Thank you for the update! 🎉 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days. |
Greptile SummaryThis PR extends the Quarantine Manager extension to support directory and
Confidence Score: 5/5The change is safe to merge; the only finding is a minor changelog date format issue. The directory scanning logic is well-structured: the shallow path chunks children to stay under ARG_MAX and appends a sentinel to force prefixed xattr output, while the recursive path delegates entirely to xattr -r. The removal handlers correctly reuse the existing xattr -dr path and the new xattr -cr path behind confirmation dialogs. No logic errors or security issues were found in the changed code. No files require special attention beyond the CHANGELOG placeholder fix. Important Files Changed
Prompt To Fix All With AIFix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
extensions/quarantine-manager/CHANGELOG.md:3
The update entry uses a hardcoded date (`2026-06-08`) instead of the `{PR_MERGE_DATE}` placeholder. Raycast's convention is for the merge date to be populated automatically at release time — a hardcoded date bypasses that mechanism and may be incorrect if the PR merges on a different day.
```suggestion
## [Scan apps and folders] - {PR_MERGE_DATE}
```
Reviews (3): Last reviewed commit: "Update CHANGELOG.md" | Re-trigger Greptile |
|
Thanks for the review @greptile-apps — addressed in the latest commit:
|
|
All three fixes look good:
LGTM — the core correctness bugs are resolved and the ESLint constraint is a legitimate override. Tip: You can customize Greptile's behavior for this repo with |
|
@0xdhrv thank you for reviewing and approving the original submission (#25892)! This is a follow-up update to the same extension, adding the app/folder quarantine scanning that was requested there. If you have a moment, would you mind taking a look? All CI checks pass and the Greptile review feedback has been addressed. No rush at all — much appreciated. 🙏 |
0xdhrv
left a comment
There was a problem hiding this comment.
Looks good to me, approved ✅
|
Published to the Raycast Store: |
|
🎉 🎉 🎉 We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag. |
Description
Update to the existing Quarantine Manager extension.
This implements a community feature request from the original submission (#25892): support for checking apps and folders, not just single files. macOS app bundles in particular can contain many internal quarantined files that a top-level check would miss.
What's new
.appnow scans its contents for quarantined files:.app) are scanned recursively (bundles are self-contained), surfacing every internal quarantined file plus the bundle's own flag.Downloadsstay responsive.com.apple.quarantinefrom a whole bundle/folder at once viaxattr -dr, after a confirmation showing how many items are affected. A recursive "Remove All Attributes" (xattr -cr) is also available.com.apple.macl,com.apple.provenance) are now displayed as hex instead of unreadable control characters.Directory scanning batches
xattrcalls and usesspawnSync/execFileSyncwith array arguments (no shell-string interpolation of paths), consistent with the existing hardening.Resolves the request in #25892.
Screencast
Tested locally via
npm run devand a distribution build (npm run build) in Raycast:.app→ recursive list of internal quarantined files (and the bundle's own flag).~/Downloads→ immediate quarantined children only.Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder