diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index 8e7a19f9f78..1e4f1a3dfb4 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -511,6 +511,7 @@ "./vs/platform/telemetry/common/telemetry.ts", "./vs/platform/telemetry/common/telemetryService.ts", "./vs/platform/telemetry/common/telemetryUtils.ts", + "./vs/platform/telemetry/node/appInsightsAppender.ts", "./vs/platform/telemetry/node/commonProperties.ts", "./vs/platform/telemetry/node/telemetryIpc.ts", "./vs/platform/telemetry/node/telemetryNodeUtils.ts", @@ -592,6 +593,7 @@ "./vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts", "./vs/workbench/parts/comments/common/commentModel.ts", "./vs/workbench/parts/comments/electron-browser/commentGlyphWidget.ts", + "./vs/workbench/parts/debug/node/telemetryApp.ts", "./vs/workbench/parts/emmet/browser/actions/showEmmetCommands.ts", "./vs/workbench/parts/emmet/browser/emmet.browser.contribution.ts", "./vs/workbench/parts/emmet/electron-browser/actions/expandAbbreviation.ts", diff --git a/src/vs/platform/telemetry/common/telemetryUtils.ts b/src/vs/platform/telemetry/common/telemetryUtils.ts index 22b6ed96274..0a2bc0dc06b 100644 --- a/src/vs/platform/telemetry/common/telemetryUtils.ts +++ b/src/vs/platform/telemetry/common/telemetryUtils.ts @@ -29,7 +29,7 @@ export const NullTelemetryService = new class implements ITelemetryService { export interface ITelemetryAppender { log(eventName: string, data: any): void; - dispose(): Thenable; + dispose(): Thenable | undefined; } export function combinedAppender(...appenders: ITelemetryAppender[]): ITelemetryAppender { diff --git a/src/vs/platform/telemetry/node/appInsightsAppender.ts b/src/vs/platform/telemetry/node/appInsightsAppender.ts index 96440af93ec..f88a00de17d 100644 --- a/src/vs/platform/telemetry/node/appInsightsAppender.ts +++ b/src/vs/platform/telemetry/node/appInsightsAppender.ts @@ -45,7 +45,7 @@ interface Measurements { export class AppInsightsAppender implements ITelemetryAppender { - private _aiClient: appInsights.TelemetryClient; + private _aiClient?: appInsights.TelemetryClient; constructor( private _eventPrefix: string, @@ -143,10 +143,10 @@ export class AppInsightsAppender implements ITelemetryAppender { }); } - dispose(): Promise { + dispose(): Promise | undefined { if (this._aiClient) { return new Promise(resolve => { - this._aiClient.flush({ + this._aiClient!.flush({ callback: () => { // all data flushed this._aiClient = undefined;