docs: update frontend review status after e2e fixes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Sprint 4 阶段进度报告 (V10 选项 B · 9/16 任务)
|
||||
# Sprint 4 阶段进度报告 (V10 选项 B · 15/16 任务)
|
||||
|
||||
> **日期**:2026-07-04(T-B-27 真实后端回归验证后)
|
||||
> **日期**:2026-07-05(e2e i18n 回归修复后)
|
||||
> **真实状态**:⏳ **PARTIAL — 已完成 15/16 任务,T-C-44 配置/CI 已落地但本地 Docker 构建待环境验证**
|
||||
> **不能宣称"Sprint 4 完成"** ❌
|
||||
> **下一步**:剩余阻塞项为 T-C-44 Poster CLI Docker 本地构建验证
|
||||
@@ -14,8 +14,8 @@
|
||||
- **Sprint 4 任务表共 16 任务 / 53 子任务 / 10 人天**
|
||||
- **本次完成 5 任务 / 15 子任务**
|
||||
- **G3 闸门定义包含**:"8 e2e spec 全绿 + 真实后端 5 模块 200 + Lighthouse P/A/B/S ≥ 90"
|
||||
- **已通过的 G3 子项**:typecheck / lint / vitest / playwright / build / Lighthouse ≥ 90(P/A/B/S)/ 真实后端回归(5 模块 200)
|
||||
- **未通过的 G3 子项**:无
|
||||
- **已通过的 G3 子项**:typecheck / lint / vitest / playwright(Chromium + WebKit + mobile-chrome)/ build
|
||||
- **待环境复验的 G3 子项**:Lighthouse / 真实后端回归(当前本机无 Docker,pytest 环境未作为本轮复验前置)
|
||||
- **待环境验证的 G4 子项**:Poster CLI Docker 镜像本地构建
|
||||
|
||||
正确标签应该是"Sprint 4 阶段 1 完成",而不是"Sprint 4 完成"。
|
||||
@@ -35,12 +35,12 @@
|
||||
| **T-B-24** | **Lighthouse CI** | **4/4** | ✅ | **`61ba0ca`** |
|
||||
| **T-B-25** | **Bundle 优化验证** | **3/3** | ✅ | **`bf5ad4a`** |
|
||||
| **T-B-26** | **路由级 prefetch** | **2/2** | ✅ | **`97cd431`** |
|
||||
| **T-B-27** | **真实后端回归** | **2/2** | ✅ | **working tree** |
|
||||
| **T-B-40** | **Share Link 状态面板** | **3/3** | ✅ | **working tree** |
|
||||
| **T-B-41** | **ShareLink 失败降级** | **3/3** | ✅ | **working tree** |
|
||||
| **T-B-42** | **LLM 增强进度轮询** | **3/3** | ✅ | **working tree** |
|
||||
| **T-B-43** | **Poster 异步生成 + 轮询** | **3/3** | ✅ | **working tree** |
|
||||
| **T-C-45** | **集成测试套件** | **2/2** | ✅ | **working tree** |
|
||||
| **T-B-27** | **真实后端回归** | **2/2** | ✅ | **`06a0f47`** |
|
||||
| **T-B-40** | **Share Link 状态面板** | **3/3** | ✅ | **`fecdb67`** |
|
||||
| **T-B-41** | **ShareLink 失败降级** | **3/3** | ✅ | **`c955459`** |
|
||||
| **T-B-42** | **LLM 增强进度轮询** | **3/3** | ✅ | **`c7f1dd4`** |
|
||||
| **T-B-43** | **Poster 异步生成 + 轮询** | **3/3** | ✅ | **`45e6719`** |
|
||||
| **T-C-45** | **集成测试套件** | **2/2** | ✅ | **`45e6719`** |
|
||||
|
||||
---
|
||||
|
||||
@@ -54,7 +54,13 @@
|
||||
- ReadableStream 不被 `route.fulfill` 接受 → 用 `Buffer.from(sse, 'utf-8')`
|
||||
- Mobile viewport 下 fixed nav 拦截 click → 用 Enter 键 + `{force: true}` + 验证 disabled
|
||||
|
||||
最终:21 spec × 4 浏览器 = **84/84 全绿**
|
||||
2026-07-05 复验:i18n 迁移导致的 e2e selector 回归已在 `2194f89` 修复。
|
||||
|
||||
当前可验证结果:
|
||||
- Targeted 回归 spec:**8/8 passed**
|
||||
- Chromium 全量:**29/29 passed**
|
||||
- Chromium + WebKit + mobile-chrome:**87/87 passed**
|
||||
- Firefox:本机 Playwright 环境触发 `browserContext.newPage` 异常,需环境修复后单独复验;不再计入本轮 i18n selector 回归。
|
||||
|
||||
### T-B-24 · Lighthouse CI 集成(1.5d · 4 子任务) ✅ DONE
|
||||
- 装 `@lhci/cli` v0.14
|
||||
@@ -71,7 +77,7 @@
|
||||
- `usePrefetchLazyRoute` hook:lazy route loaders 注册表
|
||||
- `RouteFallback` Suspense fallback(48px min-height)
|
||||
- `Sidebar` NavLink onMouseEnter/onFocus 触发 prefetch
|
||||
- main chunk 85.57 → 81.30 KB gzip(-4.27 KB)
|
||||
- 2026-07-05 最新构建:main chunk 146.74 KB gzip,total 393.60 KB gzip;仍低于单 chunk 150 KB / total 500 KB 预算,但不再沿用 81.30 KB 旧口径。
|
||||
|
||||
### T-C-44 · Poster CLI Docker(1.0d · 4 子任务)
|
||||
- ✅ `Dockerfile.poster` 已补
|
||||
@@ -88,10 +94,10 @@
|
||||
| typecheck | `tsc --noEmit` 0 error | 0 error | ✅ |
|
||||
| lint | `eslint .` 0 error 0 warning | 0 error 0 warning | ✅ |
|
||||
| vitest | 单测全过 | 69/69 (17 文件) | ✅ |
|
||||
| e2e | 8 spec 全绿 (4 浏览器) | **21/21 spec · 84/84 通过** | ✅ |
|
||||
| build | bundle 主 chunk < 150KB gzip | main 81.30 KB · total 301 KB | ✅ |
|
||||
| **Lighthouse** | **P/A/B/S ≥ 90(desktop)** | **P=100, a11y=95, best=96, seo=91** | ✅ |
|
||||
| 真实后端 | 5 模块 200 | PASS:share / data-query / review / llm / poster 全部 200;报告 `reports/sprint4-real-backend-regression.json` | ✅ |
|
||||
| e2e | 8+ spec 全绿 | Chromium 29/29;Chromium + WebKit + mobile-chrome 87/87;Firefox 待本机环境修复后复验 | ⚠️ |
|
||||
| build | bundle 主 chunk < 150KB gzip | main 146.74 KB · total 393.60 KB | ✅ |
|
||||
| **Lighthouse** | **P/A/B/S ≥ 90(desktop)** | 历史 P=100, a11y=95, best=96, seo=91;本轮未复跑 | ⏳ |
|
||||
| 真实后端 | 5 模块 200 | 历史报告 `reports/sprint4-real-backend-regression.json` 存在;本轮未复跑 | ⏳ |
|
||||
| G4 Poster CLI | Docker 镜像本地构建 | Dockerfile/compose/CI 已落地;本地构建待 Docker 环境 | ⏳ |
|
||||
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Sprint 7 Progress · 2026-07-04
|
||||
|
||||
> **状态**:✅ 非 Docker / 非外部 token 的 Sprint 7 前端可执行项已完成。
|
||||
> **状态**:✅ 非 Docker / 非外部 token 的 Sprint 7 前端可执行项已完成;2026-07-05 已补修 i18n 迁移后的 e2e selector 回归。
|
||||
> **本轮范围**:T-D-22 react-intl 基础接入、T-D-23 i18n key 覆盖守门、T-E-01 `/admin/login`、T-E-02 `/admin` Dashboard 最小入口、T-E-03 后台 Layout、T-E-04 `/admin/error` 错误兜底、T-E-05 `<RequireAuth>` 权限守卫、T-E-06 订单列表、T-E-07 订单详情、T-E-08/T-E-09 案例列表与详情、T-E-10 本地 a11y 守门。
|
||||
> **环境说明**:本机暂无 Docker;Chromatic / Storybook baseline 仍依赖外部配置和 token,Docker 验证继续等待本机环境可用。
|
||||
|
||||
@@ -132,7 +132,8 @@
|
||||
## ⏭️ 下一步候选
|
||||
|
||||
- T-D-23 全量文案审计:后台入口、登录、403、Dashboard、订单/案例列表与详情、错误页、全局导航壳层、AboutPage、NotFound/ErrorFallback、Plans 模块、ConsultationsPage、Share 管理模块、PosterPreview 海报模块、DataQuery 数据查询模块、HomePage / FormCard 首页信息收集模块、ReviewFlow / LLMEnhancement / AuditReportCard 审核域、PlanCard / CareerCard / FileUploadPrompt / UploadBar 聊天卡片与上传入口、PortalPage 分享门户页、共享默认组件、Chat / LLM runtime 文案已迁移并加守门;非生成生产源码中文硬编码扫描为 0,剩余中文只在测试夹具、mock 数据和 OpenAPI/codegen 生成产物。
|
||||
- T-B-25 bundle 预算:已通过临时 outDir production build;`react-intl` 拆入 `intl-vendor` 后 main chunk 降至 133.43 KB gzip,低于单 chunk 150 KB gzip 预算。
|
||||
- T-B-25 bundle 预算:2026-07-05 最新 `pnpm run build` 通过;main chunk 146.74 KB gzip,total 393.60 KB gzip,仍低于单 chunk 150 KB / total 500 KB 预算。
|
||||
- T-E-10 axe / Lighthouse 复测:公共入口 / 数据查询 / 后台入口 Chromium 运行时 a11y 烟测已补;LHCI 本机复测可启动页面但当前 Chrome 临时目录清理触发 EPERM,建议留给 CI 或修复本机 Chrome 临时目录权限后复跑。
|
||||
- T-E-10 e2e 回归复测:`2194f89` 修复 i18n selector 与 mobile admin nav 回归;targeted 8/8、Chromium 29/29、Chromium + WebKit + mobile-chrome 87/87 通过。Firefox 当前为本机 Playwright `browserContext.newPage` 环境异常,需单独环境复验。
|
||||
- T-D-24/T-E-11 Chromatic:Admin portal Chromium e2e 已补;Chromatic baseline 仍等待 Storybook/Chromatic 配置与 token。
|
||||
- T-C-44 Docker 构建验证:等待本机 Docker 可用后继续。
|
||||
|
||||
92
reports/REVIEW_REPORT_V10_FRONTEND_2026-07-05.md
Normal file
92
reports/REVIEW_REPORT_V10_FRONTEND_2026-07-05.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# V10 前端重构 · 真实状态复核报告
|
||||
|
||||
> **审查日期**:2026-07-05
|
||||
> **复核更新**:2026-07-05,已纳入 `2194f89 fix: stabilize e2e assertions after i18n migration`
|
||||
> **审查范围**:Sprint 1 ~ Sprint 8 前端重构任务
|
||||
> **结论**:S1-S7 前端代码已落地,i18n 迁移导致的 14 个 e2e 回归已修复;但 Lighthouse / 后端 regression / Docker / Firefox 本机环境复验 / Sprint 8 仍未完成,不能宣称 V10 全部完成。
|
||||
|
||||
---
|
||||
|
||||
## 一、当前结论
|
||||
|
||||
原始审查发现的主要代码级 blocker 是 Sprint 7 i18n 迁移后 e2e selector 未同步,导致 navigation、data-query、poster、admin mobile/a11y 等用例在多项目矩阵下失败。
|
||||
|
||||
该问题已在 `2194f89` 修复:
|
||||
|
||||
- e2e 断言改为兼容 i18n 后的可访问名称或结构化 role/cell 定位。
|
||||
- poster e2e mock 已匹配当前 job/status 生成模型。
|
||||
- mobile-chrome 下 Admin 布局补齐移动端横向导航,修复真实 UI 缺口。
|
||||
|
||||
---
|
||||
|
||||
## 二、闸门复验
|
||||
|
||||
| 闸门 | 最新复验结果 | 状态 |
|
||||
|---|---:|---|
|
||||
| build | `pnpm run build` 通过;main 146.74 KB gzip,total 393.60 KB gzip | ✅ 通过 |
|
||||
| lint | `pnpm run lint` 通过 | ✅ 通过 |
|
||||
| targeted e2e | data-query + navigation + poster,8/8 passed | ✅ 通过 |
|
||||
| Chromium e2e | 29/29 passed | ✅ 通过 |
|
||||
| 非 Firefox e2e 矩阵 | Chromium + WebKit + mobile-chrome,87/87 passed | ✅ 通过 |
|
||||
| Firefox e2e | 本机 Playwright `browserContext.newPage` 环境异常 | ⏳ 待环境复验 |
|
||||
| Lighthouse / LHCI | 本机 Chrome 临时目录 EPERM,未复跑 | ⏳ 待 CI 或环境修复 |
|
||||
| T-B-27 后端 regression | 本轮未复跑,需要真实后端 / pytest 环境 | ⏳ 待环境 |
|
||||
| T-C-44 Poster Docker | 本机暂无 Docker | ⏳ 待环境 |
|
||||
|
||||
---
|
||||
|
||||
## 三、Sprint 状态
|
||||
|
||||
| Sprint | 当前状态 | 说明 |
|
||||
|---|---|---|
|
||||
| Sprint 1 | ✅ 完成 | Monorepo / CI 基础已落地 |
|
||||
| Sprint 2 | ✅ 完成 | Vite + Zustand + TanStack Query 基础已落地 |
|
||||
| Sprint 3 | ✅ 完成 | 5 新模块 + LLM fallback 已落地 |
|
||||
| Sprint 4 | ⚠️ 部分完成 | 15/16 任务代码落地;e2e 回归已修;Lighthouse / 后端 / Docker 仍待环境复验 |
|
||||
| Sprint 5 | ✅ 完成 | 14 shared 组件及测试已落地 |
|
||||
| Sprint 6 | ✅ 完成 | 业务组件、暗色态、a11y 守门已落地 |
|
||||
| Sprint 7 | ⚠️ 部分完成 | i18n + Admin 页面已落地;e2e 回归已修;G6.1 Lighthouse ≥95 待复验 |
|
||||
| Sprint 8 | ❌ 未启动 | 仍无 Sprint 8 progress 文档和落地进度 |
|
||||
|
||||
---
|
||||
|
||||
## 四、已修复项
|
||||
|
||||
- **B1 e2e 14 个 i18n selector 回归**:已由 `2194f89` 修复。
|
||||
- **B2 e2e 数量/状态口径不一致**:核心文档已更新为当前 29 tests/project 与非 Firefox 87/87 复验结果。
|
||||
- **S1 bundle 数值过时**:已更新为 main 146.74 KB gzip、total 393.60 KB gzip,仍在预算内。
|
||||
- **S3 Sprint 4 标题不一致**:`SPRINT_4_PROGRESS_2026-07-03.md` 已从 9/16 修正为 15/16。
|
||||
- **S4 working tree 标记过时**:Sprint 4 文档已改为实际 commit hash。
|
||||
- **N1 MobileNav aria-label 测试不兼容 i18n**:e2e 已使用中英双语可访问名称匹配。
|
||||
- **N2 poster alt 中文依赖**:e2e 已改为 `getByRole('img', { name: /海报预览|Poster preview/ })` 并补齐 job/status mock。
|
||||
|
||||
---
|
||||
|
||||
## 五、仍未完成项
|
||||
|
||||
- **Firefox 项目矩阵**:当前失败是本机 Playwright 环境级 `browserContext.newPage` 异常,需修复环境后补跑。
|
||||
- **Lighthouse / LHCI**:需要 CI 或修复本机 Chrome 临时目录权限后复跑。
|
||||
- **T-B-27 后端 regression**:需要真实后端与 pytest 环境。
|
||||
- **T-C-44 Poster Docker**:需要 Docker 环境或 CI runner。
|
||||
- **Sprint 8**:尚未启动,V10 不能宣称全部完成。
|
||||
|
||||
---
|
||||
|
||||
## 六、最终判断
|
||||
|
||||
**不能宣称 V10 前端重构全部完成。**
|
||||
|
||||
可以宣称:
|
||||
|
||||
- S1-S7 的主要前端代码已落地。
|
||||
- 本轮发现的 14 个 i18n e2e 回归已修复。
|
||||
- 非 Firefox 前端 e2e 矩阵已全绿。
|
||||
- 核心进度文档中的 e2e、bundle、commit hash 口径已修正。
|
||||
|
||||
仍需完成:
|
||||
|
||||
1. 修复 Firefox 本机 Playwright 环境异常并补跑 Firefox 矩阵。
|
||||
2. 在 CI 或完整本地环境补跑 Lighthouse + T-B-27 后端 regression。
|
||||
3. Docker 环境就绪后跑 T-C-44 Poster Docker 构建。
|
||||
4. 启动并完成 Sprint 8。
|
||||
|
||||
Reference in New Issue
Block a user