Commit Graph
19 Commits
Author SHA1 Message Date
rogee e5c720e7d5 feat(gateways): 网关列表增加连通性与健康状态探测展示
- GET /api/gateways 并发探测 /healthz(连通性)与 /v1/browsers(健康),失败原因随列表返回
- 前端新增连通性/健康两列,失败原因悬浮提示
- 覆盖健康、令牌被拒、离线三类探测路径的单元测试
2026-09-03 12:44:49 +08:00
rogee 93b4b6ba01 feat(network-exits): 表单与详情字段改名(认证/出口IP/出口地区) 2026-09-02 19:36:26 +08:00
rogee 24d2451f0c feat(accounts): TAGS 改为标签输入、账号列表改 table、内容区域全宽
- 创建账号弹窗 TAGS 字段使用 TagInput 胶囊标签输入(回车/逗号确认,退格删除,自动去重)
- 账号列表由卡片栅格改为 Table(账号/平台/授权/账号状态/固定资源/可调度)
- 布局移除 max-w-[1280px] 限制,内容区域全宽

验证:npm run test 66/66 通过,npm run build 成功,go test ./... 全 ok
2026-09-02 18:28:26 +08:00
rogee 1e92e16ed3 fix(account): close create modal on success and make cookies optional
- AccountList.createAccount 成功后关闭创建弹窗(此前只提示不关闭)
- Cookies 前端改为可选:留空代表扫码登录场景,提交时不携带该字段
- 后端 validAccount 允许空凭据(此前 http.ParseCookie("") 直接拒绝)
- CreateAccount 空凭据时跳过 keyring 写入,不产生空值记录;回滚补偿仅在实际写入过凭据时执行

验证:go test ./... / go vet ./... / 双端构建通过;web vitest 66 用例通过(新增无 cookies 创建+弹窗关闭用例);npm run build 通过
2026-09-02 17:00:19 +08:00
rogee 7ecad93821 refactor(web): migrate frontend to React 19 + Refine v5 + shadcn/ui stack
技术栈切换(按 AGENTS.md 批准栈):react-admin/MUI → Refine v5 + shadcn/ui
(Tailwind CSS v4),Vite 8 + React 19 + react-router v7 hash 路由。

- 全部 9 个页面重写:AccountsPage/BrowsersPage(BrowserList/CreatePage/Detail)/
  BrowserImagesPage/GatewaysPage/NetworkExitsPage/TasksPage/TracePages/
  DraftPage/AuditPage;自建 lib/ui.jsx 组件库与 Layout(侧导航 + Outlet)
- 简单创建/编辑改 modal(账号/网关/镜像/出口),环境创建走独立页
  /browsers/new;列表按信息密度选表格或移动卡片双形态
- 图标统一 RemixIcon;领域动作保持显式动词(start/stop/upgrade/recycle
  等,不伪装成 CRUD update)
- LoginPage:Basic 凭证存 localStorage;401 清凭证并跳 #/login;
  AuthGate 改为渲染期读 localStorage(react-router v7 的 pushState 不触发
  hashchange,事件订阅会在导航后拿到过期状态导致登录后卡死)
- dataProvider 适配 Refine v5 契约:所有方法收单个参数对象
  ({resource, pagination, filters, meta, variables}),create/update/
  delete/deleteOne 语义对齐
- Modal 关闭时焦点还给触发元素;Select 保持原生 button/combobox 语义
- e2e 补登录前置;账号创建流程同步 modal 交互

验证:npm test 65/65 通过;覆盖率 71.5% stmts / 76.3% lines(门槛 65%);
vite build 成功;playwright e2e 9/9 通过。
2026-09-02 13:40:34 +08:00
rogee f054d04321 HH-912: simplify social account creation (#36) 2026-09-02 02:03:36 +08:00
rogee 3729ce910f feat: support direct network exit for runtimes 2026-09-01 19:12:48 +08:00
rogee 5674cfe8c3 fix: expose configuration menus and relax password length 2026-09-01 17:54:02 +08:00
rogee b117cc738f HH-846 / HH-799: add task recovery and audit (#27) 2026-08-31 13:19:54 +08:00
rogee f6909376e1 HH-849: gate browser starts on readiness (#25) 2026-08-31 09:16:07 +08:00
rogee 59c30d887c HH-847 / HH-799: add draft review and idempotent enqueue (#24) 2026-08-31 09:09:47 +08:00
rogee 14789e9401 HH-845 / HH-799: add phase A account resource pages (#23) 2026-08-31 00:58:49 +08:00
rogee f1ccfa0096 HH-803: add stable network exit orchestration (#19) 2026-08-29 07:59:55 +08:00
rogee 199f7b348a feat: 多镜像版本管理与网关化环境编排 (#14) 2026-08-28 19:46:08 +08:00
Com 7a9539767a fix(web): BrowserList 状态标签 own-property 安全判断与断点 CDP 可见性断言
- Status 组件改用 Object.hasOwn 判定 statusLabels,constructor/toString/__proto__
  等原型键不再命中,仍回退「未知状态」并展示原始值
- 补充 vitest 参数化用例覆盖三个原型键
- Playwright 响应式烟测新增 900px/599px 断点 CDP endpoint 可见性断言,
  确认桌面表格与移动卡片分支各自只渲染一个可见 endpoint

HH-794
2026-08-28 19:07:06 +08:00
rogee d57fa68866 HH-789 / HH-793: align theme tokens and BrowserList contract (#16) 2026-08-28 18:58:39 +08:00
rogeeandmultica-agent 7462e1fb6e HH-749: fix 900px layout overflow
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 23:17:48 +08:00
rogeeandmultica-agent 45853f4bce HH-749: add CreatorHub react-admin frontend
Co-authored-by: multica-agent <github@multica.ai>
2026-08-27 22:34:36 +08:00
rogee 4b054d6f04 HH-738: add constrained browser container control (#4) 2026-08-27 18:07:34 +08:00