#!/bin/bash
# Workshop 架構驗證指令（2026-10-05 19:41 HKT owner 下令）
# 用法：curl -s http://149.118.48.126:8080/persistent/verify-workshop.sh | bash
# 跑完將全部輸出貼返俾龍壹（經平台）

echo "========== 1. watcher.py 版本 =========="
WATCHER=~/workspace/arena-system/scripts/watcher.py
[ -f "$WATCHER" ] && md5sum "$WATCHER" | awk '{print "md5: "$1}' || echo "❌ 冇 watcher.py"
echo "期望：797357a7755baa381bee249121e05b3d（v0.92）"
echo ""

echo "========== 2. X display =========="
for d in :99 :100; do
  if DISPLAY=$d xdotool getdisplaygeometry 2>/dev/null; then
    echo "DISPLAY=$d：$(DISPLAY=$d xdotool getdisplaygeometry 2>/dev/null)"
  fi
done
echo "期望：1400 2700"
echo ""

echo "========== 3. watcher processes =========="
WCOUNT=$(pgrep -f "watcher.py" | wc -l)
echo "watcher.py processes：$WCOUNT"
echo "期望：3 個"
ps aux | grep "[w]atcher.py" | awk '{print "  "$12, $13}' | head -5
echo ""

echo "========== 4. browser profiles =========="
for s in A5 A6 A7 A8 A9 A10; do
  [ -d ~/workspace/arena-system/local-profiles/$s ] && echo "✅ $s" || echo "❌ $s 冇"
done
echo ""

echo "========== 5. VNC stack =========="
pgrep -f "x11vnc|Xvnc" > /dev/null && echo "✅ VNC server 在生" || echo "❌ VNC server 死咗"
pgrep -f "websockify" > /dev/null && echo "✅ websockify 在生" || echo "❌ websockify 死咗"
pgrep -f "1809[12]:localhost" > /dev/null && echo "✅ tunnel 在生" || echo "❌ tunnel 死咗"
which import > /dev/null 2>&1 && echo "✅ imagemagick 有" || echo "❌ imagemagick 冇"
echo ""

echo "========== 6. 開機自起 =========="
systemctl is-enabled vnc-keep 2>/dev/null || echo "vnc-keep service：未 set"
ls /etc/systemd/system/watcher-* 2>/dev/null || echo "watcher services：未 set"
echo ""

echo "========== 7. RAM =========="
free -h | head -2
echo ""

echo "========== 8. viewport（check browser） =========="
echo "請人手確認：browser viewport 係咪 1400x900"
echo ""
echo "========== 驗證完畢 =========="
echo "將上面全部輸出貼返俾龍壹"

echo "========== 9. Browser 排位 =========="
i=0
for w in $(DISPLAY=:99 xdotool search --onlyvisible --name "Arena" 2>/dev/null); do
  pos=$(DISPLAY=:99 xdotool getwindowgeometry $w 2>/dev/null | grep Position | grep -oP '\d+(?=,)')
  # 簡化：直接顯示
  geom=$(DISPLAY=:99 xdotool getwindowgeometry $w 2>/dev/null | grep Position)
  echo "  window $w: $geom （期望 y=$((i*900))）"
  i=$((i+1))
done
[ $i -eq 0 ] && echo "❌ 搵唔到 browser window"
echo ""
