Files
Nexus/docs/changelog/2026-06-12-browser-p0-p1-fix-deploy.md
T
2026-07-08 22:31:31 +08:00

1.7 KiB
Raw Blame History

2026-06-12 远程浏览器 P0/P1 修复与生产同步

摘要

修复 Worker 僵尸 reservation 占槽;前端 vite build 同步生产;WS 连接失败时主动 DELETE 会话。

动机

Bug 巡查 #1–#3:生产无浏览器 SPA(用户连不上);Worker sessions:1ready=false 不进 idle 清理。

变更

区域 内容
browser-worker/config.py WORKER_RESERVE_TIMEOUT_SEC=120
browser-worker/session_manager.py idle 清理未 attach 的 reservation
browser-worker/main.py attach_stream RuntimeError 时 destroy_session
frontend/.../useRemoteBrowserSession.ts WS/未登录失败时 DELETE /browser/sessions/{id}
生产 web/app index-BimRgA6s.js + BrowserPage 等已 sync_webapp_to_container.sh
Worker 66.154.115.131 docker compose up -d --build/healthsessions:0

迁移 / 重启

  • 无 DB 迁移
  • Worker 已重建;主站仅同步 web/app(未重建 API 镜像)

验证

pytest tests/test_browser_url_safe.py tests/test_browser_ui_state.py -q
cd frontend && npm run type-check && npx vite build
curl https://api.synaglobal.vip/app/  # index-BimRgA6s.js
ssh nexus 'sudo docker exec nexus-prod-nexus-1 grep -rl ws/browser /app/web/app/assets/ | wc -l'  # ≥1
curl http://66.154.115.131:8443/health  # sessions:0

浏览器终验:登录 → 左下角地球 → https://example.com 有 canvas 画面。

未在本批修复

  • F1 页内导航 SSRFframenavigated
  • F3 Worker ufw 公网 8443
  • P2 前进/后退 stack 与 Chromium 历史不同步

回滚

恢复上一版 web/app tarWorker git checkout + docker compose up -d --build(或保留 idle 修复)。