mirror of
https://github.com/larksuite/cli.git
synced 2026-09-14 18:42:53 +08:00
c4106f50b2
buildListParams used to re-call resolveFolderID / resolveFolderName (and the label counterparts) on every list page to assemble folder_id / label_id. Because resolveListFilter already resolves the filter once before the pagination loop, the second pass hit the folders/labels list API again on every page — 1 + page_count calls total, which easily trips rate limits. buildListParams now only assembles API params from the already-resolved FolderID / LabelID produced by resolveListFilter; it no longer resolves names or aliases. The default folder_id=INBOX is still applied when no explicit filter is present, and only overridden when the caller supplied a canonical folder ID. The runtime / mailboxID / dryRun parameters are kept for signature stability (resolveListFilter and buildSearchParams share the same call shape). Adds TestMailTriageCustomFolderResolvesOnceAcrossListPages: a custom-folder filter forced across two messages-list pages, with a non-reusable folders list stub so any second folders API call fails the test. Updated the two existing buildListParams alias tests to run resolveListFilter first, mirroring the real DryRun/Execute call order. sprint: S1 Co-authored-by: xukuncx <283114605+xukuncx@users.noreply.github.com>