fix(providers): retry Antigravity quota summary once with legacy UA on 403 - #5943
codingbooo wants to merge 1 commit into
Conversation
|
✅ Deterministic PR hygiene checks passed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (8)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe Antigravity quota probe now retries a quota-summary request once with ChangesAntigravity quota retry
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The quota retry is bounded to one attempt and preserves the request identity and transport path. No actionable merge-blocking risk was identified; the change appears mergeable with normal checks. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The retry is limited to Antigravity quota accounting and keeps the same credential, project, destination, and outbound protections. A stalled response-body cancellation could, however, prevent quota recovery from completing. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 4 files. (4 skipped: 4 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request is already Ready for Review. |
리뷰 · 우선순위 44 / 80구글 Antigravity 계정은 로그인이 되는데, 사용량만 403으로 막히는 경우가 있습니다. 프로그램이 요청에 붙이는 이름(User-Agent)이 IDE 모양이기 때문입니다. 그 이름만 이 PR은 사용량 요약 주소가 403일 때 그 주소만 한 번 더 부릅니다. 두 번째 요청의 이름만 예전 이름입니다. 토큰과 프로젝트는 그대로입니다. 401은 다시 부르지 않습니다. 두 번째도 401이나 403이면 사용 불가로 끝냅니다. 두 번째가 다른 오류면, 모델 목록으로 넘어가는 예전 길은 남습니다. 답을 만드는 요청과 모델 찾기의 이름은 바꾸지 않습니다. 바탕 브랜치는 라인 - 라인 - 메인테이너의 판단이 필요한 지점 권한이 정말 없는 계정도 403이면 요청이 한 번 더 나갑니다. 코드는 이름 때문에 막힌 것과 권한이 없는 것을 미리 나누지 못합니다. 이슈 #5940은 그 한 번을 허용합니다.
#5099는 같이 닫을 PR이 아닙니다. 너의 추천 한 번 다시 부르는 수정은 두세요. 본문이 없으면 이 댓글은 grok-bot이 작성했습니다 |
| PR | Change | Author | | --- | --- | --- | | #5968 | Revalidate context relay admission against the live hub-link key policy before dispatch. | luvs01 | | #5966 | Start the link tunnel supervisor only after the listener owns a bound target, and start it after issue recovery. | luvs01 | | #5933 | Honor an explicitly configured Devin reset wait while preserving stream heartbeats and bounded retry behavior. | luvs01 | | #5952 | Expand measured Command Code effort ladders. | codingbooo | | #5942 | Project Claude input estimates onto the settled wire and canonical combo target. | moseoridev | | #5943 | Retry a quota-summary 403 once on the same fixed Antigravity endpoint with the legacy User-Agent. | codingbooo | Integration commits add a real delayed-body hub-link revocation regression; a failed-bind and recovered-bind supervisor regression; the first rejected Command Code send retry; and explicit layout registrations for the Devin cooldown and Claude projection tests. The Claude source PR already records `targetRoute.modelId` and includes the combo-alias regression; reverting that line makes the alias case fail. Review follow-up: the DeepSeek V4 Flash DSH/ZCode export expectations now match all five calibrated efforts. Devin combo children now bypass the optional stated-reset wait and surface their pre-output refusal, so the combo can advance promptly; standalone opted-in turns retain reset waiting and heartbeats. The delayed-reset combo and real Devin adapter regressions were red before the fix and green after it. The alternate Antigravity 403 PR (#5976) was left out because the included implementation covers the same retry with more extensive tests for bearer/project identity, cancellation failure, retry bounds, redirects, and fallback. No code was taken from that alternative. Independent security review is requested before merge for link admission and tunnel startup (`src/server/index/serve-options.ts`, `src/server/index/optional-listeners.ts`, `src/server/index/link-listener.ts`, `src/server/management/link-routes.ts`), Devin wait/replay (`src/adapters/devin.ts`, `src/adapters/devin/cloud-direct/stated-reset-retry.ts`, `src/adapters/run-turn-queue.ts`, `src/server/responses/run-turn-execution.ts`), and the credential-bearing Antigravity retry (`src/providers/quota/antigravity.ts`). Co-authored-by: Epinephrine <luvs01@hanmail.net> Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: codingbo <cnsdbo@163.com> Co-authored-by: moseoridev <sjssjs1344@gmail.com>
Summary
Fixes #5940 by adding a one-time compatibility retry with
User-Agent: antigravity/1.0whenv1internal:retrieveUserQuotaSummaryreturns HTTP 403 on a valid Google Antigravity OAuth account.Changes
src/providers/quota/antigravity.ts:retrieveUserQuotaSummaryreturns HTTP 403, cancels the first response body and retries the exact accounting endpoint once withUser-Agent: antigravity/1.0, preserving the bearer token and project payload.tests/providers/provider-antigravity-quota-retry.test.tscovering 403 retry, body release, 401 non-retry, and fallback.providers.mdand transport inventory.Verification
bun run typecheck: clean 0 errors.bun test tests/providers/provider-antigravity-quota-retry.test.ts: 10 pass, 0 fail.bun test tests/providers/provider-account-quota.test.ts tests/providers/provider-quota.test.ts: 235 pass, 0 fail.Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
Required local validation passed; commands, results, and any full-suite exception are documented.
I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.
Summary by CodeRabbit
Bug Fixes
Documentation