mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-12 12:54:07 -07:00
perf(core): parallelize user quota and experiments fetching in refreshAuth (#21648)
This commit is contained in:
@@ -779,7 +779,7 @@ export class Config implements McpContext, AgentLoopContext {
|
|||||||
| undefined;
|
| undefined;
|
||||||
private disabledHooks: string[];
|
private disabledHooks: string[];
|
||||||
private experiments: Experiments | undefined;
|
private experiments: Experiments | undefined;
|
||||||
private experimentsPromise: Promise<void> | undefined;
|
private experimentsPromise: Promise<Experiments | undefined> | undefined;
|
||||||
private hookSystem?: HookSystem;
|
private hookSystem?: HookSystem;
|
||||||
private readonly onModelChange: ((model: string) => void) | undefined;
|
private readonly onModelChange: ((model: string) => void) | undefined;
|
||||||
private readonly onReload:
|
private readonly onReload:
|
||||||
@@ -1269,18 +1269,22 @@ export class Config implements McpContext, AgentLoopContext {
|
|||||||
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
|
||||||
|
|
||||||
const codeAssistServer = getCodeAssistServer(this);
|
const codeAssistServer = getCodeAssistServer(this);
|
||||||
if (codeAssistServer?.projectId) {
|
const quotaPromise = codeAssistServer?.projectId
|
||||||
await this.refreshUserQuota();
|
? this.refreshUserQuota()
|
||||||
}
|
: Promise.resolve();
|
||||||
|
|
||||||
this.experimentsPromise = getExperiments(codeAssistServer)
|
this.experimentsPromise = getExperiments(codeAssistServer)
|
||||||
.then((experiments) => {
|
.then((experiments) => {
|
||||||
this.setExperiments(experiments);
|
this.setExperiments(experiments);
|
||||||
|
return experiments;
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
debugLogger.error('Failed to fetch experiments', e);
|
debugLogger.error('Failed to fetch experiments', e);
|
||||||
|
return undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await quotaPromise;
|
||||||
|
|
||||||
const authType = this.contentGeneratorConfig.authType;
|
const authType = this.contentGeneratorConfig.authType;
|
||||||
if (
|
if (
|
||||||
authType === AuthType.USE_GEMINI ||
|
authType === AuthType.USE_GEMINI ||
|
||||||
@@ -1296,10 +1300,10 @@ export class Config implements McpContext, AgentLoopContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fetch admin controls
|
// Fetch admin controls
|
||||||
await this.ensureExperimentsLoaded();
|
const experiments = await this.experimentsPromise;
|
||||||
const adminControlsEnabled =
|
const adminControlsEnabled =
|
||||||
this.experiments?.flags[ExperimentFlags.ENABLE_ADMIN_CONTROLS]
|
experiments?.flags[ExperimentFlags.ENABLE_ADMIN_CONTROLS]?.boolValue ??
|
||||||
?.boolValue ?? false;
|
false;
|
||||||
const adminControls = await fetchAdminControls(
|
const adminControls = await fetchAdminControls(
|
||||||
codeAssistServer,
|
codeAssistServer,
|
||||||
this.getRemoteAdminSettings(),
|
this.getRemoteAdminSettings(),
|
||||||
|
|||||||
Reference in New Issue
Block a user