Files
Nexus/docs/changelog/2026-06-02-keep-session-no-refresh.md
T
2026-07-08 22:31:31 +08:00

1.2 KiB
Raw Blame History

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)。