#!/bin/bash
# 대시보드 로컬 서버 유지 + Tailscale Funnel 고정 URL (맥 launchd용)
# cloudflared(주소 가변) 폐기 → Tailscale Funnel 고정 주소 사용.
# URL이 바뀌지 않으므로 과거·미래 카톡 링크가 영구 유지된다.
set -u
export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"

BASE="/Users/jangbogeun/Claude/Projects/미장 x2 자산 불리기/outputs"
ROOT="$(dirname "$BASE")"
PORT=8788
PY=/usr/bin/python3
FIXED_URL="https://macbook-air-3.taildef6a6.ts.net/kakao_detail.html"
ENVF="$ROOT/.kakao_env"

# 1) 고정 URL 기록 (가변 아님)
echo "$FIXED_URL" > "$BASE/dashboard_public_url.txt"
if [ -f "$ENVF" ]; then
  grep -v '^KAKAO_DASHBOARD_URL=' "$ENVF" > "$ENVF.tmp" 2>/dev/null || true
  echo "KAKAO_DASHBOARD_URL=$FIXED_URL" >> "$ENVF.tmp"
  mv "$ENVF.tmp" "$ENVF"
fi

# 2) Tailscale Funnel 재확인 (이미 설정돼 있으면 유지, 끊겼으면 재설정) — best effort
if command -v tailscale >/dev/null 2>&1; then
  tailscale funnel --bg "$PORT" >/dev/null 2>&1 || true
fi

# 3) 잔여 서버 정리 후 포그라운드 실행 (죽으면 launchd가 재시작)
pkill -f "dashboard_server.py" 2>/dev/null
sleep 1
echo "$(date) dashboard server on :$PORT, funnel=$FIXED_URL" >> "$BASE/tunnel_url_history.log"
exec "$PY" "$BASE/dashboard_server.py" --port "$PORT"
