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:
Webman
2026-08-26 15:40:14 -05:00
committed by GitHub
parent 146897d9bd
commit e95a25512d
2 changed files with 1 additions and 7 deletions

View File

@@ -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)).

View File

@@ -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 (