fix: ingress done/fail silently succeed on non-existent queue ID

_ingress_update_status returns 1 when queue file not found, but
_ingress_done and _ingress_fail were ignoring the return code and
printing success messages anyway. Now both commands propagate the
error with a clear message: "Queue item not found: <id>"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
林 駿甫 (Shunsuke Hayashi) 2026-04-15 09:30:00 +09:00
parent 10bcf9b17a
commit 668fe1cd06

View file

@ -517,7 +517,8 @@ _ingress_done() {
[[ -z "${queue_id}" ]] && { echo "Usage: garc ingress done --queue-id <id> [--note <text>]"; return 1; }
_ingress_update_status "${queue_id}" "done" "${note}"
_ingress_update_status "${queue_id}" "done" "${note}" \
|| { echo "Queue item not found: ${queue_id}" >&2; return 1; }
echo "✅ Queue item ${queue_id} — done."
[[ -n "${note}" ]] && echo " Note: ${note}"
@ -544,7 +545,8 @@ _ingress_fail() {
[[ -z "${queue_id}" ]] && { echo "Usage: garc ingress fail --queue-id <id> [--note <text>]"; return 1; }
_ingress_update_status "${queue_id}" "failed" "${note}"
_ingress_update_status "${queue_id}" "failed" "${note}" \
|| { echo "Queue item not found: ${queue_id}" >&2; return 1; }
echo "❌ Queue item ${queue_id} — failed."
[[ -n "${note}" ]] && echo " Reason: ${note}"
}