diff --git a/setup.sh b/setup.sh index ae87d0761a..2de23a6150 100755 --- a/setup.sh +++ b/setup.sh @@ -794,7 +794,9 @@ main() { # Also check legacy .conf user override if [[ -z "$_pulse_user_config" && -f "${FEATURE_TOGGLES_USER:-$HOME/.config/aidevops/feature-toggles.conf}" ]]; then local _legacy_val - _legacy_val=$(grep -E '^supervisor_pulse=' "${FEATURE_TOGGLES_USER:-$HOME/.config/aidevops/feature-toggles.conf}" 2>/dev/null | tail -1 | cut -d= -f2) + # Use awk instead of grep|tail|cut — grep exits 1 on no match, which + # aborts the script under set -euo pipefail. awk always exits 0. + _legacy_val=$(awk -F= '/^supervisor_pulse=/{val=$2} END{print val}' "${FEATURE_TOGGLES_USER:-$HOME/.config/aidevops/feature-toggles.conf}") if [[ -n "$_legacy_val" ]]; then _pulse_user_config="$_legacy_val" fi @@ -836,13 +838,13 @@ main() { _do_install=true # Record explicit consent if type cmd_set &>/dev/null; then - cmd_set "orchestration.supervisor_pulse" "true" 2>/dev/null || true + cmd_set "orchestration.supervisor_pulse" "true" || true fi else _do_install=false # Record explicit decline so we never re-prompt on updates if type cmd_set &>/dev/null; then - cmd_set "orchestration.supervisor_pulse" "false" 2>/dev/null || true + cmd_set "orchestration.supervisor_pulse" "false" || true fi print_info "Skipped. Enable later: aidevops config set orchestration.supervisor_pulse true && ./setup.sh" fi