diff --git a/src/vs/code/electron-browser/issue/issueReporter.html b/src/vs/code/electron-browser/issue/issueReporter.html index b3c0a427fc71a79c589ab6b5545ee1889680aa15..695de78a4cb9e455069110872b7e640864cd0936 100644 --- a/src/vs/code/electron-browser/issue/issueReporter.html +++ b/src/vs/code/electron-browser/issue/issueReporter.html @@ -4,8 +4,7 @@ - - + diff --git a/src/vs/code/electron-browser/issue/issueReporterMain.ts b/src/vs/code/electron-browser/issue/issueReporterMain.ts index c0344399deda182b1b5c17434e8db6044fffde46..3c713ac474f1319ecfc89526fb558b00485aa022 100644 --- a/src/vs/code/electron-browser/issue/issueReporterMain.ts +++ b/src/vs/code/electron-browser/issue/issueReporterMain.ts @@ -332,7 +332,13 @@ export class IssueReporter extends Disposable { }); document.getElementById('description').addEventListener('input', (event: Event) => { - this.issueReporterModel.update({ issueDescription: (event.target).value }); + const issueDescription = (event.target).value; + this.issueReporterModel.update({ issueDescription }); + + if (this.features.useDuplicateSearch) { + const title = (document.getElementById('issue-title')).value; + this.searchDuplicates(title, issueDescription); + } }); document.getElementById('issue-title').addEventListener('input', (e) => { this.searchIssues(e); }); @@ -423,7 +429,8 @@ export class IssueReporter extends Disposable { const title = (event.target).value; if (title) { if (this.features.useDuplicateSearch) { - this.searchDuplicates(title); + const description = this.issueReporterModel.getData().issueDescription; + this.searchDuplicates(title, description); } else { this.searchGitHub(title); } @@ -437,13 +444,14 @@ export class IssueReporter extends Disposable { similarIssues.innerHTML = ''; } - private searchDuplicates(title: string): void { - // TODO: Change to HTTPS - const url = 'http://vscode-probot.westus.cloudapp.azure.com:5010/duplicate_candidates'; + @debounce(300) + private searchDuplicates(title: string, body: string): void { + const url = 'https://vscode-probot.westus.cloudapp.azure.com:7890/duplicate_candidates'; const init = { method: 'POST', body: JSON.stringify({ - title + title, + body }), headers: new Headers({ 'Content-Type': 'application/json' @@ -455,16 +463,9 @@ export class IssueReporter extends Disposable { this.clearSearchResults(); if (result && result.candidates) { - const normalizedResults = result.candidates.map(result => { - return { - html_url: `https://github.com/Microsoft/vscode/issues/${result.number}`, - title: result.title - }; - }); - - this.displaySearchResults(normalizedResults); + this.displaySearchResults(result.candidates); } else { - throw new Error(); + throw new Error('Unexpected response, no candidates property'); } }).catch((error) => { this.logSearchError(error);