#!/bin/bash
# Usage: run-variant.sh <label> <worktree> <path-prefix-or-empty> <extra server flags...>
set -u
R=/tmp/issue-lead-26775-r1/repro; LABEL=$1; WT=$2; PFX=$3; shift 3
RUN=$R/$LABEL-$(date +%H%M%S); mkdir -p $RUN/home
cd $WT/apps/server
if [ -n "$PFX" ]; then P="$PFX:$PATH"; else P="$PATH"; fi
PATH="$P" FAKE_TAILSCALE_LOG=$RUN/tailscale-calls.log T3CODE_DEV_SEED=0 node src/bin.ts serve --base-dir $RUN/home --port 38775 --host 127.0.0.1 "$@" > $RUN/server.log 2>&1 &
PID=$!
for i in $(seq 1 60); do grep -q "Listening on" $RUN/server.log && break; sleep 1; done
TOKEN=$(node src/bin.ts auth session issue --base-dir $RUN/home --token-only --ttl 1h | grep -v '^$' | tail -1)
: > $RUN/tailscale-calls.log
echo "[$LABEL] head $(git -C $WT rev-parse --short HEAD) PATH-prefix='${PFX}' flags='$*'"
node $R/connect.mjs 38775 "$TOKEN" 4 2>&1
echo "tailscale spawns during connects: $(wc -l < $RUN/tailscale-calls.log)"
kill $PID; wait $PID 2>/dev/null
