Incremental issue and pull request sync (#449, PR #450)
After the first complete pass, scheduled syncs ask GitHub only for the issues and pull requests updated since the previous run (minus a 10 minute margin). Comments, pull request details, commits and changed files are fetched only for those items. A tracker with thousands of issues and a handful of changes now costs a handful of requests per sync instead of a call per item.
- The watermark is stored per repository in the metadata state and only advances when a pass finishes with no failed item, so anything that failed is listed again next time.
- A full pass still runs on the first sync, after Reset metadata, when the last full pass is 7 or more days old, and when the destination has no mirrored issues or pull requests (for example after it was recreated).
- Existing installs need no action. The first sync after upgrading is a full pass and later ones are incremental.
Docs: the architecture page and the GitHub API rate limits use case describe the behaviour.
Full Changelog: v3.38.2...v3.39.0