From f636dd61a5573186e1ee3898c73fe36cde63251f Mon Sep 17 00:00:00 2001 From: Draculabo Date: Fri, 16 Jan 2026 20:30:49 +0800 Subject: [PATCH] feat: enhance cloudHandler to inject minimal auth state when database entry is missing --- src/ipc/database/cloudHandler.ts | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/ipc/database/cloudHandler.ts b/src/ipc/database/cloudHandler.ts index 9d6027e..0d2b306 100644 --- a/src/ipc/database/cloudHandler.ts +++ b/src/ipc/database/cloudHandler.ts @@ -313,7 +313,35 @@ export class CloudAccountRepo { .get('jetskiStateSync.agentManagerInitState') as { value: string } | undefined; if (!row || !row.value) { - throw new Error('jetskiStateSync.agentManagerInitState not found in database'); + logger.warn( + 'jetskiStateSync.agentManagerInitState not found. ' + + 'Injecting minimal auth state only. User may need to complete onboarding in the IDE first.', + ); + + // Inject minimal state: auth status and onboarding flag only + const authStatus = { + name: account.name || account.email, + email: account.email, + apiKey: account.token.access_token, + }; + + db.prepare('INSERT OR REPLACE INTO ItemTable (key, value) VALUES (?, ?)').run( + 'antigravityAuthStatus', + JSON.stringify(authStatus), + ); + + db.prepare('INSERT OR REPLACE INTO ItemTable (key, value) VALUES (?, ?)').run( + 'antigravityOnboarding', + 'true', + ); + + db.prepare('DELETE FROM ItemTable WHERE key = ?').run('google.antigravity'); + + logger.info( + `Injected minimal auth state for ${account.email} (no protobuf state available)`, + ); + + return; // Early return - skip protobuf manipulation } // 1. Decode Base64