From a37b36520c5e208068aa4be39495bb9e04b0e615 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 23 Apr 2026 09:33:40 +0200 Subject: [PATCH] Prefer silent mode on PHS env conflict (#13951) When PHS_SILENT and PHS_VERBOSE are both set, stop falling back to interactive mode. Changes prefer silent mode to keep automation safe and avoid blocking unattended/non-TTY updates. Only show a whiptail warning when both stdin/stdout are TTYs and whiptail is present, and ignore any whiptail errors. Added a brief comment and adjusted the fallback message accordingly. --- misc/build.func | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/misc/build.func b/misc/build.func index d1588eb89..127e8a641 100644 --- a/misc/build.func +++ b/misc/build.func @@ -3520,10 +3520,14 @@ msg_menu() { # ------------------------------------------------------------------------------ resolve_phs_mode() { if [[ -n "${PHS_SILENT+x}" ]] && [[ "${PHS_SILENT}" == "1" ]] && [[ -n "${PHS_VERBOSE+x}" ]] && [[ "${PHS_VERBOSE}" == "1" ]]; then - whiptail --backtitle "Proxmox VE Helper Scripts" \ - --title "⚠️ Configuration Conflict Warning" \ - --msgbox "PHS_SILENT and PHS_VERBOSE environment variables are both set.\n\nFalling back to interactive mode." 10 58 - PHS_MODE="interactive" + # Conflict handling must never block unattended/non-TTY updates. + # Prefer silent mode to keep automation safe. + if [[ -t 0 ]] && [[ -t 1 ]] && command -v whiptail >/dev/null 2>&1; then + whiptail --backtitle "Proxmox VE Helper Scripts" \ + --title "Configuration Conflict Warning" \ + --msgbox "PHS_SILENT and PHS_VERBOSE are both set.\n\nFalling back to silent mode." 10 58 || true + fi + PHS_MODE="silent" elif [[ -n "${PHS_SILENT+x}" ]] && [[ "${PHS_SILENT}" == "1" ]]; then PHS_MODE="silent" elif [[ -n "${PHS_VERBOSE+x}" ]] && [[ "${PHS_VERBOSE}" == "1" ]]; then