README: add Mole, surface recently-shipped features in comparison + safety model#26
Merged
Conversation
Comparison table:
- Add Mole column (tw93/Mole — 54.2k stars, CLI-first MIT cleaner)
- New rows for what the codebase actually does now and what
differentiates Mac Clean from the rest:
* Native GUI app (CLI-only callout for Mole)
* Universal Binary thinning (lipo-based fat-binary slimming)
* In-app activity log viewer (post-clean sheet with copy-all)
- Test count badge 275 → 388
Features section:
- System Junk row calls out Universal Binary thinning with a one-
sentence mechanic (lipo + native-arch detection)
- Maintenance row mentions severity tagging, 'Run All' confirmation,
mid-flight cancellation
Safety Model:
- Adds firmlink canonicalization (var↔private/var etc.)
- Adds pre-scan cleanability filter (drops items access(W_OK) denies
so the UI never offers root-owned or UF_DATAVAULT items)
- Replaces stale '10,000 file cap' line with the real story —
chunked cleanup, 50k confirmation, recursive byte accounting
- Adds in-app log viewer + 30-day prune callout
- Adds kernel-enforced XPC code-signing requirement
Acknowledgments:
- Fix dead links: Mole (nicehash/Mole → tw93/Mole) and
Tencent Lemon Cleaner (nicehash/Lemon → Tencent/lemon-cleaner).
Adds assets/menu_bar.png and rewrites the "Menu Bar Monitor" section into "Menu Bar Widget" — the shipped glassmorphism widget: 2×2 stat ring grid (CPU/Memory/Disk/Battery), network/uptime/swap, actionable Recommendations, Protection status, Connected devices, and throttled health alerts. Bumps the test badge 388 → 403 to match main. Merged main into this branch first so it carries the merged menu-bar and scan-correctness work. Verified the full local gate (check-version-sync + swift build + swift test, 403 passing) before pushing.
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.
Why
Comparison table predates 1.5.x. We've shipped real features since (Universal Binary thinning, in-app activity log viewer, kernel-enforced XPC, pre-scan cleanability filter, Maintenance Run All safety, chunked cleanup) and Mole — referenced in Acknowledgments — was never in the table.
Changes
Comparison table (
How Mac Clean comparessection)Native GUI app— surfaces Mole's CLI-only status honestlyUniversal Binary thinning— Mac Clean ✅, CleanMyMac ✅, everyone else ❌In-app activity log viewer— unique to Mac CleanUninstaller with leftover detection(its strength) and ❌ for everything it doesn't do; ➖ forDisk treemap visualizer(it has an analyzer but not a treemap)Features section
lipo+ native-arch detection) instead of being buried in a comma listSafety Model section — replaces stale wording with what the code actually does now:
/var↔/private/varand friends)access(W_OK)denies — root-owned children +UF_DATAVAULTApple caches)Task.isCancelledresponsiveness) — replaces the obsolete "10,000 file cap" lineNSXPCListener.setCodeSigningRequirement)Badges
Acknowledgments
nicehash/Mole→tw93/Mole,nicehash/Lemon→Tencent/lemon-cleaner(both prior links 404)Not in this PR
VERSIONbump — README-only, no shipping artifact changesTest plan