Nour
65b0db4e1c
feat(clean): add opt-in Docker unused data pruning ( #554 )
...
* feat(clean): add opt-in Docker unused data pruning
* fix(clean): make docker prune default
---------
Co-authored-by: Tw93 <hitw93@gmail.com >
2026-03-10 16:20:40 +08:00
Tw93
2f627ac3df
docs: refine safety design copy
2026-03-10 15:35:52 +08:00
dependabot[bot]
be1c36c20e
chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 ( #555 )
...
Bumps [golang.org/x/sync](https://github.com/golang/sync ) from 0.19.0 to 0.20.0.
- [Commits](https://github.com/golang/sync/compare/v0.19.0...v0.20.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sync
dependency-version: 0.20.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 15:32:37 +08:00
dependabot[bot]
0876e74e86
chore(deps): bump actions/attest-build-provenance from 3 to 4 ( #557 )
...
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance ) from 3 to 4.
- [Release notes](https://github.com/actions/attest-build-provenance/releases )
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md )
- [Commits](https://github.com/actions/attest-build-provenance/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 15:32:22 +08:00
Tw93
af84d6f4be
docs: strengthen public security signals
2026-03-10 15:31:07 +08:00
Tw93
a34cdee809
chore: auto format code
2026-03-09 16:24:43 +00:00
tw93
8c53923ce8
fix(status): improve disk card display refs #551
2026-03-08 23:46:46 +08:00
tw93
24da1e2ac1
fix(clean): speed up Python bytecode cache cleanup
2026-03-08 19:45:53 +08:00
tw93
4df6c9c531
chore: prepare release v1.30.0
V1.30.0
2026-03-08 16:43:59 +08:00
tw93
17751e29d9
ci: align release workflow with curated notes
2026-03-08 16:26:33 +08:00
tw93
943e68bb1c
docs: refresh security audit reference
2026-03-08 15:35:45 +08:00
tw93
2a36c662aa
fix: tighten orphan cleanup retention windows
2026-03-08 15:33:30 +08:00
tw93
26b267c4a2
fix: harden orphan cleanup and lsregister fallback
2026-03-08 15:29:25 +08:00
tw93
50efe51565
fix(clean): guard empty Xcode DeviceSupport arrays
2026-03-07 23:10:41 +08:00
github-actions[bot]
b12308f3ad
chore: update contributors [skip ci]
2026-03-07 12:38:52 +00:00
Tw93
42cc50d0fd
test(purge): cover empty menu options path
2026-03-07 20:36:47 +08:00
Tw93
faf29b05f1
Fix perl timeout fallback selection
2026-03-07 20:36:34 +08:00
Onur Taşhan
dfedc029d1
fix: handle empty menu_options in mo purge to prevent unbound variable error ( #547 )
...
When no artifacts are found during scanning, `menu_options` remains an
empty array. With `set -euo pipefail` active, expanding `${menu_options[@]}`
on an empty array causes a fatal "unbound variable" error (line 1325).
Add an early-return guard after the spinner stops: if no items were found,
print a friendly "No artifacts found to purge" message and exit cleanly.
Fixes #546
2026-03-07 20:33:47 +08:00
tw93
d189e1b84f
test: fix update and cache cleanup cases
2026-03-07 20:03:11 +08:00
tw93
300aded07b
fix(clean): avoid stalls in app support scan
2026-03-07 18:35:19 +08:00
tw93
89a9ae0ce2
fix(analyze): count top-level files in json output
2026-03-07 10:10:41 +08:00
tw93
09d0de0c8e
perf(core): optimize base functions with caching and improve robustness
...
- Add global caching for `detect_architecture`, `get_darwin_major`, `get_optimal_parallel_jobs`, and `is_ansi_supported` to reduce subshell overhead.
- Improve robustness of `get_lsregister_path` by returning 1 on failure.
- Enhance security of `get_user_home` by replacing `eval echo` with `id -P`.
2026-03-06 19:42:15 +08:00
tw93
0fabc6feec
fix(shell): suppress SC2016 in timeout perl fallback
2026-03-06 14:17:42 +08:00
Tw93
92ad46a396
fix(clean): harden project cache scans
...
Refs #541
2026-03-06 07:49:44 +08:00
Tw93
7e69a4eb71
clean orphaned Claude VM bundle
...
Fixes #537
2026-03-06 07:36:08 +08:00
Tw93
423c424f52
fix: gate main menu update action on update availability
...
Follow-up to #540 .
2026-03-06 07:19:10 +08:00
Oleksandr Redko
603df79a01
refactor: fix modernize lint issues ( #539 )
2026-03-05 20:46:12 +08:00
tw93
fc006e32be
remove startup intro animation from main menu
2026-03-05 19:13:20 +08:00
Tw93
a4890764d3
chore: auto format code
2026-03-05 09:51:52 +00:00
tw93
c3ea57d301
Resolve merge conflict in mole update helpers
2026-03-05 17:50:32 +08:00
tw93
f91975e5be
Refine update/uninstall UX and stabilize brew flows
2026-03-05 17:46:05 +08:00
Tw93
6ce1ea17d8
chore: auto format code
2026-03-05 07:31:50 +00:00
tw93
9ee425766d
chore: Update Mole version to 1.29.0
2026-03-05 15:31:11 +08:00
tw93
2578d0a920
chore: Bump version to 1.29.0
V1.29.0
2026-03-05 15:16:55 +08:00
tw93
9fea75af25
Merge branch 'main' of https://github.com/tw93/Mole
2026-03-05 13:58:25 +08:00
tw93
8e4b8a5e0d
Improve update checks and cleanup UX, add timeout regressions
2026-03-05 12:00:07 +08:00
Noah Qin
a9d7c3912f
fix(sudo): add GUI mode support for non-TTY environments ( #536 )
...
When Mole is called from GUI applications (e.g., SwiftUI apps), the
request_sudo_access() function would fail with '/dev/tty: Device not
configured' error because /dev/tty is not available in non-TTY contexts.
This commit adds automatic detection of the runtime environment and uses
macOS native password dialog (via osascript) when running in GUI mode,
while preserving all existing TTY behavior including Touch ID support.
Changes:
- Detect TTY availability before attempting terminal-based authentication
- Use osascript to display native password dialog in GUI mode
- Maintain backward compatibility with all terminal-based workflows
- Ensure secure password handling (unset after use)
Fixes commands like 'mole clean', 'mole optimize', 'mole purge' when
invoked from GUI applications.
2026-03-05 09:35:26 +08:00
tw93
fbee8da9f7
feat: add Helium Browser cleanup support
...
Add cleanup support for Helium Browser (Chromium-based) on macOS.
Helium paths added:
- ~/Library/Caches/net.imput.helium/*
- ~/Library/Application Support/net.imput.helium/*/GPUCache/*
- ~/Library/Application Support/net.imput.helium/component_crx_cache/*
- ~/Library/Application Support/net.imput.helium/extensions_crx_cache/*
- ~/Library/Application Support/net.imput.helium/GrShaderCache/*
- ~/Library/Application Support/net.imput.helium/GraphiteDawnCache/*
- ~/Library/Application Support/net.imput.helium/ShaderCache/*
- ~/Library/Application Support/net.imput.helium/*/Application Cache/*
Also added "Helium" to the browser process detection list in optimize/tasks.sh.
Closes #534
2026-03-04 19:40:35 +08:00
tw93
ff69504f89
fix: harden CI test stability and status collector resilience
2026-03-04 16:49:20 +08:00
Noah Qin
c88691c2c8
feat: add --json flag to analyze command for non-TTY environments ( #533 )
...
* feat: add --json flag to analyze command
* feat: implement JSON output mode for analyze
* refactor: rename jsonOutput flag to jsonMode to avoid conflict
2026-03-04 16:22:09 +08:00
github-actions[bot]
d35f6d0665
chore: update contributors [skip ci]
2026-03-03 18:59:46 +00:00
Noah Qin
fbaf5e7c91
fix(status): enable network data in JSON mode ( #532 )
...
Network rate calculation requires two samples to compute the delta.
In JSON mode, the collector was only called once, causing the network
field to always return nil.
This change adds a second collection call with a 1-second interval,
allowing the network rates to be calculated properly.
2026-03-04 02:59:01 +08:00
github-actions[bot]
68430737cf
chore: update contributors [skip ci]
2026-03-03 08:58:53 +00:00
tw93
d12cde5405
refactor: use bytes_to_human_kb for dynamic size formatting
...
- Replace inline dynamic formatting with shared bytes_to_human_kb()
- Apply to both clean and purge commands
- Simplify movie comparison with integer arithmetic
2026-03-03 16:58:31 +08:00
tw93
814b3680b9
feat(version): show commit hash for nightly installs ( #517 )
...
Display commit hash in parentheses after "Nightly" channel label
to help users identify exact version when testing nightly builds.
2026-03-03 16:58:31 +08:00
github-actions[bot]
c8ed94698d
chore: update contributors [skip ci]
2026-03-03 08:30:16 +00:00
tw93
8f86659032
docs: remove dev branch workflow from contributing guide
2026-03-03 16:29:51 +08:00
tw93
25cba0cf38
refactor(clean): simplify Xcode DeviceSupport cleanup logic
...
- Use array slicing instead of manual loop for splitting dirs
- Remove redundant early returns with duplicated safe_clean calls
- Consolidate cache/logs cleanup to single location at function end
2026-03-03 16:16:52 +08:00
tw93
b663974f76
Merge branch 'dev'
2026-03-03 16:06:42 +08:00
github-actions[bot]
7e19b2673b
chore: update contributors [skip ci]
2026-03-03 08:06:16 +00:00