1.2 KiB
1.2 KiB
2026-06-02 保持后台会话免刷新
摘要
修复长时间空闲后点击菜单提示「请 Ctrl+F5 强制刷新」:部署保留 14 天旧前端 chunk;路由懒加载失败时自动 reload 一次。
动机
prune_frontend_assets.py 在每次部署删除全部未引用 assets,旧标签页懒加载旧哈希 chunk 返回 404,触发 router.onError 强刷提示。用户期望不关浏览器即可继续使用。
涉及文件
deploy/prune_frontend_assets.py—--retention-days(默认 14)frontend/src/router/index.ts— chunk 失败静默 reload +afterEach清标志docs/design/specs/2026-06-02-keep-session-no-refresh-design.md
迁移 / 重启
- 前端需重新
vite build并部署web/app/ - 更新服务器上
deploy/prune_frontend_assets.py(下次 deploy-frontend 自动使用) - 无需 DB 迁移;后端无需改代码
验证
python deploy/prune_frontend_assets.py --dry-run --retention-days=14
# 应输出 retained_orphans=... would_remove=...
ssh nexus "curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8600/app/"
# 预期 200
浏览器:登录后闲置,再点击各菜单不应再出现「请 Ctrl+F5」;关浏览器再开仍保持登录(refresh cookie)。