mirror of
https://github.com/tw93/Mole.git
synced 2026-02-04 17:24:45 +00:00
fix: improve uninstall guidance and timeouts
This commit is contained in:
@@ -183,9 +183,21 @@ brew_uninstall_cask() {
|
||||
local uninstall_ok=false
|
||||
local brew_exit=0
|
||||
|
||||
# Calculate timeout based on app size (large apps need more time)
|
||||
local timeout=300 # Default 5 minutes
|
||||
if [[ -n "$app_path" && -d "$app_path" ]]; then
|
||||
local size_gb=$(($(get_path_size_kb "$app_path") / 1048576))
|
||||
if [[ $size_gb -gt 15 ]]; then
|
||||
timeout=900 # 15 minutes for very large apps (Xcode, Adobe, etc.)
|
||||
elif [[ $size_gb -gt 5 ]]; then
|
||||
timeout=600 # 10 minutes for large apps
|
||||
fi
|
||||
debug_log "App size: ${size_gb}GB, timeout: ${timeout}s"
|
||||
fi
|
||||
|
||||
# Run with timeout to prevent hangs from problematic cask scripts
|
||||
if HOMEBREW_NO_ENV_HINTS=1 HOMEBREW_NO_AUTO_UPDATE=1 NONINTERACTIVE=1 \
|
||||
run_with_timeout 300 brew uninstall --cask "$cask_name" 2>&1; then
|
||||
run_with_timeout "$timeout" brew uninstall --cask "$cask_name" 2>&1; then
|
||||
uninstall_ok=true
|
||||
else
|
||||
brew_exit=$?
|
||||
|
||||
Reference in New Issue
Block a user