# Changelog — 修复文件管理改权限不生效

**日期**：2026-06-11

## 摘要

浏览目录 ETag 未包含权限/属主，chmod 后仍可能 304 返回旧列表；对话框默认附带 chown 导致 `chmod && chown` 整段失败。已拆分命令、仅在有变更时提交属主/属组，并扩展 ETag 指纹。

## 动机

用户反馈文件管理「改权限不生效」：接口可能成功但列表权限不变，或仅改 mode 时因 chown 失败而整体失败。

## 涉及文件

- `server/application/services/files_browse_service.py` — ETag 含 permissions/owner/group
- `server/api/sync_v2.py` — chmod/chown 分步执行
- `frontend/src/components/FilePermissionDialog.vue` — 仅变更时提交 owner/group
- `frontend/src/stores/files.ts` — 刷新后不再复用过期 etag
- `tests/test_files_browse_etag.py`

## 迁移 / 重启

- 需部署后端 + 前端

## 验证

```bash
pytest tests/test_files_browse_etag.py tests/test_file_permissions.py -q
cd frontend && npm run type-check
```

文件页修改权限 → 列表权限位立即更新；仅改八进制时不触发 chown。
