fix(wizard): restore Antigravity OAuth by matching the 3-tuple session API
0d9005f changed start_profile_oauth to return (session_id, auth_url, port) and
updated the tests, but not its callers. The wizard still unpacked two values, so
every Antigravity connection raised ValueError inside _init_antigravity_oauth,
the handler swallowed it, and the authorization URL never appeared — the primary
onboarding flow has been dead since that commit.
Also stores the listener port as wizard.oauth_port, which the single-session
invariance test reads to prove that repeat "open browser" clicks reuse the
existing listener instead of binding a new one.
Both defects were caught only by tests that the headless run skips, which is why
they survived several reviews.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
83409d5354
commit
39b1f928f4
2 changed files with 5 additions and 2 deletions
|
|
@ -233,7 +233,7 @@ def start_oauth(req: StartOAuthRequest) -> Dict[str, Any]:
|
|||
raise HTTPException(status_code=400, detail="Нет свободных слотов для Antigravity аккаунтов")
|
||||
|
||||
try:
|
||||
session_id, auth_url = start_profile_oauth(profile_id)
|
||||
session_id, auth_url, _port = start_profile_oauth(profile_id)
|
||||
display_name, _, _ = AutoAssigner.get_display_name_and_role(profile_id)
|
||||
return {
|
||||
"success": True,
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ class AddAccountWizard(HubModal):
|
|||
# Session tracking
|
||||
self.oauth_session_id: Optional[str] = None
|
||||
self.oauth_url: Optional[str] = None
|
||||
self.oauth_port: Optional[int] = None
|
||||
|
||||
self.codex_session_id: Optional[str] = None
|
||||
self.codex_url: Optional[str] = None
|
||||
|
|
@ -83,6 +84,7 @@ class AddAccountWizard(HubModal):
|
|||
except Exception:
|
||||
pass
|
||||
self.oauth_session_id = None
|
||||
self.oauth_port = None
|
||||
|
||||
if self.codex_session_id:
|
||||
try:
|
||||
|
|
@ -340,9 +342,10 @@ class AddAccountWizard(HubModal):
|
|||
def _init_antigravity_oauth(self):
|
||||
try:
|
||||
from antigravity_provider.router.profile_oauth import start_profile_oauth
|
||||
session_id, auth_url = start_profile_oauth(self.target_slot)
|
||||
session_id, auth_url, port = start_profile_oauth(self.target_slot)
|
||||
self.oauth_session_id = session_id
|
||||
self.oauth_url = auth_url
|
||||
self.oauth_port = port
|
||||
|
||||
self.oauth_url_entry.delete(0, "end")
|
||||
self.oauth_url_entry.insert(0, auth_url)
|
||||
|
|
|
|||
Loading…
Reference in a new issue