1.5 KiB
1.5 KiB
推送页重构 Batch 0 + Batch 1
日期: 2026-06-02
变更摘要
- B0(后端热修复):修复推送历史无法落库终态、rsync 统计未写入、重试误判成功、
max_retries默认值。 - B1(前端 Critical):合并进度 UI、修复全选/预览/WS 字段映射、取消状态、表单校验与重入保护。
动机
推送页存在 S1 级缺陷(sync_log_repo.update 缺失导致历史永远 running)及多处前后端契约不一致;按设计文档分批先交付 B0+B1。
涉及文件
server/infrastructure/database/sync_log_repo.pyserver/application/services/sync_engine_v2.pyserver/background/retry_runner.pyserver/domain/models/__init__.pyfrontend/src/pages/PushPage.vuedocs/design/plans/2026-06-02-push-refactor.md
迁移 / 重启
- 需重启
nexusSupervisor 进程以加载后端改动。 - 前端需重新
npm run build并部署web/app/。
验证方式
ruff check server/infrastructure/database/sync_log_repo.py server/application/services/sync_engine_v2.py server/background/retry_runner.py
cd frontend && npm run build-only
- 推送多台服务器:进度列表应出现「同步中」→ 成功/失败,失败行显示
error_message。 - 推送历史新记录
status应为success/failed,非长期running。 - 预览对话框显示文件数与传输大小。
后续批次
- B2:移除冗余 fallback、M8
get_by_ids、M9 临时目录清理 - B3:历史表列与
PushItem类型对齐 - B4/B5:体验与 composable 拆分