Compare commits

3 Commits
Author SHA1 Message Date
haylan 4c8a9c039e Merge pull request 'fix(update.sh): stop config sync loop from dying silently on a missing key' (#53) from feat-rag-databases into main
Reviewed-on: #53
2026-09-07 18:10:23 +00:00
haylan 2ee308c1d9 Merge branch 'main' into feat-rag-databases 2026-09-07 18:10:16 +00:00
haylanandClaude-Bot 1fcf30e9a1 fix(update.sh): stop config sync loop from dying silently on a missing key
current=$(grep ...) ran before checking whether the key existed in .env
at all. Under set -euo pipefail, a key missing from .env (e.g. a new
tunable this branch just added to .env.example) made that grep exit 1,
pipefail propagated it, and set -e killed the script instantly with no
output - looked exactly like a gum hang but never reached ensure_gum.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bs8xf8Dt8X6tRBvBiLCXYc
2026-09-07 20:09:31 +02:00
+4 -2
View File
@@ -93,10 +93,12 @@ conflict_old=()
conflict_new=() conflict_new=()
while IFS='=' read -r key value; do while IFS='=' read -r key value; do
[ -n "$value" ] || continue [ -n "$value" ] || continue
current="$(grep -E "^${key}=" .env | head -1 | cut -d= -f2-)"
if ! grep -qE "^${key}=" .env; then if ! grep -qE "^${key}=" .env; then
echo "${key}=${value}" >> .env echo "${key}=${value}" >> .env
elif [ "$current" != "$value" ]; then continue
fi
current="$(grep -E "^${key}=" .env | head -1 | cut -d= -f2-)"
if [ "$current" != "$value" ]; then
conflict_keys+=("$key") conflict_keys+=("$key")
conflict_old+=("$current") conflict_old+=("$current")
conflict_new+=("$value") conflict_new+=("$value")