Skip to content

fix(search): treat HTTP 432 and plan limit errors as transient cooldown - #12139

Merged
diegosouzapw merged 1 commit into
diegosouzapw:release/v3.8.51from
HouMinXi:fix/search-plan-limit-cooldown
Aug 30, 2026
Merged

diegosouzapw merged 1 commit into
diegosouzapw:release/v3.8.51from
HouMinXi:fix/search-plan-limit-cooldown

Conversation

@HouMinXi

Copy link
Copy Markdown
Contributor
  • Classify HTTP 432 and plan limit exhaustion strings as non-permanent QUOTA_EXHAUSTED
  • Add PLAN_LIMIT_EXCEEDED: 432 constant and 1-hour quota cooldown fallback
  • Trigger markAccountUnavailable in search executeProviderFetch strictly for quota/retriable statuses
  • Enable search multi-key auto-rotation to healthy connections without deactivating accounts
  • Add unit and regression tests including negative coverage for 400/401/403/404

Summary

  • Describe the user-facing or operational change.

Related Issues

  • Closes #
  • Related to #

Validation

Choose the change type and focused loop from the
Contribution Golden Path. The full unit suite,
Vitest, the 60% coverage gate, and the production build all run in CI on this PR (#8329):

  • Change type: provider / routing / UI / i18n / CLI / DB / build-deploy / other
  • Focused tests and category gates from the golden path
  • npm run lint
  • Reconciled with the current active release base; focused checks rerun afterward
  • Production-code changes include a new or updated automated test in this PR
  • SonarQube is temporarily opt-in while the private project has no quota; it is not a PR gate.

Tests Added Or Updated

  • List every changed or added automated test file.
  • If no production code changed, state that here.

Coverage Notes

  • If this PR changes src/, open-sse/, electron/, or bin/, explain which tests cover the change.
  • If coverage moved down in any touched file, explain why and what follow-up task will recover it.

Reviewer Notes

  • Call out any risky areas, migrations, feature flags, or manual validation that reviewers should know about.

- Classify HTTP 432 and plan limit exhaustion strings as non-permanent QUOTA_EXHAUSTED
- Add PLAN_LIMIT_EXCEEDED: 432 constant and 1-hour quota cooldown fallback
- Trigger markAccountUnavailable in search executeProviderFetch strictly for quota/retriable statuses
- Enable search multi-key auto-rotation to healthy connections without deactivating accounts
- Add unit and regression tests including negative coverage for 400/401/403/404

Signed-off-by: Minxi Hou <houminxi@gmail.com>
@HouMinXi
HouMinXi requested a review from diegosouzapw as a code owner August 30, 2026 16:13
@diegosouzapw
diegosouzapw merged commit ececf91 into diegosouzapw:release/v3.8.51 Aug 30, 2026
8 of 16 checks passed
diegosouzapw added a commit that referenced this pull request Aug 31, 2026
…Files (#12170)

check:mutation-test-coverage --strict verde local e no CI (Fast Quality Gates pass, 18/18 checks). Registro de 1 linha em tap.testFiles cobrindo accountFallback.ts e auth.ts, drift introduzido pelo #12139. Desbloqueia o gate para todas as PRs contra release/v3.8.51.
@HouMinXi
HouMinXi deleted the fix/search-plan-limit-cooldown branch September 16, 2026 14:09
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…wn (diegosouzapw#12139)

Validado em worktree combinada com typecheck limpo, testes focados verdes, gates de file-size/complexity/cognitive-complexity/cycles OK. Obrigado!
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…Files (diegosouzapw#12170)

check:mutation-test-coverage --strict verde local e no CI (Fast Quality Gates pass, 18/18 checks). Registro de 1 linha em tap.testFiles cobrindo accountFallback.ts e auth.ts, drift introduzido pelo diegosouzapw#12139. Desbloqueia o gate para todas as PRs contra release/v3.8.51.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants