diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index c83f2aa3cb0..edee7f5d633 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -858,7 +858,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient "typingsInstallerVersion": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ - // GDPR__COMMENT: Other events are defined by TypeScript. + // __GDPR__COMMENT__: Other events are defined by TypeScript. this.logTelemetry(telemetryData.telemetryEventName, properties); } } diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts index 0f8575d31cd..37d81aaacc8 100644 --- a/src/vs/code/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -1572,7 +1572,7 @@ class FileDialog { // Telemetry if (options.telemetryEventName) { - // __GDPR__TODO + // __GDPR__TODO__ Dynamic event names and dynamic properties. Can not be registered statically. this.telemetryService.publicLog(options.telemetryEventName, { ...options.telemetryExtraData, outcome: numberOfPaths ? 'success' : 'canceled', diff --git a/src/vs/editor/contrib/suggest/browser/completionModel.ts b/src/vs/editor/contrib/suggest/browser/completionModel.ts index 8cbd01e3d13..e902cfd9697 100644 --- a/src/vs/editor/contrib/suggest/browser/completionModel.ts +++ b/src/vs/editor/contrib/suggest/browser/completionModel.ts @@ -24,7 +24,7 @@ export interface ICompletionItem extends ISuggestionItem { "textCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ -// __GDPR__TODO: This is an extensible structure which can not be statically declared. +// __GDPR__TODO__: This is a dynamically extensible structure which can not be declared statically. export interface ICompletionStats { suggestionCount: number; snippetCount: number; diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index 9ae4c316325..3d604a4034b 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -153,7 +153,7 @@ export default class ErrorTelemetry { "column": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ - // __GDPR__TODO what's the complete set of properties? + // __GDPR__TODO__ what's the complete set of properties? this._telemetryService.publicLog('UnhandledError', error); } this._buffer.length = 0; diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index 7c8387018a6..b075808bd0f 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -880,7 +880,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { const handle = this._nextHandle(); this._adapter.set(handle, new HoverAdapter(this._documents, provider, once((name: string, data: any) => { data['extension'] = extensionId; - // __GDPR__TODO Dynamic event names and dynamic properties. Can not be registered statically. + // __GDPR__TODO__ Dynamic event names and dynamic properties. Can not be registered statically. this._telemetry.$publicLog(name, data); }))); this._proxy.$registerHoverProvider(handle, selector); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index d5876550999..5ce56cb36a5 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -341,7 +341,7 @@ export class DebugService implements debug.IDebugService { // only log telemetry events from debug adapter if the adapter provided the telemetry key // and the user opted in telemetry if (session.customTelemetryService && this.telemetryService.isOptedIn) { - // __GDPR__TODO Need to move off dynamic event names or properties. They cannot be registered upfront. + // __GDPR__TODO__ We're sending events in the name of the debug adapter and we can not ensure that those are declared correctly. session.customTelemetryService.publicLog(event.body.output, event.body.data); } diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts index bd6c687d121..291e72af77a 100644 --- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts @@ -171,7 +171,10 @@ export class RawDebugSession extends V8Protocol implements debug.ISession { */ this.telemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); if (this.customTelemetryService) { - // __GDPR__TODO the message is sent in the name of the adapter but since the adapters are an open set, this can not be statically declared + /* __GDPR__TODO__ + * The message is sent in the name of the adapter but the adapter doesn't know about it. However, since adapters are an open-ended set, + * we can not declared the events statically either. + */ this.customTelemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); } } diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 0598ee9d189..694c2dc7b96 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -541,7 +541,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor } private reportKeybindingAction(action: string, command: string, keybinding: ResolvedKeybinding | string): void { - // __GDPR__TODO need to move off dynamic event names and properties as they cannot be registered statically + // __GDPR__TODO__ Need to move off dynamic event names and properties as they cannot be registered statically this.telemetryService.publicLog(action, { command, keybinding: keybinding ? (typeof keybinding === 'string' ? keybinding : keybinding.getUserSettingsLabel()) : '' }); } diff --git a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts index e7d0ee6bc2f..55567eec11f 100644 --- a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts +++ b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts @@ -88,7 +88,7 @@ class LanguageSurvey { const message = nls.localize('helpUs', "Help us improve our support for {0}", data.languageId); const takeSurveyAction = new Action('takeSurvey', nls.localize('takeShortSurvey', "Take Short Survey"), '', true, () => { - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/takeShortSurvey`); return telemetryService.getTelemetryInfo().then(info => { window.open(`${data.surveyUrl}?o=${encodeURIComponent(process.platform)}&v=${encodeURIComponent(pkg.version)}&m=${encodeURIComponent(info.machineId)}`); @@ -98,14 +98,14 @@ class LanguageSurvey { }); const remindMeLaterAction = new Action('later', nls.localize('remindLater', "Remind Me later"), '', true, () => { - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/remindMeLater`); storageService.store(SESSION_COUNT_KEY, sessionCount - 3, StorageScope.GLOBAL); return TPromise.as(null); }); const neverAgainAction = new Action('never', nls.localize('neverAgain', "Don't Show Again"), '', true, () => { - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/dontShowAgain`); storageService.store(IS_CANDIDATE_KEY, false, StorageScope.GLOBAL); storageService.store(SKIP_VERSION_KEY, pkg.version, StorageScope.GLOBAL); @@ -113,7 +113,7 @@ class LanguageSurvey { }); const actions = [neverAgainAction, remindMeLaterAction, takeSurveyAction]; - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/userAsked`); messageService.show(Severity.Info, { message, actions }); }