docs(plan): W10 integration record and visual QA front-end status

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-28 17:46:04 +08:00
1 parent 080563dfce
commit 2627e4cff3
2 files changed
+61

No files matched your search

+41
View File
@@ -25,3 +25,44 @@
- 身份页"待识别"详情抽屉的提示句仍写"选择候选或忽略",未识别类(无候选)读起来不准确,留给文案轮。
- 旧设置字段只是弃用未删除;真正删除需要一次迁移清理 `settings.pi` 里的旧键。
- 原站视图仍是占位(IA-1 遗留)。
## W10 集成记录
2026-09-28。目标:所有并行成果合进 main,`deno task ci` 连跑 3 次全绿。
### 合并了什么
- `fe3-web`(FE-3:规则页、命名模板表单、顶栏搜索 / `Ctrl/⌘+K` / 搜索结果页,基于 `81bf010`)以 `0440130` 合入。冲突只在 `routes.ts`(FE-1 的 `status` 与 FE-3 的 `search` 两条都留)与冒烟清单(合并两边路由,加规则页 4 个页签、搜索结果页、`/console/preferences` → 规则页重定向);顶栏挂 `SearchTrigger` + `CommandPalette`,侧栏仍是 FE-1 定稿的 14 项。合并后 web typecheck 通过,分支已删。
### 修了什么
| 提交 | 内容 |
| --- | --- |
| `615917b` | U3 outbox → SSE 桥:`OutboxRelay` 的 `mirror`,`feed.*`(除 `feed.due`)、`decision.*`、`download.*`、`organization.*`、`subscription.*` 投递成功并提交后按序发到总线;以前没有路由的 `feed.fetched` / `organization.changed` / `download.threshold` 一直停在 pending,现在会被认领。测试:tasks `outbox.test.ts`、server `bootstrap.test.ts` |
| `363f85b` | `/dashboard` 补 `automation.library` 与 `slotSatisfiedRate`;`/engine/runs` 的 `status` 多值、`triggeredBy` 筛选(服务端逐批推断,单次最多扫 2000 行,游标停在最后检查的行);任务页来源筛选和"进行中"页签改为一次服务端分页查询 |
| `2ae780d` | 整理向导把目录展开成逐个视频提交时,planImport 把同目录同主干的字幕 / 外挂音轨补进源文件;`/console/organize?ids=` 只列本次记录 |
| `082c556` | 视觉走查前端项 U4 U5 U6(部分)U13 U14 U15 U16 与文案清单;逐条状态见 `09-visual-qa.md`"W10 前端复核" |
| `f6063af` | server PG 测试偶发"schema 不存在"的根因:Kysely 迁移器用 `introspection.getTables()` 反射全库所有 schema 并逐个调 `has_schema_privilege` / `pg_get_serial_sequence`,别的测试文件同时 drop 自己的 schema 就报错(原有 `withSchemaLock` 只覆盖部分 harness)。`createMigrator` 改为只内省目标 schema;回归用例在迁移时并发建删 schema,旧实现可稳定复现失败 |
| `080563d` | CHANGELOG `[0.2.0]` 补 W9 / 前端波内容与已知限制 |
开发库(55433 `umt`)清理:删除 `fe4-*`、`w32-*`、`w33-*` 前缀的作品(11)、站点(4)、订阅(5)及其版本目标、计划、资产、单元、外部身份、路径绑定等从属行;管理员 `w31-admin` 与 fake 上游保留。测试都用独立 schema,不受影响。
### 三次 CI
HEAD `080563d`,本机串行:
| 次 | 结果 | 耗时 |
| --- | --- | --- |
| 1 | 全绿(server 59 文件 / 366 用例) | 403 秒 |
| 2 | 全绿 | 383 秒 |
| 3 | 全绿 | 381 秒 |
前端冒烟:独立库 + `PORT=4392 WEB_ROOT=<build/client>` 单端口,新初始化管理员,64/64 通过,跳过 12 条详情页(库里无数据)。
### 遗留
- U6 悬浮按钮滚动途中仍可能暂时盖住右侧控件;U8(观众站无 H&R 选择器)、U10 不改;U11 全站标点规范未定,未改。
- 还没有 `subscription.*` outbox 事件,订阅页不随后台变化实时刷新。
- `/engine/runs?triggeredBy=` 命中稀少时一页可能少于 `limit`;定时任务运行记录仍没有引擎 run id。
- 开发库里还有 6 个无前缀的测试站点(观众 ×3、HDSky ×2、馒头,指向已停的随机端口 mock),以及历次测试残留的约 150 个 `*_test_*` / `e2e_*` schema(测试进程中断时 afterAll 没跑到),本轮只清了指定前缀的数据,未动它们。
- 开发库上还挂着两个早先起的 `deno task dev` 服务进程(4394 / 4397,`--watch`),本轮未动。
+20
View File
@@ -177,3 +177,23 @@
- `PUT /sites/{id}/credentials` 更新已有账号凭证 500:secret 名 `site_account:<label>` 撞 `secret.name` 唯一约束(各站点都有 `default`,换凭证时新 secret 与旧 secret 同名)。改为同账号同类凭证(主凭证 / passkey / TOTP)原地 `replace`,需要新建时名字带站点 id 与随机后缀;会话 Cookie、`POST /site-accounts` 同样处理。测试夹具的 fake secret 现在按 label 落 `name`,能复现唯一约束。
- 馒头刷新登录 "Invalid URL":用户数据解析器在没有 `config.apiBaseUrl` 时按站点地址推 `https://api.<根域>`,站点地址是 IP / 本地 mock 时拼成非法 URL。改为与适配器一致:站点配置 > 定义里的 `apiBaseUrl`(`https://api.m-team.cc`)。
## W10 前端复核(未修项终态)
2026-09-28。前端项与 U3 在 W10 集成里处理,提交见 `docs/plan/08-v0.2-closeout.md`"W10 集成记录"。
| # | 状态 | 说明 |
| --- | --- | --- |
| U3 | 已修 | OutboxRelay 新增 `mirror`:`feed.*`(除 `feed.due`)、`decision.*`、`download.*`、`organization.*`、`subscription.*` 投递成功、认领事务提交后按顺序发到 SSE 总线,payload 原样(带业务 id);只镜像不路由的类型也会被认领并标记已投递(以前 `feed.fetched`、`organization.changed` 等一直停在 pending)。Feed 表收到 `feed.fetched` / `feed.health_changed` 刷新,任务流多听 Feed 与待处理事件。目前没有 `subscription.*` 事件 |
| U4 | 已修 | `lib/form-errors.ts`:保存失败 toast 写出第一处问题,滚到第一个 `aria-invalid` / `role=alert` 并聚焦;用在收录策略草案、设置分节、实例抽屉、订阅表单 |
| U5 | 已修 | `FormField` 加 4px 底距,说明文字与下一个标签至少隔 8px |
| U6 | 部分 | 页面底部原已留 `pb-24`;文件管理状态栏的"剩余空间"改为靠左。滚动途中悬浮按钮仍会暂时盖住右侧控件,属悬浮按钮的定位取舍 |
| U11 | 不改 | 代码与文档自 W1 起统一用半角 `,;:` + 句末全角 `。`,改成全角要先定全站规范并整体替换(数千条),单改几处只会更乱。留给文案规范决定 |
| U12 | 已修(FE-4) | 窄屏单击目录直接进入、长按多选;桌面保持单击选中、双击进入 |
| U13 | 已修 | `transferTargetProblem`:目标是源所在目录或在源目录之内时,移动 / 复制对话框直接提示,不发预览 |
| U14 | 已修 | 账户弹层用近实底材质 `pg-float-solid` |
| U15 | 已修 | 指标卡说明改为「含调查中、等你决定」 |
| U16 | 已修 | 手动指定 TMDB 的弹窗改用共享 Select,类型 / TMDB ID / 备注都有标签 |
文案清单前端项已改:「TMDB 已保存」等 toast 的中英文空格、API Key 小节标题改「已签发的 Key」、整天间隔显示「每 7 天」、「最高级别:提示」、「延后:已有计划在途」、失败记录的整理后路径显示「未生成目标路径」、上游模型列「默认模型」。