{ "id": "pwa-cross-version-cache-upgrade-validation", "name": "pwa-cross-version-cache-upgrade-validation", "title": "PWA 跨版本缓存升级验证", "description": "在同一 loopback origin 与同一浏览器上下文中,让旧 production build 的真实 Service Worker 先取得控制权并建立缓存,再原位切换新 build,验证重访后无需强刷即可收敛到新 shell、保持会话且不残留旧 chunk。", "status": "in_progress", "dev_type": null, "scope": "client PWA production-build cross-version upgrade test harness and local QA runner; product PWA runtime remains read-only unless a separate finding task is approved", "package": null, "priority": "P2", "creator": "shunli", "assignee": "shunli", "createdAt": "2026-08-10", "completedAt": null, "branch": null, "base_branch": "main", "worktree_path": null, "commit": null, "pr_url": null, "subtasks": [], "children": [], "parent": null, "relatedFiles": [ "client/vite.config.ts", "client/src/pwa.ts", "client/tests/e2e/login-portal-ux.spec.ts", "client/tests/e2e/pwa-cross-version-upgrade.spec.ts", "scripts/qa/run-pwa-cross-version-upgrade.sh", ".trellis/spec/hyb-oa/frontend-react-vite-design.md" ], "notes": "本地同 origin、同 BrowserContext 的 production PWA A→B 跨版本 witness 三次 PASS;A controller/precache、B active worker 指纹/document/chunk、会话保持与旧缓存清理均有联合证据,未连接生产或修改产品 PWA runtime。", "meta": {} }