Merge VS Code 1.31.1 (#4283)

This commit is contained in:
Matt Irvine
2019-03-15 13:09:45 -07:00
committed by GitHub
parent 7d31575149
commit 86bac90001
1716 changed files with 53308 additions and 48375 deletions

View File

@@ -27,9 +27,9 @@ export interface ITelemetryService {
* Sends a telemetry event that has been privacy approved.
* Do not call this unless you have been given approval.
*/
publicLog(eventName: string, data?: ITelemetryData, anonymizeFilePaths?: boolean): Thenable<void>;
publicLog(eventName: string, data?: ITelemetryData, anonymizeFilePaths?: boolean): Promise<void>;
getTelemetryInfo(): Thenable<ITelemetryInfo>;
getTelemetryInfo(): Promise<ITelemetryInfo>;
isOptedIn: boolean;
}

View File

@@ -16,7 +16,7 @@ import { Registry } from 'vs/platform/registry/common/platform';
export interface ITelemetryServiceConfig {
appender: ITelemetryAppender;
commonProperties?: Thenable<{ [name: string]: any }>;
commonProperties?: Promise<{ [name: string]: any }>;
piiPaths?: string[];
}
@@ -28,7 +28,7 @@ export class TelemetryService implements ITelemetryService {
_serviceBrand: any;
private _appender: ITelemetryAppender;
private _commonProperties: Thenable<{ [name: string]: any; }>;
private _commonProperties: Promise<{ [name: string]: any; }>;
private _piiPaths: string[];
private _userOptIn: boolean;
@@ -60,6 +60,17 @@ export class TelemetryService implements ITelemetryService {
}
*/
this.publicLog('optInStatus', { optIn: this._userOptIn });
this._commonProperties.then(values => {
const isHashedId = /^[a-f0-9]+$/i.test(values['common.machineId']);
/* __GDPR__
"machineIdFallback" : {
"usingFallbackGuid" : { "classification": "SystemMetaData", "purpose": "BusinessInsight", "isMeasurement": true }
}
*/
this.publicLog('machineIdFallback', { usingFallbackGuid: !isHashedId });
});
}
}
@@ -72,7 +83,7 @@ export class TelemetryService implements ITelemetryService {
return this._userOptIn;
}
getTelemetryInfo(): Thenable<ITelemetryInfo> {
getTelemetryInfo(): Promise<ITelemetryInfo> {
return this._commonProperties.then(values => {
// well known properties
let sessionId = values['sessionID'];
@@ -87,7 +98,7 @@ export class TelemetryService implements ITelemetryService {
this._disposables = dispose(this._disposables);
}
publicLog(eventName: string, data?: ITelemetryData, anonymizeFilePaths?: boolean): Thenable<any> {
publicLog(eventName: string, data?: ITelemetryData, anonymizeFilePaths?: boolean): Promise<any> {
// don't send events when the user is optout
if (!this._userOptIn) {
return Promise.resolve(undefined);

View File

@@ -15,7 +15,7 @@ import { ILogService } from 'vs/platform/log/common/log';
export const NullTelemetryService = new class implements ITelemetryService {
_serviceBrand: undefined;
publicLog(eventName: string, data?: ITelemetryData) {
return Promise.resolve(void 0);
return Promise.resolve(undefined);
}
isOptedIn: true;
getTelemetryInfo(): Promise<ITelemetryInfo> {
@@ -29,7 +29,7 @@ export const NullTelemetryService = new class implements ITelemetryService {
export interface ITelemetryAppender {
log(eventName: string, data: any): void;
dispose(): Thenable<any>;
dispose(): Promise<any> | undefined;
}
export function combinedAppender(...appenders: ITelemetryAppender[]): ITelemetryAppender {

View File

@@ -45,11 +45,11 @@ interface Measurements {
export class AppInsightsAppender implements ITelemetryAppender {
private _aiClient: appInsights.TelemetryClient;
private _aiClient?: appInsights.TelemetryClient;
constructor(
private _eventPrefix: string,
private _defaultData: { [key: string]: any },
private _defaultData: { [key: string]: any } | null,
aiKeyOrClientFactory: string | (() => appInsights.ITelemetryClient), // allow factory function for testing
@ILogService private _logService?: ILogService
) {
@@ -143,14 +143,14 @@ export class AppInsightsAppender implements ITelemetryAppender {
});
}
dispose(): Promise<any> {
dispose(): Promise<any> | undefined {
if (this._aiClient) {
return new Promise(resolve => {
this._aiClient.flush({
this._aiClient!.flush({
callback: () => {
// all data flushed
this._aiClient = undefined;
resolve(void 0);
resolve(undefined);
}
});
});

View File

@@ -11,8 +11,8 @@ import { readFile } from 'vs/base/node/pfs';
// {{SQL CARBON EDIT}}
import product from 'vs/platform/node/product';
export function resolveCommonProperties(commit: string, version: string, machineId: string, installSourcePath: string): Promise<{ [name: string]: string; }> {
const result: { [name: string]: string; } = Object.create(null);
export function resolveCommonProperties(commit: string | undefined, version: string, machineId: string | undefined, installSourcePath: string): Promise<{ [name: string]: string | undefined; }> {
const result: { [name: string]: string | undefined; } = Object.create(null);
// {{SQL CARBON EDIT}}
// __GDPR__COMMON__ "common.machineId" : { "endPoint": "MacAddressHash", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" }

View File

@@ -20,7 +20,7 @@ export class TelemetryAppenderChannel implements IServerChannel {
throw new Error(`Event not found: ${event}`);
}
call(_, command: string, { eventName, data }: ITelemetryLog): Thenable<any> {
call(_, command: string, { eventName, data }: ITelemetryLog): Promise<any> {
this.appender.log(eventName, data);
return Promise.resolve(null);
}

View File

@@ -9,7 +9,7 @@ import product from 'vs/platform/node/product';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
export function addGAParameters(telemetryService: ITelemetryService, environmentService: IEnvironmentService, uri: URI, origin: string, experiment = '1'): Thenable<URI> {
export function addGAParameters(telemetryService: ITelemetryService, environmentService: IEnvironmentService, uri: URI, origin: string, experiment = '1'): Promise<URI> {
if (environmentService.isBuilt && !environmentService.isExtensionDevelopment && !environmentService.args['disable-telemetry'] && !!product.enableTelemetry) {
if (uri.scheme === 'https' && uri.authority === 'code.visualstudio.com') {
return telemetryService.getTelemetryInfo()

View File

@@ -3,7 +3,6 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as uuid from 'vs/base/common/uuid';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { resolveCommonProperties } from 'vs/platform/telemetry/node/commonProperties';
@@ -13,8 +12,12 @@ export const lastSessionDateStorageKey = 'telemetry.lastSessionDate';
import product from 'vs/platform/node/product';
import * as Utils from 'sql/common/telemetryUtilities';
export function resolveWorkbenchCommonProperties(storageService: IStorageService, commit: string, version: string, machineId: string, installSourcePath: string): Promise<{ [name: string]: string }> {
export function resolveWorkbenchCommonProperties(storageService: IStorageService, commit: string, version: string, machineId: string, installSourcePath: string): Promise<{ [name: string]: string | undefined }> {
return resolveCommonProperties(commit, version, machineId, installSourcePath).then(result => {
const instanceId = storageService.get('telemetry.instanceId', StorageScope.GLOBAL)!;
const firstSessionDate = storageService.get('telemetry.firstSessionDate', StorageScope.GLOBAL)!;
const lastSessionDate = storageService.get(lastSessionDateStorageKey, StorageScope.GLOBAL)!;
// __GDPR__COMMON__ "common.version.shell" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }
result['common.version.shell'] = process.versions && process.versions['electron'];
// __GDPR__COMMON__ "common.version.renderer" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }
@@ -24,21 +27,15 @@ export function resolveWorkbenchCommonProperties(storageService: IStorageService
// {{SQL CARBON EDIT}}
result['common.userId'] = '';
// {{SQL CARBON EDIT}}
// const lastSessionDate = storageService.get(lastSessionDateStorageKey, StorageScope.GLOBAL);
// if (!process.env['VSCODE_TEST_STORAGE_MIGRATION']) {
// storageService.store(lastSessionDateStorageKey, new Date().toUTCString(), StorageScope.GLOBAL);
// }
// {{SQL CARBON EDIT}}
// // __GDPR__COMMON__ "common.firstSessionDate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
// result['common.firstSessionDate'] = getOrCreateFirstSessionDate(storageService);
// result['common.firstSessionDate'] = firstSessionDate;
// // __GDPR__COMMON__ "common.lastSessionDate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
// result['common.lastSessionDate'] = lastSessionDate || '';
// // __GDPR__COMMON__ "common.isNewSession" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
// result['common.isNewSession'] = !lastSessionDate ? '1' : '0';
// // __GDPR__COMMON__ "common.instanceId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
// result['common.instanceId'] = getOrCreateInstanceId(storageService);
// result['common.instanceId'] = instanceId;
// {{SQL CARBON EDIT}}
setUsageDates(storageService);
@@ -46,48 +43,19 @@ export function resolveWorkbenchCommonProperties(storageService: IStorageService
});
}
// {{SQL CARBON EDIT}}
// function getOrCreateInstanceId(storageService: IStorageService): string {
// const key = 'telemetry.instanceId';
// let instanceId = storageService.get(key, StorageScope.GLOBAL, void 0);
// if (instanceId) {
// return instanceId;
// }
// instanceId = uuid.generateUuid();
// storageService.store(key, instanceId, StorageScope.GLOBAL);
// return instanceId;
// }
function getOrCreateFirstSessionDate(storageService: IStorageService): string {
const key = 'telemetry.firstSessionDate';
let firstSessionDate = storageService.get(key, StorageScope.GLOBAL, void 0);
if (firstSessionDate) {
return firstSessionDate;
}
firstSessionDate = new Date().toUTCString();
storageService.store(key, firstSessionDate, StorageScope.GLOBAL);
return firstSessionDate;
}
// {{SQL CARBON EDIT}}
function setUsageDates(storageService: IStorageService): void {
// daily last usage date
const appStartDate = new Date('January 1, 2000');
const dailyLastUseDate = storageService.get('telemetry.dailyLastUseDate', StorageScope.GLOBAL) || appStartDate;
const dailyLastUseDate = storageService.get('telemetry.dailyLastUseDate', StorageScope.GLOBAL, appStartDate.toUTCString());
storageService.store('telemetry.dailyLastUseDate', dailyLastUseDate, StorageScope.GLOBAL);
// weekly last usage date
const weeklyLastUseDate = storageService.get('telemetry.weeklyLastUseDate', StorageScope.GLOBAL) || appStartDate;
const weeklyLastUseDate = storageService.get('telemetry.weeklyLastUseDate', StorageScope.GLOBAL, appStartDate.toUTCString());
storageService.store('telemetry.weeklyLastUseDate', weeklyLastUseDate, StorageScope.GLOBAL);
// monthly last usage date
const monthlyLastUseDate = storageService.get('telemetry.monthlyLastUseDate', StorageScope.GLOBAL) || appStartDate;
const monthlyLastUseDate = storageService.get('telemetry.monthlyLastUseDate', StorageScope.GLOBAL, appStartDate.toUTCString());
storageService.store('telemetry.monthlyLastUseDate', monthlyLastUseDate, StorageScope.GLOBAL);
}

View File

@@ -73,14 +73,14 @@ class TestableLogService extends AbstractLogService implements ILogService {
}
suite('AIAdapter', () => {
var appInsightsMock: AppInsightsMock;
var adapter: AppInsightsAppender;
var prefix = 'prefix';
let appInsightsMock: AppInsightsMock;
let adapter: AppInsightsAppender;
let prefix = 'prefix';
setup(() => {
appInsightsMock = new AppInsightsMock();
adapter = new AppInsightsAppender(prefix, undefined, () => appInsightsMock);
adapter = new AppInsightsAppender(prefix, undefined!, () => appInsightsMock);
});
teardown(() => {
@@ -101,49 +101,49 @@ suite('AIAdapter', () => {
assert.equal(appInsightsMock.events.length, 1);
let [first] = appInsightsMock.events;
assert.equal(first.name, `${prefix}/testEvent`);
assert.equal(first.properties['first'], '1st');
assert.equal(first.measurements['second'], '2');
assert.equal(first.measurements['third'], 1);
assert.equal(first.properties!['first'], '1st');
assert.equal(first.measurements!['second'], '2');
assert.equal(first.measurements!['third'], 1);
});
test('property limits', () => {
var reallyLongPropertyName = 'abcdefghijklmnopqrstuvwxyz';
let reallyLongPropertyName = 'abcdefghijklmnopqrstuvwxyz';
for (let i = 0; i < 6; i++) {
reallyLongPropertyName += 'abcdefghijklmnopqrstuvwxyz';
}
assert(reallyLongPropertyName.length > 150);
var reallyLongPropertyValue = 'abcdefghijklmnopqrstuvwxyz012345678901234567890123';
let reallyLongPropertyValue = 'abcdefghijklmnopqrstuvwxyz012345678901234567890123';
for (let i = 0; i < 21; i++) {
reallyLongPropertyValue += 'abcdefghijklmnopqrstuvwxyz012345678901234567890123';
}
assert(reallyLongPropertyValue.length > 1024);
var data = Object.create(null);
let data = Object.create(null);
data[reallyLongPropertyName] = '1234';
data['reallyLongPropertyValue'] = reallyLongPropertyValue;
adapter.log('testEvent', data);
assert.equal(appInsightsMock.events.length, 1);
for (var prop in appInsightsMock.events[0].properties) {
for (let prop in appInsightsMock.events[0].properties!) {
assert(prop.length < 150);
assert(appInsightsMock.events[0].properties[prop].length < 1024);
assert(appInsightsMock.events[0].properties![prop].length < 1024);
}
});
test('Different data types', () => {
var date = new Date();
let date = new Date();
adapter.log('testEvent', { favoriteDate: date, likeRed: false, likeBlue: true, favoriteNumber: 1, favoriteColor: 'blue', favoriteCars: ['bmw', 'audi', 'ford'] });
assert.equal(appInsightsMock.events.length, 1);
assert.equal(appInsightsMock.events[0].name, `${prefix}/testEvent`);
assert.equal(appInsightsMock.events[0].properties['favoriteColor'], 'blue');
assert.equal(appInsightsMock.events[0].measurements['likeRed'], 0);
assert.equal(appInsightsMock.events[0].measurements['likeBlue'], 1);
assert.equal(appInsightsMock.events[0].properties['favoriteDate'], date.toISOString());
assert.equal(appInsightsMock.events[0].properties['favoriteCars'], JSON.stringify(['bmw', 'audi', 'ford']));
assert.equal(appInsightsMock.events[0].measurements['favoriteNumber'], 1);
assert.equal(appInsightsMock.events[0].properties!['favoriteColor'], 'blue');
assert.equal(appInsightsMock.events[0].measurements!['likeRed'], 0);
assert.equal(appInsightsMock.events[0].measurements!['likeBlue'], 1);
assert.equal(appInsightsMock.events[0].properties!['favoriteDate'], date.toISOString());
assert.equal(appInsightsMock.events[0].properties!['favoriteCars'], JSON.stringify(['bmw', 'audi', 'ford']));
assert.equal(appInsightsMock.events[0].measurements!['favoriteNumber'], 1);
});
test('Nested data', () => {
@@ -168,12 +168,12 @@ suite('AIAdapter', () => {
assert.equal(appInsightsMock.events.length, 1);
assert.equal(appInsightsMock.events[0].name, `${prefix}/testEvent`);
assert.equal(appInsightsMock.events[0].properties['window.title'], 'some title');
assert.equal(appInsightsMock.events[0].measurements['window.measurements.width'], 100);
assert.equal(appInsightsMock.events[0].measurements['window.measurements.height'], 200);
assert.equal(appInsightsMock.events[0].properties!['window.title'], 'some title');
assert.equal(appInsightsMock.events[0].measurements!['window.measurements.width'], 100);
assert.equal(appInsightsMock.events[0].measurements!['window.measurements.height'], 200);
assert.equal(appInsightsMock.events[0].properties['nestedObj.nestedObj2.nestedObj3'], JSON.stringify({ 'testProperty': 'test' }));
assert.equal(appInsightsMock.events[0].measurements['nestedObj.testMeasurement'], 1);
assert.equal(appInsightsMock.events[0].properties!['nestedObj.nestedObj2.nestedObj3'], JSON.stringify({ 'testProperty': 'test' }));
assert.equal(appInsightsMock.events[0].measurements!['nestedObj.testMeasurement'], 1);
});
test('Do not Log Telemetry if log level is not trace', () => {

View File

@@ -17,8 +17,8 @@ suite('Telemetry - common properties', function () {
const parentDir = getRandomTestPath(os.tmpdir(), 'vsctests', 'telemetryservice');
const installSource = path.join(parentDir, 'installSource');
const commit: string = void 0;
const version: string = void 0;
const commit: string = (undefined)!;
const version: string = (undefined)!;
let testStorageService: IStorageService;
setup(() => {

View File

@@ -86,7 +86,7 @@ suite('TelemetryService', () => {
test('Disposing', sinon.test(function () {
let testAppender = new TestTelemetryAppender();
let service = new TelemetryService({ appender: testAppender }, undefined);
let service = new TelemetryService({ appender: testAppender }, undefined!);
return service.publicLog('testPrivateEvent').then(() => {
assert.equal(testAppender.getEventsCount(), 1);
@@ -99,7 +99,7 @@ suite('TelemetryService', () => {
// event reporting
test('Simple event', sinon.test(function () {
let testAppender = new TestTelemetryAppender();
let service = new TelemetryService({ appender: testAppender }, undefined);
let service = new TelemetryService({ appender: testAppender }, undefined!);
return service.publicLog('testEvent').then(_ => {
assert.equal(testAppender.getEventsCount(), 1);
@@ -112,7 +112,7 @@ suite('TelemetryService', () => {
test('Event with data', sinon.test(function () {
let testAppender = new TestTelemetryAppender();
let service = new TelemetryService({ appender: testAppender }, undefined);
let service = new TelemetryService({ appender: testAppender }, undefined!);
return service.publicLog('testEvent', {
'stringProp': 'property',
@@ -140,7 +140,7 @@ suite('TelemetryService', () => {
let service = new TelemetryService({
appender: testAppender,
commonProperties: Promise.resolve({ foo: 'JA!', get bar() { return Math.random(); } })
}, undefined);
}, undefined!);
return service.publicLog('testEvent').then(_ => {
let [first] = testAppender.events;
@@ -158,7 +158,7 @@ suite('TelemetryService', () => {
let service = new TelemetryService({
appender: testAppender,
commonProperties: Promise.resolve({ foo: 'JA!', get bar() { return Math.random(); } })
}, undefined);
}, undefined!);
return service.publicLog('testEvent', { hightower: 'xl', price: 8000 }).then(_ => {
let [first] = testAppender.events;
@@ -181,7 +181,7 @@ suite('TelemetryService', () => {
['common.instanceId']: 'two',
['common.machineId']: 'three',
})
}, undefined);
}, undefined!);
return service.getTelemetryInfo().then(info => {
assert.equal(info.sessionId, 'one');
@@ -194,7 +194,7 @@ suite('TelemetryService', () => {
test('enableTelemetry on by default', sinon.test(function () {
let testAppender = new TestTelemetryAppender();
let service = new TelemetryService({ appender: testAppender }, undefined);
let service = new TelemetryService({ appender: testAppender }, undefined!);
return service.publicLog('testEvent').then(() => {
assert.equal(testAppender.getEventsCount(), 1);
@@ -206,13 +206,13 @@ suite('TelemetryService', () => {
class JoinableTelemetryService extends TelemetryService {
private readonly promises: Thenable<void>[] = [];
private readonly promises: Promise<void>[] = [];
join(): Promise<any> {
return Promise.all(this.promises);
}
publicLog(eventName: string, data?: ITelemetryData, anonymizeFilePaths?: boolean): Thenable<void> {
publicLog(eventName: string, data?: ITelemetryData, anonymizeFilePaths?: boolean): Promise<void> {
let p = super.publicLog(eventName, data, anonymizeFilePaths);
this.promises.push(p);
return p;
@@ -227,7 +227,7 @@ suite('TelemetryService', () => {
// try {
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
@@ -286,7 +286,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let testError = new Error('test');
@@ -314,7 +314,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let personInfoWithSpaces = settings.personalInfo.slice(0, 2) + ' ' + settings.personalInfo.slice(2);
@@ -338,7 +338,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousFilenameError: any = new Error('dangerousFilename');
@@ -370,7 +370,7 @@ suite('TelemetryService', () => {
// try {
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithoutImportantInfoError: any = new Error(settings.dangerousPathWithoutImportantInfo);
@@ -400,7 +400,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithoutImportantInfoError: any = new Error('dangerousPathWithoutImportantInfo');
@@ -430,7 +430,7 @@ suite('TelemetryService', () => {
// try {
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithImportantInfoError: any = new Error(settings.dangerousPathWithImportantInfo);
@@ -463,7 +463,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithImportantInfoError: any = new Error('dangerousPathWithImportantInfo');
@@ -495,7 +495,7 @@ suite('TelemetryService', () => {
// try {
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithImportantInfoError: any = new Error(settings.dangerousPathWithImportantInfo);
@@ -524,7 +524,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithImportantInfoError: any = new Error('dangerousPathWithImportantInfo');
@@ -553,7 +553,7 @@ suite('TelemetryService', () => {
// try {
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender, piiPaths: [settings.personalInfo + '/resources/app/'] }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender, piiPaths: [settings.personalInfo + '/resources/app/'] }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithImportantInfoError: any = new Error(settings.dangerousPathWithImportantInfo);
@@ -586,7 +586,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender, piiPaths: [settings.personalInfo + '/resources/app/'] }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender, piiPaths: [settings.personalInfo + '/resources/app/'] }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let dangerousPathWithImportantInfoError: any = new Error('dangerousPathWithImportantInfo');
@@ -618,7 +618,7 @@ suite('TelemetryService', () => {
// try {
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let missingModelError: any = new Error(settings.missingModelMessage);
@@ -651,7 +651,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let missingModelError: any = new Error('missingModelMessage');
@@ -684,7 +684,7 @@ suite('TelemetryService', () => {
// try {
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let noSuchFileError: any = new Error(settings.noSuchFileMessage);
@@ -721,7 +721,7 @@ suite('TelemetryService', () => {
// window.onerror = errorStub;
// let settings = new ErrorTestingSettings();
// let testAppender = new TestTelemetryAppender();
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined);
// let service = new JoinableTelemetryService({ appender: testAppender }, undefined!);
// const errorTelemetry = new ErrorTelemetry(service);
// let noSuchFileError: any = new Error('noSuchFileMessage');
@@ -752,7 +752,7 @@ suite('TelemetryService', () => {
test('Telemetry Service sends events when enableTelemetry is on', sinon.test(function () {
let testAppender = new TestTelemetryAppender();
let service = new TelemetryService({ appender: testAppender }, undefined);
let service = new TelemetryService({ appender: testAppender }, undefined!);
return service.publicLog('testEvent').then(() => {
assert.equal(testAppender.getEventsCount(), 1);
@@ -776,20 +776,20 @@ suite('TelemetryService', () => {
} as any;
},
updateValue(): Promise<void> {
return null;
return null!;
},
inspect(key: string) {
return {
value: getConfigurationValue(this.getValue(), key),
default: getConfigurationValue(this.getValue(), key),
user: getConfigurationValue(this.getValue(), key),
workspace: null,
workspaceFolder: null
workspace: null!,
workspaceFolder: null!
};
},
keys() { return { default: [], user: [], workspace: [], workspaceFolder: [] }; },
onDidChangeConfiguration: emitter.event,
reloadConfiguration(): Promise<void> { return null; },
reloadConfiguration(): Promise<void> { return null!; },
getConfigurationData() { return null; }
});