文件
hyb-oa/issues/2026-03-12_04-32-13-p21-pwa-2-l5-offline-deeplink-refresh.csv
T

4.4 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2P21PWA2-0P21PWA2执行合同刷新与主线最终冻结新建 superseding CSV,冻结 canonical workflow deep link、离线守卫快照、approve/reject 草稿队列、PWA 缓存策略升级与 R10 主线最终里程碑。refresh CSV 校验通过,并明确 PWA-2 为 R10 主线最后一站且 supersede 旧 PWA-2 roadmap CSV。python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-12_04-32-13-p21-pwa-2-l5-offline-deeplink-refresh.csvmanualDONEDONEDONEissues/2026-03-12_04-32-13-p21-pwa-2-l5-offline-deeplink-refresh.csv | docs/integration-boundaries.md | docs/feature-matrix.md[]supersedes issues/2026-03-09_11-25-00-p21-pwa-2-l5-offline-deeplink.csv and freezes PWA-2 as mobile deep-link plus offline-approval scope
3P21PWA2-1移动审批深链入口与离线守卫快照保持 `/workflow/tasks/:taskId` canonical 并新增移动环境自动跳转 `/mobile/approvals?taskId=<id>`,同时补齐仅含 `me+permissions` 的本地会话快照与离线守卫。移动 / PWA / IM WebView 打开 canonical deep link 时自动进入移动审批页;离线冷启动在快照 24h 有效期内可进入移动审批壳且不保存 access token。cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/pwa.ts | client/src/auth/AuthContext.tsx | client/src/router/guards.tsx | client/src/router/index.tsx | client/src/pages/WorkflowTaskDetailPage.tsx["P21PWA2-0"]offline snapshot stays route-limited to /mobile/approvals and /workflow/tasks/:taskId only
4P21PWA2-2移动审批approve/reject离线草稿队列为 MobileApprovalsPage 增加 `taskId` deep link、`approve/reject` last-write-wins 草稿队列、自动/手动重放与冲突提示,不支持 return/transfer 离线化。在线动作不回归;离线可起草 approve/reject;`already_processed` / 权限漂移 / 404 会进入冲突态而不是静默吞掉。cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/pages/MobileApprovalsPage.tsx | client/src/mobile/workflowActionQueue.ts | client/src/api/workflow.ts["P21PWA2-1"]approve keeps empty body and reject keeps required comment
5P21PWA2-3PWA缓存策略升级与IndexedDB helper收口升级 vite-plugin-pwa runtime cache 为静态资源 StaleWhileRevalidate 与审批相关 GET API NetworkFirst,并新增共享 IndexedDB helper 供上传/盘点/审批队列复用。核心壳可离线渲染;已缓存审批读取接口可离线回退;PWA-1 的上传与盘点队列语义不回归。cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/vite.config.ts | client/src/mobile/indexedDbStore.ts | client/src/mobile/uploadQueue.ts | client/src/mobile/inventoryScanQueue.ts | client/src/mobile/workflowActionQueue.ts["P21PWA2-2"]no custom sw.ts and no Background Sync or POST caching
6P21PWA2-4PWA二期文档矩阵与主线闭环同步同步 integration-boundaries、mobile checklist、feature matrix 与事实源校验器,明确 PWA-2 为浏览器 H5 deep-link 与离线审批草稿终版。文档明确不做真实钉钉适配器/原生壳/完整离线登录;矩阵标题推进到 +PWA-2 且总数更新为 266。python3 scripts/validate-feature-matrix.pymanualDONEDONEDONEdocs/integration-boundaries.md | docs/mobile/pwa-regression-checklist.md | docs/feature-matrix.md | scripts/validate-feature-matrix.py["P21PWA2-3"]docs/domain-events.md stays unchanged for PWA-2
7P21PWA2-5P21PWA2回归与R10主线最终验收执行前后端回归、PWA checklist 与 deep link/offline draft/conflict/guard 全量收口,形成 R10 主线正式闭环结论。移动深链、离线草稿、联网重放、权限拒绝、缓存回退全部通过,且回归验证覆盖既有 PWA-1 与 workflow 主流程。cd server && npm run test && ./scripts/regression-workflow-actions.sh && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-12_04-32-13-p21-pwa-2-l5-offline-deeplink-refresh.csv && python3 scripts/validate-feature-matrix.py && git diff --checkmanualDONEDONEDONEissues/2026-03-12_04-32-13-p21-pwa-2-l5-offline-deeplink-refresh.csv | docs/mobile/pwa-regression-checklist.md | client/src/pages/MobileApprovalsPage.tsx | client/vite.config.ts["P21PWA2-4"]R10 mainline formally closes only after PWA-2 regression passes