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);