#!/usr/bin/env bash
# arm64 镜像专用的 google-chrome 兼容包装脚本（task #64）。
#
# 设计上下文：
# - amd64 镜像走 Google Chrome stable apt 包，`/usr/bin/google-chrome`
#   是 apt 自带二进制；本脚本**不会**被装到 amd64 镜像里。
# - arm64 上 Google 不发 Linux build，只能退回 playwright 自带 chromium
#   （由 Dockerfile `playwright install --with-deps chromium` 把 chromium 装
#   到 `/ms-playwright/chromium-*/chrome-linux/chrome`）。本脚本把
#   `/usr/local/bin/google-chrome` 这个对外命令名转发到上述 chromium 二进制，
#   保证 service.py / ta-open-browser 探测顺序 `google-chrome` → `chromium`
#   → `chromium-browser` 在 arm64 上同样命中第一项，避免业务代码出现架构分支。
#
# trade-off（架构硬约束，用户已接受）：
# - chromium 默认无 H.264 / AAC 等 proprietary codec，bilibili 等部分视频
#   站点 HTML5 播放可能失败；
# - chromium 开源 build 指纹相比 Chrome stable 更容易被反爬识别，已通过
#   构建期 rebrowser-patches（装到 playwright driver/package）补偿一部分
#   CDP 检测面，但 UA / brands / GREASE 等差异不可消除。
set -euo pipefail

chrome_bin=""
for candidate in /ms-playwright/chromium-*/chrome-linux/chrome \
                 /ms-playwright/chromium-*/chrome-linux/chrome-wrapper; do
  if [[ -x "$candidate" ]]; then
    chrome_bin="$candidate"
    break
  fi
done

if [[ -z "$chrome_bin" ]]; then
  echo "未找到 playwright chromium 可执行文件（arm64 镜像专用包装）" >&2
  echo "请确认 Dockerfile 中 'playwright install --with-deps chromium' 已成功执行" >&2
  exit 127
fi

exec "$chrome_bin" "$@"
