Commit Graph
42 Commits
Author SHA1 Message Date
rogee 2275075d7e refactor: reorganize project by component 2026-09-18 19:00:31 +08:00
rogee e8f2c192ba refactor: migrate browser gateway to native xvfb 2026-09-18 16:50:18 +08:00
rogee 9ee7989f88 feat: allow account and competitor deletion 2026-09-17 16:09:17 +08:00
rogee 1bf905599c feat: unify owned and monitored accounts 2026-09-17 15:18:59 +08:00
rogee 1f63b5bd31 style: format creator pages test assertion 2026-09-16 16:54:41 +08:00
rogee 7712b033b0 feat: expose Douyin login QR in admin 2026-09-16 10:50:05 +08:00
rogee 9095920a5b fix: complete Douyin release remediation 2026-09-16 01:51:14 +08:00
rogee 977e541fef feat: finish Douyin production readiness flow 2026-09-15 09:20:51 +08:00
rogee 5867aac20f fix: complete Xiaohongshu read-only flow 2026-09-14 23:19:31 +08:00
rogee 44a28954cf feat: integrate creator hub douyin workflows 2026-09-14 19:22:07 +08:00
rogee 4d1dd37438 feat: complete CreatorHub gateway review fixes 2026-09-13 21:52:52 +08:00
rogee 860ecaf7ea feat: continue CreatorHub plan01 implementation 2026-09-12 20:17:29 +08:00
rogee 1fbf126b21 fix: 列表详情页取消状态检测 2026-09-11 09:35:28 +08:00
rogee 83397927c2 fix: 账号列表与环境解耦;网关清理收敛已消失的旧代
- 社媒账号列表页不再拉取运行环境数据:账号是资源池,环境故障
  不应阻塞账号展示,409 横幅随之消失;「固定资源」「可调度」
  两列移除,绑定状态去运行环境页查看。详情页保持原行为。
- docker-gateway DELETE 清理:容器与登记网络均已不存在时返回
  204 而非 409,控制面 runtime_cleanup_pending 可收敛,修复
  外部清理过的旧代永久卡死;容器存活而网络消失仍 fail-closed。
2026-09-07 09:44:22 +08:00
rogee 1ce0375414 fix: safely reconcile rejected runtime creates (#47) 2026-09-04 16:39:53 +08:00
rogee c333d59796 fix: 网络出口列表以 ID 作为主标识展示 2026-09-04 09:54:55 +08:00
rogee fdbb37ad48 feat: 网络出口列表改为表格展示 2026-09-03 18:39:29 +08:00
rogee de91d7a882 chore: 前端代码风格统一并清理未使用导入;移除过时的 PR 流程规则 2026-09-03 17:16:08 +08:00
rogee ab7499655b fix: store network exit credentials directly 2026-09-03 15:06:35 +08:00
rogee a2669620da fix(gateways): 支持编辑名称地址和令牌
- 新增 PUT /api/gateways/:name,支持改名、修改 Endpoint 与令牌
- 网关改名通过 PostgreSQL ON UPDATE CASCADE 原子同步环境引用
- 编辑令牌留空时保留原值,避免只改地址时意外轮换
- 网关列表增加编辑弹窗并覆盖成功、冲突、缺失与失败展示
2026-09-03 13:14:13 +08:00
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 61543a4a61 chore: ignore .codegraph index and allow LAN access for vite dev server
- .gitignore 增加 .codegraph/(本地代码索引,不进版本库)
- vite dev server 开启 host,便于局域网访问本地前端
2026-09-02 17:11:52 +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 208f6766af chore(dev): add pnpm dev hot-reload workflow for local development
Replace full docker compose rebuild during development with:
- pnpm dev / dev:backend (air hot-reload control-plane) / dev:frontend (vite HMR) / dev:deps
- compose.dev.yaml: postgres+docker-gateway only, host port mapping (5432/8081), container control-plane disabled via profile
- scripts/dev-backend.mjs: read .env, fill dev defaults (login admin/admin123, listen :8082, 32-byte dev master key with explicit warning on invalid .env value), ensure dep containers, run air
- vite: fixed port 5173, /api proxy to local control-plane (8082)
- README: document hot-reload dev workflow

Verified: pnpm dev end-to-end (login/API/frontend/proxy 200), Go+JSX edit hot-reload, compose config --quiet, go build ./..., web tests 65 passed, npm --prefix web run build.
2026-09-02 14:38:44 +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 cf8fb1db32 HH-859: cover readiness and credential limits in browser E2E (#26) 2026-08-31 09:45:27 +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