Skip to content

fix(drivers/onedrive_sharelink): respect root_folder_path for subdirectory access#2840

Open
xireiki wants to merge 1 commit into
OpenListTeam:mainfrom
xireiki:main-fixosl
Open

fix(drivers/onedrive_sharelink): respect root_folder_path for subdirectory access#2840
xireiki wants to merge 1 commit into
OpenListTeam:mainfrom
xireiki:main-fixosl

Conversation

@xireiki

@xireiki xireiki commented Jul 26, 2026

Copy link
Copy Markdown

Summary / 摘要

修复 onedrive_sharelink 驱动在配置 root_folder_path 后无法正确访问子目录的问题。

用户可感知的变化:

  • 设置「根文件夹路径」后,挂载点将正确指向该子目录,而非分享链接的根目录
  • 文件夹大小统计不再因路径双重拼接返回 404

实现变化:

  • driver.go:新增 relativePath()effectiveDriveRootPath() 方法;ListMakeDirPutGetDirectUploadInfo 统一使用 relativePath() 转换路径;drivePathAPIURL() 在配置 RootFolderPath 时改用 effectiveDriveRootPath() 作为基准

  • util.gogetFiles() 在计算出初始 rootFolder 后,若用户配置了 RootFolderPath 则覆盖之

  • 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 vet ./drivers/onedrive_sharelink/...
  • go build ./drivers/onedrive_sharelink/...
  • Manual test / 手动测试: 编译 amd64 二进制通过,实际运行查看目录正常

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.
    / 我已在适用情况下请求相关维护者或代码所有者审查。

AI Disclosure / AI 使用声明

  • This PR includes AI-assisted content.
    / 此 PR 包含 AI 辅助内容。

Tools used / 使用工具:

  • ChatGPT
  • Codex
  • GitHub Copilot
  • Claude
  • Gemini
  • Other (please specify) / 其他(请注明):

Usage scope / 使用范围:

  • Code generation / 代码生成

  • Refactoring / 重构

  • Documentation / 文档

  • Tests / 测试

  • Translation / 翻译

  • Review assistance / 审查辅助

  • I have reviewed and validated all AI-assisted content included in this PR.
    / 我已审核并验证此 PR 中的所有 AI 辅助内容。

  • I have ensured that all AI-assisted commits include Co-Authored-By attribution.
    / 我已确保所有 AI 辅助提交都包含 Co-Authored-By 归属信息。

  • I can reproduce all AI-assisted content included in this PR without any AI tools.
    / 我可以在没有任何 AI 工具的情况下重现此 PR 中包含的所有 AI 辅助内容。

…cess

- Add relativePath() to strip RootFolderPath prefix from virtual paths
- Add effectiveDriveRootPath() to compute drive-relative path from RootFolderPath
- Override rootFolder in getFiles() when RootFolderPath is configured
- Apply relativePath() in List, MakeDir, Put, GetDirectUploadInfo
- Store listURL for path computation against document library root

Co-authored-by: GitHub Copilot <copilot@github.com>
@xrgzs xrgzs changed the title fix(onedrive_sharelink): respect root_folder_path for subdirectory access fix(drivers/onedrive_sharelink): respect root_folder_path for subdirectory access Jul 26, 2026
@xrgzs xrgzs added the Module: Driver Driver-Related Issue/PR label Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Module: Driver Driver-Related Issue/PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants