Revert "chat - begin installation earlier (#252925)" (#254961)

This reverts commit 4e32b0176650f146d33e238e90463a331e542085.
This commit is contained in:
Benjamin Pasero 2025-07-10 00:00:36 +02:00 committed by GitHub
parent a3a5f7c300
commit cb0c47c0cf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1252,13 +1252,13 @@ class ChatSetupController extends Disposable {
let session: AuthenticationSession | undefined; let session: AuthenticationSession | undefined;
let entitlement: ChatEntitlement | undefined; let entitlement: ChatEntitlement | undefined;
const installation = this.doInstall();
// Entitlement Unknown or `forceSignIn`: we need to sign-in user // Entitlement Unknown or `forceSignIn`: we need to sign-in user
if (this.context.state.entitlement === ChatEntitlement.Unknown || options.forceSignIn) { if (this.context.state.entitlement === ChatEntitlement.Unknown || options.forceSignIn) {
this.setStep(ChatSetupStep.SigningIn); this.setStep(ChatSetupStep.SigningIn);
const result = await this.signIn({ useAlternateProvider: options.useAlternateProvider }); const result = await this.signIn({ useAlternateProvider: options.useAlternateProvider });
if (!result.session) { if (!result.session) {
this.doInstall(); // still install the extension in the background to remind the user to sign-in eventually
const provider = options.useAlternateProvider ? defaultChat.alternativeProviderId : options.useEnterpriseProvider ? defaultChat.enterpriseProviderId : defaultChat.providerName; const provider = options.useAlternateProvider ? defaultChat.alternativeProviderId : options.useEnterpriseProvider ? defaultChat.enterpriseProviderId : defaultChat.providerName;
this.telemetryService.publicLog2<InstallChatEvent, InstallChatClassification>('commandCenter.chatInstall', { installResult: 'failedNotSignedIn', installDuration: watch.elapsed(), signUpErrorCode: undefined, provider }); this.telemetryService.publicLog2<InstallChatEvent, InstallChatClassification>('commandCenter.chatInstall', { installResult: 'failedNotSignedIn', installDuration: watch.elapsed(), signUpErrorCode: undefined, provider });
return undefined; // treat as cancelled because signing in already triggers an error dialog return undefined; // treat as cancelled because signing in already triggers an error dialog
@ -1270,7 +1270,7 @@ class ChatSetupController extends Disposable {
// Await Install // Await Install
this.setStep(ChatSetupStep.Installing); this.setStep(ChatSetupStep.Installing);
success = await this.install(session, entitlement ?? this.context.state.entitlement, providerId, watch, installation, options); success = await this.install(session, entitlement ?? this.context.state.entitlement, providerId, watch, options);
} finally { } finally {
this.setStep(ChatSetupStep.Initial); this.setStep(ChatSetupStep.Initial);
this.context.resume(); this.context.resume();
@ -1304,7 +1304,7 @@ class ChatSetupController extends Disposable {
return { session, entitlement: entitlements?.entitlement }; return { session, entitlement: entitlements?.entitlement };
} }
private async install(session: AuthenticationSession | undefined, entitlement: ChatEntitlement, providerId: string, watch: StopWatch, installation: Promise<void>, options: { useAlternateProvider?: boolean; useEnterpriseProvider?: boolean }): Promise<ChatSetupResultValue> { private async install(session: AuthenticationSession | undefined, entitlement: ChatEntitlement, providerId: string, watch: StopWatch, options: { useAlternateProvider?: boolean; useEnterpriseProvider?: boolean }): Promise<ChatSetupResultValue> {
const wasRunning = this.context.state.installed && !this.context.state.disabled; const wasRunning = this.context.state.installed && !this.context.state.disabled;
let signUpResult: boolean | { errorCode: number } | undefined = undefined; let signUpResult: boolean | { errorCode: number } | undefined = undefined;
@ -1337,7 +1337,7 @@ class ChatSetupController extends Disposable {
} }
} }
await this.doInstallWithRetry(installation); await this.doInstallWithRetry();
} catch (error) { } catch (error) {
this.logService.error(`[chat setup] install: error ${error}`); this.logService.error(`[chat setup] install: error ${error}`);
this.telemetryService.publicLog2<InstallChatEvent, InstallChatClassification>('commandCenter.chatInstall', { installResult: isCancellationError(error) ? 'cancelled' : 'failedInstall', installDuration: watch.elapsed(), signUpErrorCode: undefined, provider }); this.telemetryService.publicLog2<InstallChatEvent, InstallChatClassification>('commandCenter.chatInstall', { installResult: isCancellationError(error) ? 'cancelled' : 'failedInstall', installDuration: watch.elapsed(), signUpErrorCode: undefined, provider });
@ -1355,10 +1355,10 @@ class ChatSetupController extends Disposable {
return true; return true;
} }
private async doInstallWithRetry(installation: Promise<void>): Promise<void> { private async doInstallWithRetry(): Promise<void> {
let error: Error | undefined; let error: Error | undefined;
try { try {
await installation; await this.doInstall();
} catch (e) { } catch (e) {
this.logService.error(`[chat setup] install: error ${error}`); this.logService.error(`[chat setup] install: error ${error}`);
error = e; error = e;
@ -1374,7 +1374,7 @@ class ChatSetupController extends Disposable {
}); });
if (confirmed) { if (confirmed) {
return this.doInstallWithRetry(this.doInstall()); return this.doInstallWithRetry();
} }
} }