Scope remaining GitHub rate-limit accounting

This commit is contained in:
Jinjing
2026-07-20 12:35:26 -07:00
parent 00835e0720
commit 5a75fce1be
5 changed files with 192 additions and 54 deletions
+3 -5
View File
@@ -117,7 +117,6 @@ import { mapGraphQLReactionGroups, type GitHubGraphQLReactionGroup } from './com
import {
getRateLimit,
noteRepositoryRateLimitSpend,
rateLimitGuard,
repositoryRateLimitGuard,
spendsSharedGitHubComQuota,
type RateLimitBucketKind
@@ -189,11 +188,10 @@ async function assertRateLimitBudget(
repository?: GitHubApiRepository | null,
executionOptions?: Pick<GhExecOptions, 'wslDistro'>
): Promise<void> {
if (!spendsSharedGitHubComQuota(repository, executionOptions)) {
return
if (spendsSharedGitHubComQuota(repository, executionOptions)) {
await getRateLimit()
}
await getRateLimit()
const guard = rateLimitGuard(bucket)
const guard = repositoryRateLimitGuard(repository, bucket, executionOptions)
if (guard.blocked) {
throw new Error(
`GitHub ${bucket} rate limit is low; retry after ${new Date(guard.resetAt * 1000).toLocaleTimeString()}`