Files
Nexus/docs/changelog/2026-06-02-keep-session-no-refresh.md
T

34 lines
1.2 KiB
Markdown
Raw Normal View 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 迁移;后端无需改代码
## 验证
```bash
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)。