79105dcec8
ETag 纳入权限指纹避免 304 旧数据;chmod/chown 分步执行;仅变更属主/属组时才提交 chown。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.1 KiB
1.1 KiB
Changelog — 修复文件管理改权限不生效
日期:2026-06-11
摘要
浏览目录 ETag 未包含权限/属主,chmod 后仍可能 304 返回旧列表;对话框默认附带 chown 导致 chmod && chown 整段失败。已拆分命令、仅在有变更时提交属主/属组,并扩展 ETag 指纹。
动机
用户反馈文件管理「改权限不生效」:接口可能成功但列表权限不变,或仅改 mode 时因 chown 失败而整体失败。
涉及文件
server/application/services/files_browse_service.py— ETag 含 permissions/owner/groupserver/api/sync_v2.py— chmod/chown 分步执行frontend/src/components/FilePermissionDialog.vue— 仅变更时提交 owner/groupfrontend/src/stores/files.ts— 刷新后不再复用过期 etagtests/test_files_browse_etag.py
迁移 / 重启
- 需部署后端 + 前端
验证
pytest tests/test_files_browse_etag.py tests/test_file_permissions.py -q
cd frontend && npm run type-check
文件页修改权限 → 列表权限位立即更新;仅改八进制时不触发 chown。