Skip to content

fix: follow pagination in Linear, Google Drive, Asana, and Shopify list ops#516

Merged
cdayAI merged 2 commits into
mainfrom
claude/codex-prs-stale-branches-oIxF6
Jun 1, 2026
Merged

fix: follow pagination in Linear, Google Drive, Asana, and Shopify list ops#516
cdayAI merged 2 commits into
mainfrom
claude/codex-prs-stale-branches-oIxF6

Conversation

@cdayAI
Copy link
Copy Markdown
Owner

@cdayAI cdayAI commented Jun 1, 2026

Continues #455 (the connector-pagination catch-all). After Stripe/Slack landed in #496, this covers the next batch of first-page-only list ops.

Connector Op Mechanism
Linear issueSearch Relay pageInfo { hasNextPage endCursor } cursor
Google Drive list nextPageToken (added to the fields mask)
Asana projects, tasks next_page.offset token
Shopify orders, products RFC-5988 Link: rel="next" header (page_info cursor)

Each loop collects up to the existing per-op limit and is bounded by a hard page cap, so a huge collection can't spin unbounded.

Verification

Multi-page regression tests added for all four (each asserts the 2nd request carries the cursor/token/offset/Link-URL from the 1st response). Relevant batches green; ruff check and the shell=True lint guard clean.

Remaining in #455

HubSpot (paging.next.after) and DynamoDB (LastEvaluatedKey) — same shape, left for a follow-up; tracked in #455.

🤖 Generated with Claude Code

claude added 2 commits June 1, 2026 02:46
Continues #455 (after Stripe/Slack in #496): the remaining list ops that
fetched only the first page.
- Linear issueSearch: follow the Relay pageInfo cursor (hasNextPage/endCursor).
- Google Drive list: follow nextPageToken (added to the fields mask).
- Asana projects/tasks: follow the next_page.offset token.

Each collects up to the existing per-op limit (<=100) and is bounded by a
hard page cap. Adds multi-page regression tests for all three. Advances
#455 (Shopify Link-header, HubSpot, DynamoDB remain).
Shopify paginates list endpoints with an RFC-5988 Link header
(<...?page_info=XYZ>; rel="next"); orders and products fetched only the
first page. Add _next_page_url() to parse the rel="next" cursor and a
_paginated_list() helper that follows it (the next-page URL already
carries limit + page_info, so follow-up requests drop the other params).
Bounded by the per-op limit and a hard page cap.

Adds a Link-header multi-page regression test. Advances #455 (HubSpot and
DynamoDB remain).
@cdayAI cdayAI changed the title fix: follow pagination in Linear, Google Drive, and Asana list ops fix: follow pagination in Linear, Google Drive, Asana, and Shopify list ops Jun 1, 2026
@cdayAI cdayAI marked this pull request as ready for review June 1, 2026 03:44
@cdayAI cdayAI merged commit d49e7d5 into main Jun 1, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants