diff --git a/src/account-manager/credentials.js b/src/account-manager/credentials.js index 4aa4cf3..7362c70 100644 --- a/src/account-manager/credentials.js +++ b/src/account-manager/credentials.js @@ -123,14 +123,20 @@ export async function discoverProject(token) { }) }); - if (!response.ok) continue; + if (!response.ok) { + const errorText = await response.text(); + logger.warn(`[AccountManager] Project discovery failed at ${endpoint}: ${response.status} - ${errorText}`); + continue; + } const data = await response.json(); if (typeof data.cloudaicompanionProject === 'string') { + logger.success(`[AccountManager] Discovered project: ${data.cloudaicompanionProject}`); return data.cloudaicompanionProject; } if (data.cloudaicompanionProject?.id) { + logger.success(`[AccountManager] Discovered project: ${data.cloudaicompanionProject.id}`); return data.cloudaicompanionProject.id; } } catch (error) { @@ -138,7 +144,8 @@ export async function discoverProject(token) { } } - logger.info(`[AccountManager] Using default project: ${DEFAULT_PROJECT_ID}`); + logger.warn(`[AccountManager] Project discovery failed for all endpoints. Using default project: ${DEFAULT_PROJECT_ID}`); + logger.warn(`[AccountManager] If you see 404 errors, your account may not have Gemini Code Assist enabled.`); return DEFAULT_PROJECT_ID; } diff --git a/src/account-manager/storage.js b/src/account-manager/storage.js index a22a8c9..30bb6fe 100644 --- a/src/account-manager/storage.js +++ b/src/account-manager/storage.js @@ -28,7 +28,10 @@ export async function loadAccounts(configPath = ACCOUNT_CONFIG_PATH) { ...acc, isRateLimited: acc.isRateLimited || false, rateLimitResetTime: acc.rateLimitResetTime || null, - lastUsed: acc.lastUsed || null + lastUsed: acc.lastUsed || null, + // Reset invalid flag on startup - give accounts a fresh chance to refresh + isInvalid: false, + invalidReason: null })); const settings = config.settings || {};