Skip to content

fix(repository): stop syncs from exhausting git provider rate limits - #203

Merged
maartenbode merged 1 commit into
mainfrom
fix/sync-rate-limits
Oct 12, 2026
Merged

maartenbode merged 1 commit into
mainfrom
fix/sync-rate-limits

Conversation

@maartenbode

Copy link
Copy Markdown
Member

Repositories with many tags or branches that hold no package (common in monorepos) could exhaust the provider's API rate limit: every sync revisited all of those refs, and overlapping syncs queued them several times over.

  • Refs without a composer.json at any package path are remembered per commit and skipped until their commit changes. Forced and full syncs still check every ref.
  • A sync that starts while an earlier sync's batch is still running is deferred; the batch completion starts one follow-up sync for all requests made meanwhile.
  • Rate limits are no longer waited out inside the worker. Providers throw on a rate limit (including GitHub's secondary limits), and ref jobs are released until it resets, with the reset time shared so other jobs of the repository wait without making requests. Waiting no longer counts as a failed attempt.

Claude session id: 7e3a3d7f-b191-46c5-b7d4-c795c9920ca2
@maartenbode
maartenbode merged commit 82a02d5 into main Oct 12, 2026
3 checks passed
@maartenbode
maartenbode deleted the fix/sync-rate-limits branch October 12, 2026 09:24
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.

1 participant