#!/bin/sh # ONE editor restart then umtool restart (release 8 rollout step 6). Logs $T/{editor,umtool}-start-r8.log R=/home/user/Projects/yt-dlp-transcript-browser; T=${CLAUDE_JOB_DIR:?set CLAUDE_JOB_DIR}/tmp; REL=${REL:-r9} for app in editor umtool; do case $app in editor) port=3001;; umtool) port=3050;; esac for p in $(pgrep -f "pnpm run start") $(pgrep -f "next-server"); do [ "$(readlink /proc/$p/cwd 2>/dev/null)" = "$R/$app" ] && kill -TERM "$p" && echo "killed $app $p" done for i in $(seq 1 40); do ss -ltn | grep -q ":$port " || break; sleep 1; done ss -ltn | grep -q ":$port " && { echo "RESTART_FAIL $app port $port still bound"; exit 1; } cd "$R/$app" && setsid nohup pnpm run start -H 0.0.0.0 > "$T/$app-start-r8.log" 2>&1 < /dev/null & for i in $(seq 1 90); do curl -s -o /dev/null --max-time 5 "http://localhost:$port/" && break; sleep 1; done code=$(curl -s -o /dev/null --max-time 30 -w "%{http_code}" "http://localhost:$port/") echo "RESTART_DONE $app / $code after ${i}s" done code=$(curl -s -o /dev/null --max-time 30 -w "%{http_code}" http://localhost:3001/tags); echo "editor /tags $code" echo "exit=0"