Jinjing
2f104d8713
Tier GitHub PR lookup polling to prevent quota exhaustion ( #12013 )
...
* Tier GitHub PR lookup polling to prevent quota exhaustion
The selected worktree (O(1)) checks per-minute; card list (O(N)) per-15-minutes.
Introduce process-wide cache to collapse concurrent polling and gate lookups on
available rate-limit budget with exponential backoff on failure.
- Preserve last-known review during backoff
- Invalidate cache when Orca opens a PR
- Stop coordinator from double-charging
* Tier GitHub PR lookup polling to prevent quota exhaustion
- Return the latest reset time when both GitHub API buckets are rate-limited, preventing premature retries against still-blocked buckets.
- Serve the last known review on transient lookup failures, preventing reviews from blinking out on temporary errors.
- Discard in-flight lookups that predate an invalidation so stale answers cannot overwrite newly opened reviews.
* fix: give rate-limit reset tests unique titles
oxlint vitest/no-identical-title was failing static analysis because two
cases shared the same describe title.
2026-08-01 15:50:54 -07:00
..
2026-07-31 16:35:33 -07:00
2026-07-30 02:13:47 -07:00
2026-08-01 15:50:54 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-06-29 13:16:14 -07:00
2026-06-19 12:34:53 -07:00
2026-06-30 18:21:37 -07:00
2026-06-29 22:38:29 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-06-29 22:38:29 -07:00
2026-06-29 13:16:14 -07:00
2026-07-23 18:35:31 -07:00
2026-07-22 13:12:38 -07:00
2026-07-23 18:35:31 -07:00
2026-07-30 02:13:47 -07:00
2026-07-23 18:35:31 -07:00
2026-07-10 02:31:47 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-07-03 19:40:45 -04:00
2026-07-27 18:07:57 -07:00
2026-06-18 22:50:11 -07:00
2026-06-20 18:52:04 -07:00
2026-06-18 22:50:11 -07:00
2026-06-18 22:50:11 -07:00
2026-07-21 13:25:22 -07:00
2026-07-30 02:05:13 -07:00
2026-07-30 02:05:13 -07:00
2026-07-27 17:18:05 -07:00
2026-07-27 17:18:05 -07:00
2026-06-28 23:35:16 -07:00
2026-07-30 11:08:56 -07:00
2026-07-28 20:34:26 -07:00
2026-06-29 22:38:29 -07:00
2026-07-20 17:11:23 -07:00
2026-07-24 14:42:04 -07:00
2026-07-10 12:56:17 -07:00
2026-07-10 12:56:17 -07:00
2026-07-21 20:51:28 -07:00
2026-07-21 20:51:28 -07:00
2026-07-21 20:51:28 -07:00
2026-07-21 20:51:28 -07:00
2026-07-20 03:18:24 -07:00
2026-07-22 18:25:05 -07:00
2026-07-21 20:51:28 -07:00
2026-06-28 15:25:35 -07:00
2026-07-06 02:12:32 -07:00
2026-07-20 22:04:01 -04:00
2026-07-22 21:30:53 -07:00
2026-07-24 18:18:40 -07:00
2026-07-24 18:18:40 -07:00
2026-07-24 18:18:40 -07:00
2026-07-29 21:43:45 -07:00
2026-07-28 14:04:41 -07:00
2026-07-28 14:04:41 -07:00
2026-07-24 13:25:15 -07:00
2026-07-25 19:31:44 -07:00
2026-07-10 20:52:17 -07:00
2026-07-10 21:10:29 -07:00
2026-07-21 15:18:45 -07:00
2026-07-18 23:01:29 -07:00
2026-07-24 12:53:18 -07:00
2026-08-01 11:57:24 -07:00
2026-08-01 15:50:54 -07:00
2026-07-27 12:31:37 -07:00
2026-07-29 11:31:35 -07:00
2026-07-28 20:34:26 -07:00
2026-07-28 20:34:26 -07:00
2026-07-05 23:21:35 -07:00
2026-07-28 12:33:17 -07:00
2026-07-22 18:25:05 -07:00
2026-07-27 16:40:59 -07:00
2026-07-27 16:40:59 -07:00
2026-07-21 20:51:28 -07:00
2026-07-11 03:02:29 -07:00
2026-07-30 11:08:56 -07:00
2026-07-21 15:18:45 -07:00
2026-07-21 15:18:45 -07:00
2026-07-22 18:52:37 -07:00
2026-07-22 18:52:37 -07:00
2026-07-29 17:03:15 -07:00
2026-07-17 18:07:24 -07:00
2026-07-27 17:32:55 -07:00
2026-07-27 17:32:55 -07:00
2026-06-29 22:38:29 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-06-29 22:38:29 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-07-28 16:05:05 -07:00
2026-07-28 16:05:05 -07:00
2026-07-31 16:01:44 -07:00
2026-07-30 02:13:47 -07:00
2026-06-29 22:38:29 -07:00
2026-07-02 18:17:47 -07:00
2026-07-15 19:14:22 -07:00
2026-07-10 17:27:47 -07:00
2026-07-19 17:31:34 -07:00
2026-07-22 22:58:09 -07:00
2026-07-22 22:58:09 -07:00
2026-07-22 22:58:09 -07:00
2026-07-22 22:58:09 -07:00
2026-07-20 17:11:23 -07:00
2026-07-05 23:08:37 -07:00
2026-07-20 20:50:25 -07:00
2026-07-23 18:35:31 -07:00
2026-07-30 00:23:24 -07:00
2026-07-30 00:23:24 -07:00
2026-07-13 20:10:50 -07:00
2026-07-13 19:02:52 -07:00
2026-07-15 01:40:41 -07:00
2026-07-15 01:40:41 -07:00
2026-07-21 20:51:28 -07:00
2026-07-30 16:02:08 -07:00
2026-07-23 19:43:34 -07:00