mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 08:10:44 +00:00
fix(installer): handle macos gum node failures
This commit is contained in:
@@ -404,7 +404,7 @@ is_shell_function() {
|
||||
is_gum_raw_mode_failure() {
|
||||
local err_log="$1"
|
||||
[[ -s "$err_log" ]] || return 1
|
||||
grep -Eiq 'setrawmode' "$err_log"
|
||||
grep -Eiq 'setrawmode|inappropriate ioctl' "$err_log"
|
||||
}
|
||||
|
||||
run_with_spinner() {
|
||||
@@ -412,13 +412,25 @@ run_with_spinner() {
|
||||
shift
|
||||
|
||||
if [[ -n "$GUM" ]] && gum_is_tty && ! is_shell_function "${1:-}"; then
|
||||
local gum_err
|
||||
local gum_err gum_out
|
||||
gum_err="$(mktempfile)"
|
||||
if "$GUM" spin --spinner dot --title "$title" -- "$@" 2>"$gum_err"; then
|
||||
gum_out="$(mktempfile)"
|
||||
if "$GUM" spin --spinner dot --title "$title" -- "$@" >"$gum_out" 2>"$gum_err"; then
|
||||
if is_gum_raw_mode_failure "$gum_out" || is_gum_raw_mode_failure "$gum_err"; then
|
||||
GUM=""
|
||||
GUM_STATUS="skipped"
|
||||
GUM_REASON="gum raw mode unavailable"
|
||||
ui_warn "Spinner unavailable in this terminal; continuing without spinner"
|
||||
"$@"
|
||||
return $?
|
||||
fi
|
||||
if [[ -s "$gum_out" ]]; then
|
||||
cat "$gum_out"
|
||||
fi
|
||||
return 0
|
||||
fi
|
||||
local gum_status=$?
|
||||
if is_gum_raw_mode_failure "$gum_err"; then
|
||||
if is_gum_raw_mode_failure "$gum_err" || is_gum_raw_mode_failure "$gum_out"; then
|
||||
GUM=""
|
||||
GUM_STATUS="skipped"
|
||||
GUM_REASON="gum raw mode unavailable"
|
||||
|
||||
Reference in New Issue
Block a user