From a94147f3a50b6f48f70f9b4c295906d71c183b2e Mon Sep 17 00:00:00 2001 From: Roland Grunberg Date: Fri, 25 Apr 2025 10:21:55 -0400 Subject: [PATCH] Avoid notifying of failures for workspace builds. - Notifications of failure aren't shown for project builds - Also standardizes based on approach of other extensions that use similar functionality in their UI elements Signed-off-by: Roland Grunberg --- src/standardLanguageClient.ts | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/src/standardLanguageClient.ts b/src/standardLanguageClient.ts index 2eaed4fbdc..8be7c07894 100644 --- a/src/standardLanguageClient.ts +++ b/src/standardLanguageClient.ts @@ -493,22 +493,22 @@ export class StandardLanguageClient { return window.withProgress({ location: ProgressLocation.Window }, async p => { p.report({ message: 'Rebuilding projects...' }); - return new Promise(async (resolve, reject) => { - const start = new Date().getTime(); + const start = new Date().getTime(); - let res: CompileWorkspaceStatus; - try { - res = token ? await this.languageClient.sendRequest(BuildProjectRequest.type, params, token) : - await this.languageClient.sendRequest(BuildProjectRequest.type, params); - } catch (error) { - if (error && error.code === -32800) { // Check if the request is cancelled. - res = CompileWorkspaceStatus.cancelled; - } - reject(error); + let res: CompileWorkspaceStatus; + try { + res = token ? await this.languageClient.sendRequest(BuildProjectRequest.type, params, token) : + await this.languageClient.sendRequest(BuildProjectRequest.type, params); + } catch (error) { + if (error && error.code === -32800) { // Check if the request is cancelled. + res = CompileWorkspaceStatus.cancelled; } + throw error; + } - const elapsed = new Date().getTime() - start; - const humanVisibleDelay = elapsed < 1000 ? 1000 : 0; + const elapsed = new Date().getTime() - start; + const humanVisibleDelay = elapsed < 1000 ? 1000 : 0; + return new Promise(async (resolve, reject) => { setTimeout(() => { // set a timeout so user would still see the message when build time is short resolve(res); }, humanVisibleDelay); @@ -540,11 +540,7 @@ export class StandardLanguageClient { const humanVisibleDelay = elapsed < 1000 ? 1000 : 0; return new Promise((resolve, reject) => { setTimeout(() => { // set a timeout so user would still see the message when build time is short - if (res === CompileWorkspaceStatus.succeed) { - resolve(res); - } else { - reject(res); - } + resolve(res); }, humanVisibleDelay); }); });