Skip to content

refactor(drivers/github_releases): remove internal caching and add pagination support#2775

Draft
xrgzs wants to merge 4 commits into
OpenListTeam:mainfrom
xrgzs:feat/github-releases
Draft

refactor(drivers/github_releases): remove internal caching and add pagination support#2775
xrgzs wants to merge 4 commits into
OpenListTeam:mainfrom
xrgzs:feat/github-releases

Conversation

@xrgzs

@xrgzs xrgzs commented Jul 9, 2026

Copy link
Copy Markdown
Member

Summary / 摘要

重构 GitHub Releases 驱动,移除内部手动缓存机制,改用全局缓存统一管理;新增翻页和页数限制功能。

  1. 缓存重构MountPoint 不再持有 Release/Releases/OtherFile 缓存字段,List() 每次直接请求 GitHub API,由 op 层全局缓存(op.Cache.dirCache)统一管理缓存过期和刷新
  2. 翻页支持getAllReleases() 支持自动翻页获取全部 release,新增 PerPage 配置项控制每页数量(默认 30,最大 100)
  3. 页数限制:新增 MaxPage 配置项限制最大翻页数(默认 0 = 不限),防止仓库 release 过多时无限请求
  • 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: TODO

Related Issues / 关联 Issue

Closes #2670

Closes #1876

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

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 辅助内容。

xrgzs and others added 4 commits July 11, 2026 11:42
…instead

- Remove Release/Releases/OtherFile cache fields from MountPoint struct
- Convert instance methods to pure functions (releaseToFiles, releasesToVersionDirs, etc.)
- Make List() fetch fresh data from GitHub API on every call
- Add githubGet helper to centralize GitHub API requests
- Remove unused GetRequest method and IsAncestorDir function

Co-authored-by: GitHub Copilot <copilot@github.com>
…ions

- Add PerPage config to control releases per page (default 30, max 100)
- Add MaxPage config to limit max pages fetched (0 = unlimited)
- Rewrite getAllReleases to support automatic pagination

Co-authored-by: GitHub Copilot <copilot@github.com>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
@xrgzs xrgzs force-pushed the feat/github-releases branch from 5496520 to 4c52d80 Compare July 11, 2026 03:42
@xrgzs xrgzs added enhancement Module: Driver Driver-Related Issue/PR labels Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Module: Driver Driver-Related Issue/PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] GitHub Releases 添加页面数和翻页功能 [BUG] github release文件不刷新

1 participant