Commit Graph
61 Commits
Author SHA1 Message Date
rogee 8fb77f50da feat(web): task-5 browsers 模块迁移(运行环境列表/创建/详情、网络出口列表/详情、网关管理,显式动词 API) 2026-09-22 12:55:23 +08:00
rogee 3e67556428 feat(web): task-4 tasks 模块迁移(任务中心列表/详情/attempts/drafts,Tabs 信息组织,动作与筛选语义对齐归档版) 2026-09-22 12:45:06 +08:00
rogee 04ac91874a feat(web): task-3 accounts 模块全量迁移(列表/监控/导入/新建/详情/编辑,antd 默认组件 + 约定式路由 + terser 压缩绕开 esbuild helper 冲突) 2026-09-22 12:40:09 +08:00
rogee 542eac9e0a fix(web): 修复登录页空白——移除 max 禁止的 umi 依赖 + 关闭 MFSU(本机缓存病态);浏览器实测登录跳转与菜单渲染通过 2026-09-22 12:13:36 +08:00
rogee ae6d0fcc06 chore(web): ignore umi generated src/.umi* 2026-09-22 11:35:25 +08:00
rogee b522595ad7 chore(web): untrack umi generated src/.umi 2026-09-22 11:35:25 +08:00
rogee b42515dc7a feat(web): task-2 布局骨架+登录页(ProLayout 菜单对齐归档版、Basic Auth 登录、401 全局登出、/api 代理)+ 领域 API 层(路径对齐 dataProvider) 2026-09-22 11:34:49 +08:00
rogee 60a60bbf01 chore(web): scaffold umi max 4.7 + antd 6.6.5 + pro-components 3.1.14-beta, placeholder routes for all pages 2026-09-22 11:19:22 +08:00
rogee 15912803fc chore: archive tanstack web frontend as web.archived, switch build chain to archived dist 2026-09-22 10:45:36 +08:00
rogee 4f736cba21 feat: split account management 2026-09-21 16:44:09 +08:00
rogee 86a332997e fix gateway share resolution and competitor identity 2026-09-21 12:51:58 +08:00
rogee ebe8bc0175 fix: show competitor capability unavailable notice 2026-09-21 09:29:16 +08:00
rogee 75658022df fix: stop blocking browser refresh 2026-09-21 09:28:56 +08:00
rogee 7934435475 remove browser version management 2026-09-21 08:47:21 +08:00
rogee e79bd7425b feat: refine frontend tables and task center 2026-09-20 18:23:40 +08:00
rogee 59f170c191 refactor: use original dashboard UI primitives 2026-09-20 17:14:13 +08:00
rogee a25e84ac14 fix: serve frontend assets over lan 2026-09-20 15:41:19 +08:00
rogee c04cbb9eaf fix: move frontend dev server to port 5100 2026-09-20 15:11:13 +08:00
rogee 8d35318c7e feat: complete TanStack dashboard acceptance 2026-09-19 12:09:01 +08:00
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