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
rogee and multica-agent
7462e1fb6e
HH-749: fix 900px layout overflow
...
Co-authored-by: multica-agent <github@multica.ai >
2026-08-27 23:17:48 +08:00
rogee and multica-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