Skip to content

fix(drivers/139): update path handling, put for family#2719

Draft
xrgzs wants to merge 17 commits into
OpenListTeam:mainfrom
xrgzs:fix/139-family
Draft

fix(drivers/139): update path handling, put for family#2719
xrgzs wants to merge 17 commits into
OpenListTeam:mainfrom
xrgzs:fix/139-family

Conversation

@xrgzs

@xrgzs xrgzs commented Jul 4, 2026

Copy link
Copy Markdown
Member

Summary / 摘要

  1. 修复139家庭云无法新建文件夹、移动、重命名
  2. 优化路径处理、上传重试
  3. 修复个人云大文件前100个分片重复上传问题
  4. 增加使用旧版本流式上传选项(家庭云、共享群)

说明:

官方网页版家庭云/共享群的上传方法已经改成和个人版的一致,只是域名不同,已预留API URL地址请求函数,但老方法仍能上传,暂未实现新方法。 实测老方法上传大文件会有问题,上传速度不如新方法。 统一为新方法。新方法支持秒传,但不支持流式,因此添加开关,允许用户回退到旧版本的流式上传。

出现这个问题是官方家庭云改用 root:/ 前缀,之前不会拼接 root,故产生此问题。由于相关字段中包含 ID,因此使用拼接方法,不将ID直接改为Path,降低迁移成本。

目前官方共享群未使用 root:/ 前缀,后续如果改了,直接改 dirPath 函数即可。

  • This PR has breaking changes.
    / 此 PR 包含破坏性变更。
  • This PR changes public API, config, storage format, or migration behavior.
    / 此 PR 修改了公开 API、配置、存储格式或迁移行为。
  • This PR requires corresponding changes in related repositories.
    / 此 PR 需要关联仓库同步修改。

Related repository PRs / 关联仓库 PR:

  • OpenList-Frontend:
  • OpenList-Docs:

Related Issues / 关联 Issue

Testing / 测试

  • go test ./...
  • Manual test / 手动测试:

家庭云 上传 复制 移动 删除 重命名 新建文件夹,根目录和子目录均无问题

修改到的新个人云测试上传无问题

Checklist / 检查清单

  • I have read CONTRIBUTING.
    / 我已阅读 CONTRIBUTING
  • I confirm this contribution follows the repository license, contribution policy, and code of conduct.
    / 我确认此贡献符合仓库许可证、贡献规范和行为准则。
  • I have formatted the changed code with gofmt, go fmt, or prettier where applicable.
    / 我已按适用情况使用 gofmtgo fmtprettier 格式化变更代码。
  • I have requested review from relevant maintainers or code owners where applicable.
    / 我已在适用情况下请求相关维护者或代码所有者审查。

@xrgzs xrgzs added bug Module: Driver Driver-Related Issue/PR labels Jul 4, 2026
@xrgzs
xrgzs force-pushed the fix/139-family branch 5 times, most recently from e109087 to d1c2368 Compare July 6, 2026 13:02
@xrgzs xrgzs changed the title fix(drivers/139): update mkdir, move, rename, put for family fix(drivers/139): update path handling, put for family Jul 6, 2026
@xrgzs
xrgzs marked this pull request as ready for review July 6, 2026 13:59
@xrgzs
xrgzs requested a review from j2rong4cn July 6, 2026 14:01
@xrgzs
xrgzs requested a review from jyxjjj July 15, 2026 03:46
@xrgzs
xrgzs removed request for j2rong4cn and jyxjjj July 16, 2026 15:19
@xrgzs
xrgzs marked this pull request as draft July 16, 2026 15:20
xrgzs and others added 12 commits July 16, 2026 23:23
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
- Wrap stream with LimitedUploadStream before creating StreamSectionReader
- Aligns with the same pattern used in the MetaPersonal/MetaGroup/MetaFamily path

Co-authored-by: GitHub Copilot <copilot@github.com>
- Check rd.Seek() return value and free the section reader on error
- Call ss.FreeSectionReader(rd) on all error paths within retry.Do closure
- Prevents buffer.Block leak when retrying failed upload chunks

Co-authored-by: GitHub Copilot <copilot@github.com>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
- Move ss.GetSectionReader() before retry.Do() so the sequential
  stream section reader is only called once per chunk
- Remove redundant ss.FreeSectionReader() calls from inside the
  retry closure since the reader is now owned by the outer scope
- Fixes 'stream not cached' errors when retrying failed chunk
  uploads during cross-storage WebDAV COPY operations

Co-authored-by: GitHub Copilot <copilot@github.com>
- Add UseOldStreamUpload option
- Implement newRequest, newPost
- Support rapid upload for PersonalNew and Group/Family

Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
xrgzs added 2 commits July 17, 2026 15:49
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Module: Driver Driver-Related Issue/PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant