Files
Nexus/docs/changelog/2026-06-07-push-history-permission-column.md
2026-07-08 22:31:31 +08:00

1.7 KiB
Raw Permalink Blame History

推送历史显示权限修正记录

日期: 2026-06-07

变更摘要

sync_logs 新增 push_permission 字段,记录每次真实推送时 rsync 附加的 --chown / --chmod 策略;推送页、命令页推送日志、服务器同步日志均展示该列。

动机

用户需确认推送是否按配置将远程文件改为 www:www / 755 等;此前仅审计/环境变量侧可知,推送历史无记录。

涉及文件

路径 说明
server/domain/models/__init__.py SyncLog.push_permission
server/infrastructure/database/migrations.py 启动迁移加列
server/application/services/sync_engine_v2.py rsync_push_permission_summary()、写入日志
server/api/servers.py API 序列化
frontend/src/composables/push/* 列头与 formatPushPermission
frontend/src/components/push/PushHistoryTable.vue 权限列
frontend/src/pages/CommandsPage.vue 推送日志视图
frontend/src/pages/ServersPage.vue 同步日志副标题
tests/test_rsync_push_permissions.py summary 单测

说明

  • 文件推送(rsync 写入;文件管理器单独 chmod 仍在 审计日志 file_permission_change
  • 历史记录在字段上线前的旧推送显示
  • 取消的推送不写入权限策略。

迁移 / 重启

  • API 重启后自动 ALTER TABLE sync_logs ADD COLUMN push_permission …
  • 前端需 build 部署

验证

pytest tests/test_rsync_push_permissions.py -q
cd frontend && npx vite build

推送成功后:GET /api/servers/logs 对应项 push_permissionchown=www:www chmod=D755,F755(默认配置)。