#!/usr/bin/with-contenv bash
# 等待微信窗口出现，最多等 5 分钟；超时也启动 bridge（/api/status 会返回 not_running）
WAITED=0
MAX_WAIT=300
while ! xdotool search --name "微信" >/dev/null 2>&1; do
    sleep 2
    WAITED=$((WAITED + 2))
    if [ "$WAITED" -ge "$MAX_WAIT" ]; then
        echo "woc-bridge: 等待微信窗口超时（${WAITED}s），仍然启动 bridge" >&2
        break
    fi
done

# 以 abc 用户身份运行（与微信同 X 会话，才能操作微信窗口）
# s6-setuidgid 不接受 VAR=value 参数，须先用 s6-env 设环境变量再切用户

# 校验 ptrace 权限（key_extractor 读微信进程内存需要）
if [ -w /proc/sys/kernel/yama/ptrace_scope ] 2>/dev/null; then
    echo 0 > /proc/sys/kernel/yama/ptrace_scope 2>/dev/null || true
fi

exec s6-env DISPLAY=${DISPLAY:-:1} XAUTHORITY=/config/.Xauthority \
    s6-setuidgid abc \
    python3 /opt/woc-bridge/server.py \
        --listen 0.0.0.0:8088 \
        --wechat-db /config \
        --display ${DISPLAY:-:1}
