From e63332742a61434ff2adcea4d28b59680ec58ca1 Mon Sep 17 00:00:00 2001 From: mazelado Date: Sat, 24 Oct 2026 08:22:03 -0500 Subject: [PATCH] fix(addons): use catch_errors so the update marker is cleared (#18128) Addons only trapped ERR, so on_exit never ran and ~/..pending from fetch_and_deploy_release survived every successful update: each later run reported 'the last run did not finish' and redeployed. Use catch_errors, as ct scripts and dockhand.sh already do. Claude-Session: https://claude.ai/code/session_01BNGzU5KdgKFAGcqJECnnav Co-authored-by: Matt Daleo <12395090+mazelado@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 --- tools/addon/actual-budget-prometheus-exporter.sh | 2 +- tools/addon/adguardhome-sync.sh | 2 +- tools/addon/coder-code-server.sh | 2 +- tools/addon/copyparty.sh | 2 +- tools/addon/cronmaster.sh | 2 +- tools/addon/filebrowser-quantum.sh | 2 +- tools/addon/filebrowser.sh | 2 +- tools/addon/immich-public-proxy.sh | 2 +- tools/addon/jellystat.sh | 2 +- tools/addon/nextcloud-exporter.sh | 2 +- tools/addon/olivetin.sh | 2 +- tools/addon/pihole-exporter.sh | 2 +- tools/addon/prometheus-paperless-ngx-exporter.sh | 2 +- tools/addon/qbittorrent-exporter.sh | 2 +- tools/addon/sparkyfitness-garmin.sh | 2 +- tools/addon/webmin.sh | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tools/addon/actual-budget-prometheus-exporter.sh b/tools/addon/actual-budget-prometheus-exporter.sh index 476ae2274..c029fb275 100644 --- a/tools/addon/actual-budget-prometheus-exporter.sh +++ b/tools/addon/actual-budget-prometheus-exporter.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "actual-budget # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions require_debian_like diff --git a/tools/addon/adguardhome-sync.sh b/tools/addon/adguardhome-sync.sh index 1cc9290aa..170151516 100644 --- a/tools/addon/adguardhome-sync.sh +++ b/tools/addon/adguardhome-sync.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "adguardhome-s # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # ============================================================================== # CONFIGURATION diff --git a/tools/addon/coder-code-server.sh b/tools/addon/coder-code-server.sh index 35eb55e7d..7b126d572 100644 --- a/tools/addon/coder-code-server.sh +++ b/tools/addon/coder-code-server.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "coder-code-se # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors APP="Coder Code Server" APP_TYPE="addon" diff --git a/tools/addon/copyparty.sh b/tools/addon/copyparty.sh index 26126ba5f..c9f4ebd1d 100644 --- a/tools/addon/copyparty.sh +++ b/tools/addon/copyparty.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "copyparty" "a # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions # ============================================================================== diff --git a/tools/addon/cronmaster.sh b/tools/addon/cronmaster.sh index 3cd79ba05..c55284d95 100644 --- a/tools/addon/cronmaster.sh +++ b/tools/addon/cronmaster.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "cronmaster" " # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions require_debian_like diff --git a/tools/addon/filebrowser-quantum.sh b/tools/addon/filebrowser-quantum.sh index 28fa89ee0..6db8e401b 100644 --- a/tools/addon/filebrowser-quantum.sh +++ b/tools/addon/filebrowser-quantum.sh @@ -30,7 +30,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "filebrowser-q # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # Initialize all core functions (colors, formatting, icons, STD mode) load_functions diff --git a/tools/addon/filebrowser.sh b/tools/addon/filebrowser.sh index 03a818aaa..9f54ea311 100644 --- a/tools/addon/filebrowser.sh +++ b/tools/addon/filebrowser.sh @@ -29,7 +29,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "filebrowser" # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # Initialize all core functions (colors, formatting, icons, STD mode) load_functions diff --git a/tools/addon/immich-public-proxy.sh b/tools/addon/immich-public-proxy.sh index 6dfc9c3d2..4e0ef3f89 100644 --- a/tools/addon/immich-public-proxy.sh +++ b/tools/addon/immich-public-proxy.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "immich-public # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # ============================================================================== # CONFIGURATION diff --git a/tools/addon/jellystat.sh b/tools/addon/jellystat.sh index 4d7e0c095..838b790c6 100644 --- a/tools/addon/jellystat.sh +++ b/tools/addon/jellystat.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "jellystat" "a # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # ============================================================================== # CONFIGURATION diff --git a/tools/addon/nextcloud-exporter.sh b/tools/addon/nextcloud-exporter.sh index 6f476768d..f76ee4868 100644 --- a/tools/addon/nextcloud-exporter.sh +++ b/tools/addon/nextcloud-exporter.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "nextcloud-exp # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions require_debian_like diff --git a/tools/addon/olivetin.sh b/tools/addon/olivetin.sh index f68d9cb8a..0410d5286 100644 --- a/tools/addon/olivetin.sh +++ b/tools/addon/olivetin.sh @@ -26,7 +26,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "olivetin" "ad # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # Initialize all core functions (colors, formatting, icons, STD mode) load_functions diff --git a/tools/addon/pihole-exporter.sh b/tools/addon/pihole-exporter.sh index 305667b4b..d512915ec 100644 --- a/tools/addon/pihole-exporter.sh +++ b/tools/addon/pihole-exporter.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "pihole-export # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions # ============================================================================== diff --git a/tools/addon/prometheus-paperless-ngx-exporter.sh b/tools/addon/prometheus-paperless-ngx-exporter.sh index 42b3a85d5..977e5ce2b 100644 --- a/tools/addon/prometheus-paperless-ngx-exporter.sh +++ b/tools/addon/prometheus-paperless-ngx-exporter.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "prometheus-pa # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions require_debian_like diff --git a/tools/addon/qbittorrent-exporter.sh b/tools/addon/qbittorrent-exporter.sh index 90b7048d1..0638c0130 100644 --- a/tools/addon/qbittorrent-exporter.sh +++ b/tools/addon/qbittorrent-exporter.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "qbittorrent-e # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions # ============================================================================== diff --git a/tools/addon/sparkyfitness-garmin.sh b/tools/addon/sparkyfitness-garmin.sh index aa865bd57..c91b78ac2 100644 --- a/tools/addon/sparkyfitness-garmin.sh +++ b/tools/addon/sparkyfitness-garmin.sh @@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "sparkyfitness # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors load_functions require_debian_like diff --git a/tools/addon/webmin.sh b/tools/addon/webmin.sh index efcd7af25..2fab3337e 100644 --- a/tools/addon/webmin.sh +++ b/tools/addon/webmin.sh @@ -26,7 +26,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "webmin" "addo # Enable error handling set -Eeuo pipefail -trap 'error_handler' ERR +catch_errors # Initialize all core functions (colors, formatting, icons, STD mode) load_functions