mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-27 01:22:10 +03:00
fix(resilience): restore expired-connection retry-budget probe in health sweep (#11672)
Merged via /merge-batch (2026-08-26, v3.8.51). Boarded no worktree combinado; validação única: typecheck/complexity/cognitive-complexity/file-size/changelog verdes, lint nos mesmos 228 achados pré-existentes confirmados contra o tip puro, testes focados passando. Obrigado pela contribuição.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
- **resilience:** restore the expired-connection retry-budget probe in the token-health sweep — the `!isGitHubAccessTokenOnlyConnection` carve-out reintroduced by #11608 contradicted the boundary pinned by #11592, so a GitHub connection parked at `expired` with retry budget remaining was never probed and could never self-heal ([#11592](https://github.com/diegosouzapw/OmniRoute/pull/11592)).
|
||||
@@ -599,13 +599,6 @@ export async function checkConnection(conn) {
|
||||
const isRecoverableExpiredWithRetryBudget =
|
||||
conn.testStatus === "expired" &&
|
||||
conn.lastErrorType !== "account_deactivated" &&
|
||||
// GitHub access-token-only connections have their own dedicated exemption
|
||||
// (isRecoverableGithubCopilotNoRefresh above): ONLY the exact
|
||||
// "no_refresh_token" shape self-heals. An "expired" GitHub connection for a
|
||||
// different reason (e.g. invalid_grant) is genuinely terminal and must stay
|
||||
// skipped, otherwise the generic retry-budget exemption below reopens #8182's
|
||||
// wasted-probe fix for every "expired" GitHub connection.
|
||||
!isGitHubAccessTokenOnlyConnection(conn) &&
|
||||
getExpiredRetryCount(conn) < EXPIRED_RETRY_MAX;
|
||||
const terminalStatuses = new Set(["credits_exhausted", "banned", "expired"]);
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user