Skip to content

fix(sidecar): resume Gmail history past page cap when pages are deduped - #676

Closed
cursor[bot] wants to merge 1 commit into
mainfrom
cursor/critical-bug-investigation-9114
Closed

cursor[bot] wants to merge 1 commit into
mainfrom
cursor/critical-bug-investigation-9114

Conversation

@cursor

@cursor cursor Bot commented Aug 6, 2026

Copy link
Copy Markdown

Summary

  • Persist history_page_token in sidecar_state (migration 32) when Gmail history listing is truncated by the 3-page cap
  • Resume polling from the dangling nextPageToken on the next tick instead of re-fetching already-deduped pages
  • Clear the resume token when the listing completes or on history-gap re-anchor

Why

When Gmail history spans more than MAX_HISTORY_PAGES (3) and pages 1–3 are fully deduped, truncated=true froze the cursor forever. The poller kept re-listing the same three pages and never reached page 4+, causing silent mail loss for sidecar mailboxes during bursts.

Test plan

  • npm test passes locally (59/59 sidecar suite: workspace-poll, gmail-client, sidecar-state)
  • New regression test: two-poll convergence when pages 1–3 are deduped and page 4 has fresh mail

Notes for reviewer

Same fix as draft PR #667 / #673 — cherry-picked onto this branch because it was still not on main at scan time.

Open in Web View Automation 

…ed (#667)

When Gmail history spans more than MAX_HISTORY_PAGES (3) and pages 1–3 are
fully deduped, truncated=true froze the cursor forever and page 4+ messages
were never ingested — silent data loss during mail bursts.

Persist history_page_token in sidecar_state (migration 32) and pass it to
listNewMessageIds so the next poll resumes from the dangling pageToken
instead of re-fetching already-deduped pages.

Co-authored-by: schmug <schmug@users.noreply.github.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
ais-hub 99e58a5 Commit Preview URL

Branch Preview URL
Aug 06 2026, 11:04 AM

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
agentic-inbox 99e58a5 Aug 06 2026, 11:05 AM

@schmug

schmug commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Closing as superseded by #686.

This is one of 24 near-identical PRs re-filed daily by an automation that has since been fixed. #686 carries the same Gmail history page-token change and is the one kept open, so no work is lost here.

@schmug schmug closed this Aug 23, 2026
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