@codingame/monaco-vscode-issue-service-override 8.0.0 → 8.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +1 -1
- package/vscode/src/vs/workbench/contrib/issue/browser/issue.js +31 -31
- package/vscode/src/vs/workbench/contrib/issue/browser/issueFormService.js +6 -6
- package/vscode/src/vs/workbench/contrib/issue/browser/issueReporterPage.js +30 -30
- package/vscode/src/vs/workbench/contrib/issue/browser/issueReporterService.js +2 -2
- package/vscode/src/vs/workbench/contrib/issue/browser/issueTroubleshoot.js +23 -23
- package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-issue-service-override",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.2",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vscode": "npm:@codingame/monaco-vscode-api@8.0.
|
|
29
|
+
"vscode": "npm:@codingame/monaco-vscode-api@8.0.2"
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -34,5 +34,5 @@ WebIssueContribution = ( (__decorate([
|
|
|
34
34
|
], WebIssueContribution)));
|
|
35
35
|
( (Registry.as(Extensions$1.Workbench))).registerWorkbenchContribution(WebIssueContribution, LifecyclePhase.Restored);
|
|
36
36
|
CommandsRegistry.registerCommand('_issues.getSystemStatus', (accessor) => {
|
|
37
|
-
return ( localize(
|
|
37
|
+
return ( localize(2553, "The --status argument is not yet supported in browsers."));
|
|
38
38
|
});
|
|
@@ -207,11 +207,11 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
207
207
|
const info = containingElement && containingElement.lastElementChild;
|
|
208
208
|
if (info && info.classList.contains('hidden')) {
|
|
209
209
|
show(info);
|
|
210
|
-
label.textContent = ( localize(
|
|
210
|
+
label.textContent = ( localize(10127, "hide"));
|
|
211
211
|
}
|
|
212
212
|
else {
|
|
213
213
|
hide(info);
|
|
214
|
-
label.textContent = ( localize(
|
|
214
|
+
label.textContent = ( localize(10128, "show"));
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
});
|
|
@@ -231,16 +231,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
231
231
|
}
|
|
232
232
|
const descriptionTextArea = this.getElementById('issue-title');
|
|
233
233
|
if (value === IssueSource.VSCode) {
|
|
234
|
-
descriptionTextArea.placeholder = ( localize(
|
|
234
|
+
descriptionTextArea.placeholder = ( localize(10129, "E.g Workbench is missing problems panel"));
|
|
235
235
|
}
|
|
236
236
|
else if (value === IssueSource.Extension) {
|
|
237
|
-
descriptionTextArea.placeholder = ( localize(
|
|
237
|
+
descriptionTextArea.placeholder = ( localize(10130, "E.g. Missing alt text on extension readme image"));
|
|
238
238
|
}
|
|
239
239
|
else if (value === IssueSource.Marketplace) {
|
|
240
|
-
descriptionTextArea.placeholder = ( localize(
|
|
240
|
+
descriptionTextArea.placeholder = ( localize(10131, "E.g Cannot disable installed extension"));
|
|
241
241
|
}
|
|
242
242
|
else {
|
|
243
|
-
descriptionTextArea.placeholder = ( localize(
|
|
243
|
+
descriptionTextArea.placeholder = ( localize(10132, "Please enter a title"));
|
|
244
244
|
}
|
|
245
245
|
let fileOnExtension, fileOnMarketplace = false;
|
|
246
246
|
if (value === IssueSource.Extension) {
|
|
@@ -298,16 +298,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
298
298
|
updatePreviewButtonState() {
|
|
299
299
|
if (this.isPreviewEnabled()) {
|
|
300
300
|
if (this.data.githubAccessToken) {
|
|
301
|
-
this.previewButton.label = ( localize(
|
|
301
|
+
this.previewButton.label = ( localize(10133, "Create on GitHub"));
|
|
302
302
|
}
|
|
303
303
|
else {
|
|
304
|
-
this.previewButton.label = ( localize(
|
|
304
|
+
this.previewButton.label = ( localize(10134, "Preview on GitHub"));
|
|
305
305
|
}
|
|
306
306
|
this.previewButton.enabled = true;
|
|
307
307
|
}
|
|
308
308
|
else {
|
|
309
309
|
this.previewButton.enabled = false;
|
|
310
|
-
this.previewButton.label = ( localize(
|
|
310
|
+
this.previewButton.label = ( localize(10135, "Loading data..."));
|
|
311
311
|
}
|
|
312
312
|
const issueRepoName = this.getElementById('show-repo-name');
|
|
313
313
|
const selectedExtension = this.issueReporterModel.getData().selectedExtension;
|
|
@@ -426,7 +426,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
426
426
|
}
|
|
427
427
|
else {
|
|
428
428
|
const message = $('div.list-title');
|
|
429
|
-
message.textContent = ( localize(
|
|
429
|
+
message.textContent = ( localize(10136, "GitHub query limit exceeded. Please wait."));
|
|
430
430
|
similarIssues.appendChild(message);
|
|
431
431
|
const resetTime = response.headers.get('X-RateLimit-Reset');
|
|
432
432
|
const timeToWait = resetTime ? parseInt(resetTime) - Math.floor(Date.now() / 1000) : 1;
|
|
@@ -476,7 +476,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
476
476
|
if (results.length) {
|
|
477
477
|
const issues = $('div.issues-container');
|
|
478
478
|
const issuesText = $('div.list-title');
|
|
479
|
-
issuesText.textContent = ( localize(
|
|
479
|
+
issuesText.textContent = ( localize(10137, "Similar issues"));
|
|
480
480
|
this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5;
|
|
481
481
|
for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) {
|
|
482
482
|
const issue = results[i];
|
|
@@ -492,8 +492,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
492
492
|
const issueIcon = $('span.issue-icon');
|
|
493
493
|
issueIcon.appendChild(renderIcon(issue.state === 'open' ? Codicon.issueOpened : Codicon.issueClosed));
|
|
494
494
|
const issueStateLabel = $('span.issue-state.label');
|
|
495
|
-
issueStateLabel.textContent = issue.state === 'open' ? ( localize(
|
|
496
|
-
issueState.title = issue.state === 'open' ? ( localize(
|
|
495
|
+
issueStateLabel.textContent = issue.state === 'open' ? ( localize(10138, "Open")) : ( localize(10139, "Closed"));
|
|
496
|
+
issueState.title = issue.state === 'open' ? ( localize(10138, "Open")) : ( localize(10139, "Closed"));
|
|
497
497
|
issueState.appendChild(issueIcon);
|
|
498
498
|
issueState.appendChild(issueStateLabel);
|
|
499
499
|
item = $('div.issue', undefined, issueState, link);
|
|
@@ -508,7 +508,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
508
508
|
}
|
|
509
509
|
else {
|
|
510
510
|
const message = $('div.list-title');
|
|
511
|
-
message.textContent = ( localize(
|
|
511
|
+
message.textContent = ( localize(10140, "No similar issues found"));
|
|
512
512
|
similarIssues.appendChild(message);
|
|
513
513
|
}
|
|
514
514
|
}
|
|
@@ -516,7 +516,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
516
516
|
const makeOption = (issueType, description) => $('option', { 'value': issueType.valueOf() }, escape(description));
|
|
517
517
|
const typeSelect = this.getElementById('issue-type');
|
|
518
518
|
const { issueType } = this.issueReporterModel.getData();
|
|
519
|
-
reset(typeSelect, makeOption(IssueType.Bug, ( localize(
|
|
519
|
+
reset(typeSelect, makeOption(IssueType.Bug, ( localize(10141, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(10142, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(10143, "Performance Issue (freeze, slow, crash)"))));
|
|
520
520
|
typeSelect.value = ( (issueType.toString()));
|
|
521
521
|
this.setSourceOptions();
|
|
522
522
|
}
|
|
@@ -546,14 +546,14 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
548
|
sourceSelect.innerText = '';
|
|
549
|
-
sourceSelect.append(this.makeOption('', ( localize(
|
|
550
|
-
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(
|
|
551
|
-
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(
|
|
549
|
+
sourceSelect.append(this.makeOption('', ( localize(10144, "Select source")), true));
|
|
550
|
+
sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(10145, "Visual Studio Code")), false));
|
|
551
|
+
sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(10146, "A VS Code extension")), false));
|
|
552
552
|
if (this.product.reportMarketplaceIssueUrl) {
|
|
553
|
-
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(
|
|
553
|
+
sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(10147, "Extensions Marketplace")), false));
|
|
554
554
|
}
|
|
555
555
|
if (issueType !== IssueType.FeatureRequest) {
|
|
556
|
-
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(
|
|
556
|
+
sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(10148, "Don't know")), false));
|
|
557
557
|
}
|
|
558
558
|
if (selected !== -1 && selected < sourceSelect.options.length) {
|
|
559
559
|
sourceSelect.selectedIndex = selected;
|
|
@@ -597,13 +597,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
597
597
|
if (selectedExtension && this.nonGitHubIssueUrl) {
|
|
598
598
|
hide(titleTextArea);
|
|
599
599
|
hide(descriptionTextArea);
|
|
600
|
-
reset(descriptionTitle, ( localize(
|
|
600
|
+
reset(descriptionTitle, ( localize(10149, "This extension handles issues outside of VS Code")));
|
|
601
601
|
reset(descriptionSubtitle, ( localize(
|
|
602
|
-
|
|
602
|
+
10150,
|
|
603
603
|
"The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.",
|
|
604
604
|
selectedExtension.displayName
|
|
605
605
|
)));
|
|
606
|
-
this.previewButton.label = ( localize(
|
|
606
|
+
this.previewButton.label = ( localize(10151, "Open External Issue Reporter"));
|
|
607
607
|
return;
|
|
608
608
|
}
|
|
609
609
|
if (fileOnExtension && selectedExtension?.data) {
|
|
@@ -630,9 +630,9 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
630
630
|
show(extensionsBlock);
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
|
-
reset(descriptionTitle, ( localize(
|
|
633
|
+
reset(descriptionTitle, ( localize(10152, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
|
|
634
634
|
reset(descriptionSubtitle, ( localize(
|
|
635
|
-
|
|
635
|
+
10153,
|
|
636
636
|
"Share the steps needed to reliably reproduce the problem. Please include actual and expected results. We support GitHub-flavored Markdown. You will be able to edit your issue and add screenshots when we preview it on GitHub."
|
|
637
637
|
)));
|
|
638
638
|
}
|
|
@@ -650,16 +650,16 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
650
650
|
else if (!fileOnMarketplace) {
|
|
651
651
|
show(extensionsBlock);
|
|
652
652
|
}
|
|
653
|
-
reset(descriptionTitle, ( localize(
|
|
653
|
+
reset(descriptionTitle, ( localize(10152, "Steps to Reproduce")) + ' ', $('span.required-input', undefined, '*'));
|
|
654
654
|
reset(descriptionSubtitle, ( localize(
|
|
655
|
-
|
|
655
|
+
10154,
|
|
656
656
|
"When did this performance issue happen? Does it occur on startup or after a specific series of actions? We support GitHub-flavored Markdown. You will be able to edit your issue and add screenshots when we preview it on GitHub."
|
|
657
657
|
)));
|
|
658
658
|
}
|
|
659
659
|
else if (issueType === IssueType.FeatureRequest) {
|
|
660
|
-
reset(descriptionTitle, ( localize(
|
|
660
|
+
reset(descriptionTitle, ( localize(10155, "Description")) + ' ', $('span.required-input', undefined, '*'));
|
|
661
661
|
reset(descriptionSubtitle, ( localize(
|
|
662
|
-
|
|
662
|
+
10156,
|
|
663
663
|
"Please describe the feature you would like to see. We support GitHub-flavored Markdown. You will be able to edit your issue and add screenshots when we preview it on GitHub."
|
|
664
664
|
)));
|
|
665
665
|
}
|
|
@@ -793,7 +793,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
793
793
|
throw ( (new CancellationError()));
|
|
794
794
|
}
|
|
795
795
|
return baseUrl + `&body=${encodeURIComponent(( localize(
|
|
796
|
-
|
|
796
|
+
10157,
|
|
797
797
|
"We have written the needed data into your clipboard because it was too large to send. Please paste."
|
|
798
798
|
)))}`;
|
|
799
799
|
}
|
|
@@ -963,7 +963,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
|
|
|
963
963
|
const target = this.window.document.querySelector('.block-extensions .block-info');
|
|
964
964
|
if (target) {
|
|
965
965
|
if (this.disableExtensions) {
|
|
966
|
-
reset(target, ( localize(
|
|
966
|
+
reset(target, ( localize(10158, "Extensions are disabled")));
|
|
967
967
|
return;
|
|
968
968
|
}
|
|
969
969
|
const themeExclusionStr = numThemeExtensions ? `\n(${numThemeExtensions} theme extensions excluded)` : '';
|
|
@@ -65,19 +65,19 @@ let IssueFormService = class IssueFormService {
|
|
|
65
65
|
await this.dialogService.prompt({
|
|
66
66
|
type: Severity$1.Warning,
|
|
67
67
|
message: ( localize(
|
|
68
|
-
|
|
68
|
+
2548,
|
|
69
69
|
"Your input will not be saved. Are you sure you want to close this window?"
|
|
70
70
|
)),
|
|
71
71
|
buttons: [
|
|
72
72
|
{
|
|
73
|
-
label: ( localize(
|
|
73
|
+
label: ( localize(2549, "&&Yes")),
|
|
74
74
|
run: () => {
|
|
75
75
|
this.closeReporter();
|
|
76
76
|
this.issueReporterWindow = null;
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
|
-
label: ( localize(
|
|
80
|
+
label: ( localize(2550, "Cancel")),
|
|
81
81
|
run: () => { }
|
|
82
82
|
}
|
|
83
83
|
]
|
|
@@ -88,16 +88,16 @@ let IssueFormService = class IssueFormService {
|
|
|
88
88
|
await this.dialogService.prompt({
|
|
89
89
|
type: Severity$1.Warning,
|
|
90
90
|
message: ( localize(
|
|
91
|
-
|
|
91
|
+
2551,
|
|
92
92
|
"There is too much data to send to GitHub directly. The data will be copied to the clipboard, please paste it into the GitHub issue page that is opened."
|
|
93
93
|
)),
|
|
94
94
|
buttons: [
|
|
95
95
|
{
|
|
96
|
-
label: ( localize(
|
|
96
|
+
label: ( localize(2552, "&&OK")),
|
|
97
97
|
run: () => { result = true; }
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
|
-
label: ( localize(
|
|
100
|
+
label: ( localize(2550, "Cancel")),
|
|
101
101
|
run: () => { result = false; }
|
|
102
102
|
}
|
|
103
103
|
]
|
|
@@ -1,56 +1,56 @@
|
|
|
1
1
|
import { escape } from 'vscode/vscode/vs/base/common/strings';
|
|
2
2
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
3
3
|
|
|
4
|
-
const sendSystemInfoLabel = escape(( localize(
|
|
5
|
-
const sendProcessInfoLabel = escape(( localize(
|
|
6
|
-
const sendWorkspaceInfoLabel = escape(( localize(
|
|
7
|
-
const sendExtensionsLabel = escape(( localize(
|
|
8
|
-
const sendExperimentsLabel = escape(( localize(
|
|
9
|
-
const sendExtensionData = escape(( localize(
|
|
4
|
+
const sendSystemInfoLabel = escape(( localize(5706, "Include my system information")));
|
|
5
|
+
const sendProcessInfoLabel = escape(( localize(5707, "Include my currently running processes")));
|
|
6
|
+
const sendWorkspaceInfoLabel = escape(( localize(5708, "Include my workspace metadata")));
|
|
7
|
+
const sendExtensionsLabel = escape(( localize(5709, "Include my enabled extensions")));
|
|
8
|
+
const sendExperimentsLabel = escape(( localize(5710, "Include A/B experiment info")));
|
|
9
|
+
const sendExtensionData = escape(( localize(5711, "Include additional extension info")));
|
|
10
10
|
const reviewGuidanceLabel = ( localize(
|
|
11
|
-
|
|
11
|
+
5712,
|
|
12
12
|
'Before you report an issue here please <a href="https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>.'
|
|
13
13
|
));
|
|
14
14
|
var BaseHtml = () => `
|
|
15
15
|
<div class="issue-reporter" id="issue-reporter">
|
|
16
|
-
<div id="english" class="input-group hidden">${escape(( localize(
|
|
16
|
+
<div id="english" class="input-group hidden">${escape(( localize(5713, "Please complete the form in English.")))}</div>
|
|
17
17
|
|
|
18
18
|
<div id="review-guidance-help-text" class="input-group">${reviewGuidanceLabel}</div>
|
|
19
19
|
|
|
20
20
|
<div class="section">
|
|
21
21
|
<div class="input-group">
|
|
22
|
-
<label class="inline-label" for="issue-type">${escape(( localize(
|
|
22
|
+
<label class="inline-label" for="issue-type">${escape(( localize(5714, "This is a")))}</label>
|
|
23
23
|
<select id="issue-type" class="inline-form-control">
|
|
24
24
|
<!-- To be dynamically filled -->
|
|
25
25
|
</select>
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
28
|
<div class="input-group" id="problem-source">
|
|
29
|
-
<label class="inline-label" for="issue-source">${escape(( localize(
|
|
29
|
+
<label class="inline-label" for="issue-source">${escape(( localize(5715, "For")))} <span class="required-input">*</span></label>
|
|
30
30
|
<select id="issue-source" class="inline-form-control" required>
|
|
31
31
|
<!-- To be dynamically filled -->
|
|
32
32
|
</select>
|
|
33
|
-
<div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
33
|
+
<div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(5716, "An issue source is required.")))}</div>
|
|
34
34
|
<div id="problem-source-help-text" class="instructions hidden">${escape(( localize(
|
|
35
|
-
|
|
35
|
+
5717,
|
|
36
36
|
"Try to reproduce the problem after {0}. If the problem only reproduces when extensions are active, it is likely an issue with an extension."
|
|
37
37
|
)))
|
|
38
|
-
.replace('{0}', () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(
|
|
38
|
+
.replace('{0}', () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(5718, "disabling all extensions and reloading the window")))}</span>`)}
|
|
39
39
|
</div>
|
|
40
40
|
|
|
41
41
|
<div id="extension-selection">
|
|
42
|
-
<label class="inline-label" for="extension-selector">${escape(( localize(
|
|
42
|
+
<label class="inline-label" for="extension-selector">${escape(( localize(5719, "Extension")))} <span class="required-input">*</span></label>
|
|
43
43
|
<select id="extension-selector" class="inline-form-control">
|
|
44
44
|
<!-- To be dynamically filled -->
|
|
45
45
|
</select>
|
|
46
46
|
<div id="extension-selection-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
47
|
-
|
|
47
|
+
5720,
|
|
48
48
|
"The issue reporter is unable to create issues for this extension. Please visit {0} to report an issue."
|
|
49
49
|
)))
|
|
50
50
|
.replace('{0}', () => `<span tabIndex=0 role="button" id="extensionBugsLink" class="workbenchCommand"><!-- To be dynamically filled --></span>`)}</div>
|
|
51
51
|
<div id="extension-selection-validation-error-no-url" class="validation-error hidden" role="alert">
|
|
52
52
|
${escape(( localize(
|
|
53
|
-
|
|
53
|
+
5721,
|
|
54
54
|
"The issue reporter is unable to create issues for this extension, as it does not specify a URL for reporting issues. Please check the marketplace page of this extension to see if other instructions are available."
|
|
55
55
|
)))}
|
|
56
56
|
</div>
|
|
@@ -58,10 +58,10 @@ var BaseHtml = () => `
|
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
60
|
<div id="issue-title-container" class="input-group">
|
|
61
|
-
<label class="inline-label" for="issue-title">${escape(( localize(
|
|
62
|
-
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(
|
|
63
|
-
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
64
|
-
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
61
|
+
<label class="inline-label" for="issue-title">${escape(( localize(5722, "Title")))} <span class="required-input">*</span></label>
|
|
62
|
+
<input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(5723, "Please enter a title.")))}" required>
|
|
63
|
+
<div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(5724, "A title is required.")))}</div>
|
|
64
|
+
<div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(5725, "The title is too long.")))}</div>
|
|
65
65
|
<small id="similar-issues">
|
|
66
66
|
<!-- To be dynamically filled -->
|
|
67
67
|
</small>
|
|
@@ -77,10 +77,10 @@ var BaseHtml = () => `
|
|
|
77
77
|
<!-- To be dynamically filled -->
|
|
78
78
|
</div>
|
|
79
79
|
<div class="block-info-text">
|
|
80
|
-
<textarea name="description" id="description" placeholder="${escape(( localize(
|
|
80
|
+
<textarea name="description" id="description" placeholder="${escape(( localize(5726, "Please enter details.")))}" required></textarea>
|
|
81
81
|
</div>
|
|
82
|
-
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
83
|
-
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(
|
|
82
|
+
<div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(5727, "A description is required.")))}</div>
|
|
83
|
+
<div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(5728, "Please provide a longer description.")))}</div>
|
|
84
84
|
</div>
|
|
85
85
|
|
|
86
86
|
<div class="system-info" id="block-container">
|
|
@@ -89,9 +89,9 @@ var BaseHtml = () => `
|
|
|
89
89
|
<label class="extension-caption" id="extension-caption" for="includeExtensionData">
|
|
90
90
|
${sendExtensionData}
|
|
91
91
|
<span id="ext-loading" hidden></span>
|
|
92
|
-
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(
|
|
92
|
+
<span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(5729, "show")))}</a><span class="ext-parens" hidden>)</span>
|
|
93
93
|
</label>
|
|
94
|
-
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(
|
|
94
|
+
<pre class="block-info" id="extension-data" placeholder="${escape(( localize(5730, "Extension does not have additional data to include.")))}" style="white-space: pre-wrap;">
|
|
95
95
|
<!-- To be dynamically filled -->
|
|
96
96
|
</pre>
|
|
97
97
|
</div>
|
|
@@ -100,7 +100,7 @@ var BaseHtml = () => `
|
|
|
100
100
|
<input class="sendData" aria-label="${sendSystemInfoLabel}" type="checkbox" id="includeSystemInfo" checked/>
|
|
101
101
|
<label class="caption" for="includeSystemInfo">
|
|
102
102
|
${sendSystemInfoLabel}
|
|
103
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
103
|
+
(<a href="#" class="showInfo">${escape(( localize(5729, "show")))}</a>)
|
|
104
104
|
</label>
|
|
105
105
|
<div class="block-info hidden">
|
|
106
106
|
<!-- To be dynamically filled -->
|
|
@@ -110,7 +110,7 @@ var BaseHtml = () => `
|
|
|
110
110
|
<input class="sendData" aria-label="${sendProcessInfoLabel}" type="checkbox" id="includeProcessInfo" checked/>
|
|
111
111
|
<label class="caption" for="includeProcessInfo">
|
|
112
112
|
${sendProcessInfoLabel}
|
|
113
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
113
|
+
(<a href="#" class="showInfo">${escape(( localize(5729, "show")))}</a>)
|
|
114
114
|
</label>
|
|
115
115
|
<pre class="block-info hidden">
|
|
116
116
|
<code>
|
|
@@ -122,7 +122,7 @@ var BaseHtml = () => `
|
|
|
122
122
|
<input class="sendData" aria-label="${sendWorkspaceInfoLabel}" type="checkbox" id="includeWorkspaceInfo" checked/>
|
|
123
123
|
<label class="caption" for="includeWorkspaceInfo">
|
|
124
124
|
${sendWorkspaceInfoLabel}
|
|
125
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
125
|
+
(<a href="#" class="showInfo">${escape(( localize(5729, "show")))}</a>)
|
|
126
126
|
</label>
|
|
127
127
|
<pre id="systemInfo" class="block-info hidden">
|
|
128
128
|
<code>
|
|
@@ -134,7 +134,7 @@ var BaseHtml = () => `
|
|
|
134
134
|
<input class="sendData" aria-label="${sendExtensionsLabel}" type="checkbox" id="includeExtensions" checked/>
|
|
135
135
|
<label class="caption" for="includeExtensions">
|
|
136
136
|
${sendExtensionsLabel}
|
|
137
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
137
|
+
(<a href="#" class="showInfo">${escape(( localize(5729, "show")))}</a>)
|
|
138
138
|
</label>
|
|
139
139
|
<div id="systemInfo" class="block-info hidden">
|
|
140
140
|
<!-- To be dynamically filled -->
|
|
@@ -144,7 +144,7 @@ var BaseHtml = () => `
|
|
|
144
144
|
<input class="sendData" aria-label="${sendExperimentsLabel}" type="checkbox" id="includeExperiments" checked/>
|
|
145
145
|
<label class="caption" for="includeExperiments">
|
|
146
146
|
${sendExperimentsLabel}
|
|
147
|
-
(<a href="#" class="showInfo">${escape(( localize(
|
|
147
|
+
(<a href="#" class="showInfo">${escape(( localize(5729, "show")))}</a>)
|
|
148
148
|
</label>
|
|
149
149
|
<pre class="block-info hidden">
|
|
150
150
|
<!-- To be dynamically filled -->
|
|
@@ -51,7 +51,7 @@ let IssueWebReporter = class IssueWebReporter extends BaseIssueReporterService {
|
|
|
51
51
|
this.issueReporterModel.update({ issueType: issueType });
|
|
52
52
|
const descriptionTextArea = this.getElementById('issue-title');
|
|
53
53
|
if (descriptionTextArea) {
|
|
54
|
-
descriptionTextArea.placeholder = ( localize(
|
|
54
|
+
descriptionTextArea.placeholder = ( localize(5731, "Please enter a title"));
|
|
55
55
|
}
|
|
56
56
|
this.updatePreviewButtonState();
|
|
57
57
|
this.setSourceOptions();
|
|
@@ -133,7 +133,7 @@ let IssueWebReporter = class IssueWebReporter extends BaseIssueReporterService {
|
|
|
133
133
|
const extensionsSelector = this.getElementById('extension-selector');
|
|
134
134
|
if (extensionsSelector) {
|
|
135
135
|
const { selectedExtension } = this.issueReporterModel.getData();
|
|
136
|
-
reset(extensionsSelector, this.makeOption('', ( localize(
|
|
136
|
+
reset(extensionsSelector, this.makeOption('', ( localize(5732, "Select extension")), true), ...( (extensionOptions.map(extension => makeOption(extension, selectedExtension)))));
|
|
137
137
|
if (!selectedExtension) {
|
|
138
138
|
extensionsSelector.selectedIndex = 0;
|
|
139
139
|
}
|
|
@@ -86,13 +86,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
86
86
|
throw ( (new Error('invalid state')));
|
|
87
87
|
}
|
|
88
88
|
const res = await this.dialogService.confirm({
|
|
89
|
-
message: ( localize(
|
|
89
|
+
message: ( localize(2528, "Troubleshoot Issue")),
|
|
90
90
|
detail: ( localize(
|
|
91
|
-
|
|
91
|
+
2529,
|
|
92
92
|
"Issue troubleshooting is a process to help you identify the cause for an issue. The cause for an issue can be a misconfiguration, due to an extension, or be {0} itself.\n\nDuring the process the window reloads repeatedly. Each time you must confirm if you are still seeing the issue.",
|
|
93
93
|
this.productService.nameLong
|
|
94
94
|
)),
|
|
95
|
-
primaryButton: ( localize(
|
|
95
|
+
primaryButton: ( localize(2530, "&&Troubleshoot Issue")),
|
|
96
96
|
custom: true
|
|
97
97
|
});
|
|
98
98
|
if (!res.confirmed) {
|
|
@@ -136,7 +136,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
136
136
|
return;
|
|
137
137
|
}
|
|
138
138
|
const result = await this.askToReproduceIssue(( localize(
|
|
139
|
-
|
|
139
|
+
2531,
|
|
140
140
|
"Issue troubleshooting is active and has temporarily disabled all installed extensions. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
141
141
|
)));
|
|
142
142
|
if (result === 'good') {
|
|
@@ -154,7 +154,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
154
154
|
await this.userDataProfileManagementService.createAndEnterTransientProfile();
|
|
155
155
|
this.updateState(this.state);
|
|
156
156
|
const result = await this.askToReproduceIssue(( localize(
|
|
157
|
-
|
|
157
|
+
2532,
|
|
158
158
|
"Issue troubleshooting is active and has temporarily reset your configurations to defaults. Check if you can still reproduce the problem and proceed by selecting from these options."
|
|
159
159
|
)));
|
|
160
160
|
if (result === 'stop') {
|
|
@@ -162,13 +162,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
162
162
|
}
|
|
163
163
|
if (result === 'good') {
|
|
164
164
|
await this.askToReportIssue(( localize(
|
|
165
|
-
|
|
165
|
+
2533,
|
|
166
166
|
"Issue troubleshooting has identified that the issue is caused by your configurations. Please report the issue by exporting your configurations using \"Export Profile\" command and share the file in the issue report."
|
|
167
167
|
)));
|
|
168
168
|
}
|
|
169
169
|
if (result === 'bad') {
|
|
170
170
|
await this.askToReportIssue(( localize(
|
|
171
|
-
|
|
171
|
+
2534,
|
|
172
172
|
"Issue troubleshooting has identified that the issue is with {0}.",
|
|
173
173
|
this.productService.nameLong
|
|
174
174
|
)));
|
|
@@ -184,15 +184,15 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
184
184
|
return (
|
|
185
185
|
(new Promise((c, e) => {
|
|
186
186
|
const goodPrompt = {
|
|
187
|
-
label: ( localize(
|
|
187
|
+
label: ( localize(2535, "I Can't Reproduce")),
|
|
188
188
|
run: () => c('good')
|
|
189
189
|
};
|
|
190
190
|
const badPrompt = {
|
|
191
|
-
label: ( localize(
|
|
191
|
+
label: ( localize(2536, "I Can Reproduce")),
|
|
192
192
|
run: () => c('bad')
|
|
193
193
|
};
|
|
194
194
|
const stop = {
|
|
195
|
-
label: ( localize(
|
|
195
|
+
label: ( localize(2537, "Stop")),
|
|
196
196
|
run: () => c('stop')
|
|
197
197
|
};
|
|
198
198
|
this.notificationHandle = this.notificationService.prompt(Severity$1.Info, message, [goodPrompt, badPrompt, stop], { sticky: true, priority: NotificationPriority.URGENT });
|
|
@@ -206,9 +206,9 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
206
206
|
if (res === 'good') {
|
|
207
207
|
await this.dialogService.prompt({
|
|
208
208
|
type: Severity$1.Info,
|
|
209
|
-
message: ( localize(
|
|
209
|
+
message: ( localize(2528, "Troubleshoot Issue")),
|
|
210
210
|
detail: ( localize(
|
|
211
|
-
|
|
211
|
+
2538,
|
|
212
212
|
"This likely means that the issue has been addressed already and will be available in an upcoming release. You can safely use {0} insiders until the new stable version is available.",
|
|
213
213
|
this.productService.nameLong
|
|
214
214
|
)),
|
|
@@ -231,11 +231,11 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
231
231
|
async askToReproduceIssueWithInsiders() {
|
|
232
232
|
const confirmRes = await this.dialogService.confirm({
|
|
233
233
|
type: 'info',
|
|
234
|
-
message: ( localize(
|
|
235
|
-
primaryButton: ( localize(
|
|
236
|
-
cancelButton: ( localize(
|
|
234
|
+
message: ( localize(2528, "Troubleshoot Issue")),
|
|
235
|
+
primaryButton: ( localize(2539, "Download {0} Insiders", this.productService.nameLong)),
|
|
236
|
+
cancelButton: ( localize(2540, "Report Issue Anyway")),
|
|
237
237
|
detail: ( localize(
|
|
238
|
-
|
|
238
|
+
2541,
|
|
239
239
|
"Please try to download and reproduce the issue in {0} insiders.",
|
|
240
240
|
this.productService.nameLong
|
|
241
241
|
)),
|
|
@@ -252,20 +252,20 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
|
|
|
252
252
|
}
|
|
253
253
|
const res = await this.dialogService.prompt({
|
|
254
254
|
type: 'info',
|
|
255
|
-
message: ( localize(
|
|
255
|
+
message: ( localize(2528, "Troubleshoot Issue")),
|
|
256
256
|
buttons: [{
|
|
257
|
-
label: ( localize(
|
|
257
|
+
label: ( localize(2542, "I can't reproduce")),
|
|
258
258
|
run: () => 'good'
|
|
259
259
|
}, {
|
|
260
|
-
label: ( localize(
|
|
260
|
+
label: ( localize(2543, "I can reproduce")),
|
|
261
261
|
run: () => 'bad'
|
|
262
262
|
}],
|
|
263
263
|
cancelButton: {
|
|
264
|
-
label: ( localize(
|
|
264
|
+
label: ( localize(2544, "Stop")),
|
|
265
265
|
run: () => 'stop'
|
|
266
266
|
},
|
|
267
267
|
detail: ( localize(
|
|
268
|
-
|
|
268
|
+
2545,
|
|
269
269
|
"Please try to reproduce the issue in {0} insiders and confirm if the issue exists there.",
|
|
270
270
|
this.productService.nameLong
|
|
271
271
|
)),
|
|
@@ -340,7 +340,7 @@ registerAction2(class TroubleshootIssueAction extends Action2 {
|
|
|
340
340
|
constructor() {
|
|
341
341
|
super({
|
|
342
342
|
id: 'workbench.action.troubleshootIssue.start',
|
|
343
|
-
title: ( localize2(
|
|
343
|
+
title: ( localize2(2546, 'Troubleshoot Issue...')),
|
|
344
344
|
category: Categories.Help,
|
|
345
345
|
f1: true,
|
|
346
346
|
precondition: ( (ContextKeyExpr.and(
|
|
@@ -358,7 +358,7 @@ registerAction2(class extends Action2 {
|
|
|
358
358
|
constructor() {
|
|
359
359
|
super({
|
|
360
360
|
id: 'workbench.action.troubleshootIssue.stop',
|
|
361
|
-
title: ( localize2(
|
|
361
|
+
title: ( localize2(2547, 'Stop Troubleshoot Issue')),
|
|
362
362
|
category: Categories.Help,
|
|
363
363
|
f1: true,
|
|
364
364
|
precondition: IssueTroubleshootUi.ctxIsTroubleshootActive
|
|
@@ -74,7 +74,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
74
74
|
}));
|
|
75
75
|
const reportIssue = {
|
|
76
76
|
id: OpenIssueReporterActionId,
|
|
77
|
-
title: ( localize2(
|
|
77
|
+
title: ( localize2(5733, "Report Issue...")),
|
|
78
78
|
category: Categories.Help
|
|
79
79
|
};
|
|
80
80
|
this._register(MenuRegistry.appendMenuItem(MenuId.CommandPalette, { command: reportIssue }));
|
|
@@ -82,7 +82,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
|
|
|
82
82
|
group: '3_feedback',
|
|
83
83
|
command: {
|
|
84
84
|
id: OpenIssueReporterActionId,
|
|
85
|
-
title: ( localize(
|
|
85
|
+
title: ( localize(5734, "Report &&Issue"))
|
|
86
86
|
},
|
|
87
87
|
order: 3
|
|
88
88
|
}));
|