fix(feishu): support drive folder pagination#101567
Conversation
Co-authored-by: 张贵萍0668001030 <[email protected]>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 46e3f4fd78
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| ### Fixes | ||
|
|
||
| - **Feishu Drive folder pagination:** accept continuation tokens and bounded page sizes for shared-folder listings so agents can retrieve pages beyond the first without forwarding invalid root cursors. (#101249) Thanks @zhangguiping-xydt. |
There was a problem hiding this comment.
Remove the manual changelog entry
For this normal Feishu fix, root AGENTS.md says CHANGELOG.md is release-only and should not be edited for normal PRs or direct fixes; release generation derives entries from merged PRs and direct commits. Keeping this manual Unreleased line can make generated release notes duplicate or drift from the canonical process, so move the release-note context to the PR/squash/direct commit metadata and drop this line.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 729ba20546
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| describe("TUI PTY real backends", () => { | ||
| afterEach(async () => { | ||
| describe.concurrent("TUI PTY real backends", () => { |
There was a problem hiding this comment.
Keep the real PTY smoke suite serial
When the local PTY lane includes this file (OPENCLAW_TUI_PTY_INCLUDE_LOCAL=1), describe.concurrent makes every it/it.each in this real-backend suite run together even though test/vitest/vitest.tui-pty.config.ts sets maxWorkers: 1 and fileParallelism: false for the lane. These cases each spawn PTYs, local Gateways, and mock model servers with timing-sensitive waits, so running them all at once can starve the processes and make the smoke lane flaky or time out; keep this describe serial and use per-test cleanup.
Useful? React with 👍 / 👎.
|
Codex review: needs maintainer review before merge. Reviewed July 7, 2026, 6:39 AM ET / 10:39 UTC. Summary PR surface: Source +40, Tests +192, Docs +15, Other +92. Total +339 across 10 files. Reproducibility: yes. Current main returns Review metrics: 1 noteworthy metric.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this bounded Feishu Do we have a high-confidence way to reproduce the issue? Yes. Current main returns Is this the best way to solve the issue? Yes for the narrow AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 942b44966107. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +40, Tests +192, Docs +15, Other +92. Total +339 across 10 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Superseded by the clean four-file replacement #101572, landed as commit The verified GitHub commit path appended the rebased tree to this branch instead of rewriting its history, leaving stale merge-base files visible to review and the release-owned changelog gate. #101572 recreated the same reviewed code from current main in one co-authored commit and passed exact-head AWS plus hosted CI before landing. |
What Problem This Solves
Feishu Drive folder listings return
next_page_token, but thefeishu_drivetool could not accept that cursor, leaving every page after the first unreachable.This replaces #101249 because its contributor branch is 159 main commits and 903 files behind; the repo-native maintainer sync repeatedly timed out on the oversized rebase. The original contribution and author credit are preserved here.
Why This Change Was Made
page_sizeandpage_tokeninputs to the existinglistaction.page_sizeat runtime, not only in the model schema."0"folder tokens.The change stays plugin-local and preserves the existing response shape. It does not broaden into automatic recursive pagination or the separate
infolookup behavior tracked by #93928.User Impact
Agents can retrieve subsequent pages of a shared Feishu Drive folder by passing the returned
next_page_tokenaspage_tokenwith the samefolder_token. Invalid page sizes now fail before an API request.Evidence
@larksuiteoapi/node-sdksource confirmsdrive.file.listacceptsfolder_token,page_size, andpage_token, and returnsnext_page_token/has_more./tools/invokethrough the bundled tool and captured the expected SDK-boundary continuation request.cbx_e1b51e13a04a, runrun_ef117899bd4c; 16/16 Feishu Drive tests passed on the contributor head.oxfmton all touched code/skill files;git diff --check; skill YAML frontmatter parse.Closes the
listcontinuation portion of #93928. Supersedes #101249.