1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 20:19:45 +00:00
Commit Graph

1252 Commits

Author SHA1 Message Date
Bhadra
b8d8771878 fix: update go.mod and go.sum with all dependencies
Run go mod tidy to add missing indirect dependencies required for CI build.
This fixes the 'missing go.sum entry' errors in the test workflow.
2026-01-12 11:03:37 +05:30
Bhadra
017a1311b8 fix: address Copilot review feedback for dev cleanup
- Use age-based cleanup (90 days) for Cabal packages instead of clearing all
- Skip Mix archives cleanup to preserve globally installed tools
- Use age-based cleanup for Hex packages instead of clearing all
- Use age-based cleanup for Stack programs (GHC installations)
- Remove workspaceStorage from VS Code cleanup to preserve workspace settings
- Add missing cache paths for VS Code Insiders (CachedExtensions, etc.)

These changes make cleanup less aggressive and prevent accidental removal
of user-installed tools and workspace preferences.
2026-01-12 10:59:29 +05:30
github-actions[bot]
7ea1ecdea2 chore: update contributors [skip ci] 2026-01-12 05:23:48 +00:00
Bhadra
81c3b97878 fix(ci): update workflows for Windows branch
- Rewrite check.yml for Windows (PowerShell syntax check, Go linting)
- Rewrite test.yml for Windows (Pester tests, Go tests, security checks)
- Rewrite release.yml for Windows releases (W* tags, zip package)
- Update update-contributors.yml to trigger on windows branch
2026-01-12 10:53:29 +05:30
Bhadra
e648ceceb0 feat: add cleanup support for Elixir, Haskell, OCaml, and Editors
Windows port of biplavbarua's extended dev cleanup feature:
- Elixir: Mix archives and Hex cache cleanup
- Haskell: Cabal packages/store and Stack programs cache
- OCaml: Opam download and repo cache
- Editors: VS Code, VS Code Insiders, Zed, Sublime Text, Atom caches

Mirrors the macOS implementation from PR #287
2026-01-10 12:30:15 +05:30
Tw93
edf5ed09a9 chore: restructure windows branch (move windows/ content to root, remove macos files) 2026-01-10 13:23:29 +08:00
Tw93
e84a457c2f Merge branch 'main' into dev 2026-01-10 13:05:53 +08:00
Tw93
ef713afda7 update test 2026-01-10 09:41:17 +08:00
Tw93
8a3443be4d update readme 2026-01-10 08:58:16 +08:00
Tw93
8118cab604 Merge branch 'main' of github.com:tw93/Mole 2026-01-10 08:52:12 +08:00
Tw93
7d43e669a8 fix(analyze): improve deletion safety and UI clarity
- Update UI status to 'Moving to Trash...' for clarity
- Use os.Lstat instead of os.Stat to correctly handle broken symlinks during deletion checks
2026-01-10 08:51:14 +08:00
Tw93
273a6b5cf0 fix(clean): enhance orphan detection accuracy and safety
- Expand app scan to include Homebrew Cask and Setapp locations
- Add lsappinfo fallback for more reliable running app detection
- Add sensitive data protection patterns (1Password, Keychain, etc.)
- Add mdfind fallback with file-based caching (Bash 3.2 compatible)
2026-01-10 08:51:14 +08:00
Tw93
9c39eef7fe chore: auto format code 2026-01-10 00:23:16 +00:00
Tw93
0a654f365b fix(clean): enhance orphan detection accuracy and safety
- Expand app scan to include Homebrew Cask and Setapp locations
- Add lsappinfo fallback for more reliable running app detection
- Add sensitive data protection patterns (1Password, Keychain, etc.)
- Add mdfind fallback with file-based caching (Bash 3.2 compatible)
2026-01-10 08:22:17 +08:00
github-actions[bot]
b952752a7d chore: update contributors [skip ci] 2026-01-09 23:25:33 +00:00
Tw93
ebb4f7a1e9 feat(analyze): safer deletion with Trash and two-key confirm
- Change delete confirmation from double-delete to Delete→Enter
- Move files to macOS Trash instead of permanent deletion
- Allow file recovery from Trash if accidentally deleted
- Update UI prompts to show 'Press Enter to confirm'
- Skip Finder-dependent tests in CI environments
- Update SECURITY_AUDIT.md with new safety mechanisms

Closes #288
2026-01-10 07:24:58 +08:00
Biplav Barua
3507870275 feat: add Angular, SvelteKit, Astro, and coverage to purge targets (#286) 2026-01-10 00:05:38 +08:00
Tw93
cbd777bf14 Update documents and instructions 2026-01-09 17:13:34 +08:00
Tw93
cce0afecc5 Merge branch 'dev' of github.com:tw93/Mole into dev 2026-01-09 15:10:36 +08:00
Tw93
124e498f15 refactor(windows): fix cmdlet shadowing and enforce dependency isolation 2026-01-09 15:10:26 +08:00
github-actions[bot]
9915d5e56f chore: update contributors [skip ci] 2026-01-09 06:50:00 +00:00
Tw93
e40a992f7e Merge branch main into dev 2026-01-09 14:49:31 +08:00
Tw93
ea00d979da Merge branch 'main' into dev 2026-01-09 14:49:08 +08:00
Tw93
ce8989d3e9 chore: auto format code 2026-01-09 06:44:51 +00:00
Tw93
e33e428569 fix: add KeePassXC new bundle id to protection list (#285) 2026-01-09 14:43:50 +08:00
Tw93
24fa0f8f21 feat: Add cleanup rule for Quark (夸克) video cache (#279) 2026-01-09 14:38:59 +08:00
github-actions[bot]
07e1ee0f3e chore: update contributors [skip ci] 2026-01-09 06:16:55 +00:00
Tw93
2b5dd3f44c feat: show scanning progress as percentage in disk analyzer
- Implemented progress percentage display (e.g., `(45%)`) in `cmd/analyze` to show scanning status based on cached total files.
- Kept the UI clean by avoiding a full progress bar.
- fix: formatting improvements in `bin/touchid.sh`.
2026-01-09 14:16:29 +08:00
github-actions[bot]
bb4561e682 chore: update contributors [skip ci] 2026-01-09 03:02:38 +00:00
Tw93
2394c5d768 feat(touchid): add sudo_local support with silent migration 2026-01-09 11:02:10 +08:00
Bhadra
ee2c798b29 docs: url update 2026-01-08 23:08:44 +05:30
Bhadra
2e0714d1fe docs: add Windows platform support section to README 2026-01-08 23:07:55 +05:30
Bhadra
9b40c5acf4 fix(windows): support arrow key escape sequences in interactive menus
Some terminals send escape sequences (ESC [ A/B) instead of VirtualKeyCode
for arrow keys. Now handles both methods for better terminal compatibility.
2026-01-08 22:49:43 +05:30
Bhadra
800db2429d fix(windows): address code review security and reliability issues
- Add protection checks to Go analyze tool before delete operations
- Use try/finally to ensure Windows Update service restarts after cleanup
- Don't count interactive uninstall as automatic success
- Tighten orphaned app detection with stricter prefix matching
2026-01-08 22:25:57 +05:30
Bhadra
3255fa2451 fix(windows): fix CI function name and purge return type handling
- Fix Test-IsProtectedPath -> Test-ProtectedPath in CI workflow
- Fix purge.ps1 to handle boolean return from Remove-SafeItem
- Add C:\Program Files and C:\Program Files (x86) to ProtectedPaths
2026-01-08 21:37:07 +05:30
Bhadra
cfe8ea0724 fix(windows): address code review issues
- Fix openInExplorer to actually execute explorer.exe (was a no-op)
- Load System.Windows.Forms assembly before using Clipboard
- Use Remove-SafeItem in purge for consistent safety checks
- Fix Dropbox typo (was DroplboxCache)
2026-01-08 20:08:41 +05:30
Bhadra
34affd75c4 fix(windows): fix install script directory copy to prevent nesting
- Remove existing directories before copying to prevent nested folder structures (e.g., bin/bin)
- This fixes 'Unknown command' errors after installation
2026-01-08 19:59:51 +05:30
Bhadra
7b03fceaf8 perf(windows): speed up analyze scanning with shallow depth
- Reduce timeout from 5s to 500ms per directory
- Limit scan depth to 3 levels for quick size estimation
- Reduce max files scanned from 50k to 10k
- Results now appear in 1-2 seconds instead of minutes
2026-01-08 19:40:38 +05:30
Bhadra
3653900e2d fix(windows): fix property access errors and scanning performance
- Fix analyze: Add timeout and depth limits to calculateDirSize() to prevent
  indefinite scanning on large directories like user profile
- Fix purge: Add null checks for .Count property access under StrictMode
- Fix uninstall: Wrap registry property access in try/catch for items without
  DisplayName, and add null checks throughout
- Fix mole.ps1: Add null check for Arguments.Count
- Add try/catch around CursorVisible calls for non-interactive terminals

All 73 Pester tests and all Go tests pass.
2026-01-08 19:33:26 +05:30
Bhadra
3ebaeefa18 fix(windows): fix CLI argument passing for switches like -DryRun
- Fix mole.cmd batch launcher to properly pass switch arguments
- Store %~dp0 before parse loop to avoid expansion issues
- Use PowerShell splatting in Invoke-MoleCommand for proper switch handling
- Rename $script:DryRun to $script:MoleDryRunMode in file_ops.ps1 to avoid
  variable shadowing when dot-sourcing
- Handle switches passed as strings (e.g., '-ShowHelp') in mole.ps1 Main()

Fixes issue where 'mole clean -DryRun' would run cleanup instead of preview.
2026-01-08 18:08:59 +05:30
Bhadra
230ca07c7f feat(windows): add Windows support Phase 4 - testing and CI
- Pester test suite for PowerShell scripts (Core, Clean, Commands)
- Go tests for TUI tools (analyze, status)
- GitHub Actions workflow for Windows CI
- Build and test automation scripts (test.ps1, build.ps1)
2026-01-08 16:41:03 +05:30
Bhadra
8a37f63bc7 feat(windows): add Windows support Phase 3 - TUI tools
Add Go-based TUI tools for Windows:
- cmd/analyze: Interactive disk space analyzer with Bubble Tea
- cmd/status: Real-time system health monitor using gopsutil/WMI
- bin/analyze.ps1: Wrapper script for analyze tool
- bin/status.ps1: Wrapper script for status tool
- Makefile: Build automation for Go tools
- Updated README.md with Phase 3 documentation
2026-01-08 16:18:26 +05:30
Bhadra
6e0d850d6a feat(windows): add Windows support Phase 2 - cleanup features
Add cleanup modules and command scripts for Windows:
- lib/clean: user, caches, dev, apps, system cleanup modules
- bin/clean: deep cleanup orchestrator with dry-run and whitelist
- bin/uninstall: interactive app uninstaller
- bin/optimize: system optimization and health checks
- bin/purge: project artifact cleanup

All scripts support dry-run mode and follow safe deletion practices.
2026-01-08 15:46:45 +05:30
github-actions[bot]
137d9eaec4 chore: update contributors [skip ci] 2026-01-08 09:23:04 +00:00
Bhadra
a53b48ef3b fix(windows): fix encoding issues in PowerShell scripts
- Simplified banner in install.ps1 and ui.ps1 to avoid Unicode box-drawing
  characters that caused parsing errors on some Windows systems
- Fixed PowerShell 5.1 compatibility for ANSI color codes using [char]27
- Renamed Show-Help to Show-InstallerHelp to avoid potential conflicts
- Changed -Help parameter to -ShowHelp for consistency with mole.ps1
2026-01-08 14:46:05 +05:30
Tw93
7a9a8c7124 Merge pull request #274 from alexandear-org/fix/golangci-lint-config
fix: golangci-lint config
2026-01-08 17:00:33 +08:00
Bhadra
a4b5fe77cf feat(windows): add Windows support Phase 1 - core infrastructure
Add isolated Windows support in windows/ directory with zero changes to existing macOS code.

Phase 1 includes:
- install.ps1: Windows installer with PATH and shortcut support
- mole.ps1: Main CLI entry point with menu system
- lib/core/base.ps1: Core definitions, colors, icons, constants
- lib/core/common.ps1: Common functions loader
- lib/core/file_ops.ps1: Safe file operations with protection checks
- lib/core/log.ps1: Logging functions with colors
- lib/core/ui.ps1: Interactive UI components (menus, confirmations)
- go.mod/go.sum: Go module for future TUI tools
- README.md: Windows-specific documentation

Closes #273
2026-01-08 14:24:11 +05:30
Tw93
6be1915db2 1.20.0 V1.20.0 2026-01-08 16:25:32 +08:00
Oleksandr Redko
f1de7ffd18 fix: golangci-lint config 2026-01-08 10:20:42 +02:00
Tw93
5eb2edf1cd fix: resolve spinner display and Ctrl+C handling issues
- fix(clean): stop spinner before safe_clean outputs results
- fix(uninstall): handle Ctrl+C during application scanning
2026-01-08 16:17:39 +08:00