From 2a445d90d2954870e02b65c672d22c590dc40c81 Mon Sep 17 00:00:00 2001 From: Rachel Macfarlane Date: Thu, 15 Feb 2018 12:00:32 -0800 Subject: [PATCH] Tag issues generated by issue reporter, telemetry improvements --- .../issue/issueReporterMain.ts | 21 ++++++++++--------- .../issue/issueReporterModel.ts | 3 ++- .../issue/test/testReporterModel.test.ts | 3 ++- .../issue/electron-main/issueService.ts | 2 +- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/vs/code/electron-browser/issue/issueReporterMain.ts b/src/vs/code/electron-browser/issue/issueReporterMain.ts index 56adfad1664..d4845ccf973 100644 --- a/src/vs/code/electron-browser/issue/issueReporterMain.ts +++ b/src/vs/code/electron-browser/issue/issueReporterMain.ts @@ -67,6 +67,7 @@ export class IssueReporter extends Disposable { private logService: ILogService; private issueReporterModel: IssueReporterModel; private shouldQueueSearch = true; + private numberOfSearchResultsDisplayed = 0; private features: IssueReporterFeatures; private receivedSystemInfo = false; private receivedPerformanceInfo = false; @@ -444,6 +445,7 @@ export class IssueReporter extends Disposable { private clearSearchResults(): void { const similarIssues = document.getElementById('similar-issues'); similarIssues.innerHTML = ''; + this.numberOfSearchResultsDisplayed = 0; } @debounce(300) @@ -520,8 +522,8 @@ export class IssueReporter extends Disposable { const issuesText = $('div.list-title'); issuesText.textContent = localize('similarIssues', "Similar issues"); - const numResultsToDisplay = results.length < 5 ? results.length : 5; - for (let i = 0; i < numResultsToDisplay; i++) { + this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5; + for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) { const issue = results[i]; const link = issue.state ? $('a.issue-link', { href: issue.html_url }) : $('a', { href: issue.html_url }); link.textContent = issue.title; @@ -676,14 +678,13 @@ export class IssueReporter extends Disposable { return false; } - if (this.telemetryService) { - /* __GDPR__ - "issueReporterSubmit" : { - "issueType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog('issueReporterSubmit', { issueType: this.issueReporterModel.getData().issueType }); - } + /* __GDPR__ + "issueReporterSubmit" : { + "issueType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "numSimilarIssuesDisplayed" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ + this.telemetryService.publicLog('issueReporterSubmit', { issueType: this.issueReporterModel.getData().issueType, numSimilarIssuesDisplayed: this.numberOfSearchResultsDisplayed }); const issueTitle = encodeURIComponent((document.getElementById('issue-title')).value); const queryStringPrefix = product.reportIssueUrl.indexOf('?') === -1 ? '?' : '&'; diff --git a/src/vs/code/electron-browser/issue/issueReporterModel.ts b/src/vs/code/electron-browser/issue/issueReporterModel.ts index 1669eaeebe2..fec01f2d9e7 100644 --- a/src/vs/code/electron-browser/issue/issueReporterModel.ts +++ b/src/vs/code/electron-browser/issue/issueReporterModel.ts @@ -73,7 +73,8 @@ ${this._data.issueDescription} VS Code version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion} OS version: ${this._data.versionInfo && this._data.versionInfo.os} -${this.getInfos()}`; +${this.getInfos()} +`; } private getIssueTypeTitle(): string { diff --git a/src/vs/code/electron-browser/issue/test/testReporterModel.test.ts b/src/vs/code/electron-browser/issue/test/testReporterModel.test.ts index f9a885220cb..eaeb2ae6de4 100644 --- a/src/vs/code/electron-browser/issue/test/testReporterModel.test.ts +++ b/src/vs/code/electron-browser/issue/test/testReporterModel.test.ts @@ -39,6 +39,7 @@ undefined VS Code version: undefined OS version: undefined -`); + +`); }); }); diff --git a/src/vs/platform/issue/electron-main/issueService.ts b/src/vs/platform/issue/electron-main/issueService.ts index d706dcd5ff9..2d24cd52a83 100644 --- a/src/vs/platform/issue/electron-main/issueService.ts +++ b/src/vs/platform/issue/electron-main/issueService.ts @@ -47,7 +47,7 @@ export class IssueService implements IIssueService { }); ipcMain.on('workbenchCommand', (event, arg) => { - this._parentWindow.webContents.send('vscode:runAction', { id: arg }); + this._parentWindow.webContents.send('vscode:runAction', { id: arg, from: 'issueReporter' }); }); this._parentWindow = BrowserWindow.getFocusedWindow();