@codingame/monaco-vscode-issue-service-override 31.0.1 → 32.0.0

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-issue-service-override",
3
- "version": "31.0.1",
3
+ "version": "32.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - issue service-override",
6
6
  "keywords": [],
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "31.0.1"
18
+ "@codingame/monaco-vscode-api": "32.0.0"
19
19
  },
20
20
  "main": "index.js",
21
21
  "module": "index.js",
@@ -60,6 +60,9 @@ export declare class BaseIssueReporterService extends Disposable {
60
60
  private updatePublicRepoLink;
61
61
  private updateInternalGithubButton;
62
62
  private updateInternalElementsVisibility;
63
+ private preSubmitButtonLabel;
64
+ private getSubmitButtonElement;
65
+ private setSubmittingState;
63
66
  private updateIssueReporterUri;
64
67
  private handleExtensionData;
65
68
  private updateExtensionSelector;
@@ -116,19 +116,34 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
116
116
  fileOnMarketplace,
117
117
  fileOnProduct
118
118
  });
119
- this.createAction = this._register(( new Action("issueReporter.create", ( localize(10175, "Create on GitHub")), undefined, true, async () => {
119
+ this.createAction = this._register(( new Action("issueReporter.create", ( localize(10486, "Create on GitHub")), undefined, true, async () => {
120
120
  this.delayedSubmit.trigger(async () => {
121
- this.createIssue(true);
121
+ this.setSubmittingState(true);
122
+ try {
123
+ await this.createIssue(true);
124
+ } finally {
125
+ this.setSubmittingState(false);
126
+ }
122
127
  });
123
128
  })));
124
- this.previewAction = this._register(( new Action("issueReporter.preview", ( localize(10176, "Preview on GitHub")), undefined, true, async () => {
129
+ this.previewAction = this._register(( new Action("issueReporter.preview", ( localize(10487, "Preview on GitHub")), undefined, true, async () => {
125
130
  this.delayedSubmit.trigger(async () => {
126
- this.createIssue(false);
131
+ this.setSubmittingState(true);
132
+ try {
133
+ await this.createIssue(false);
134
+ } finally {
135
+ this.setSubmittingState(false);
136
+ }
127
137
  });
128
138
  })));
129
- this.privateAction = this._register(( new Action("issueReporter.privateCreate", ( localize(10177, "Create Internally")), undefined, true, async () => {
139
+ this.privateAction = this._register(( new Action("issueReporter.privateCreate", ( localize(10488, "Create Internally")), undefined, true, async () => {
130
140
  this.delayedSubmit.trigger(async () => {
131
- this.createIssue(true, true);
141
+ this.setSubmittingState(true);
142
+ try {
143
+ await this.createIssue(true, true);
144
+ } finally {
145
+ this.setSubmittingState(false);
146
+ }
132
147
  });
133
148
  })));
134
149
  const issueTitle = data.issueTitle;
@@ -226,7 +241,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
226
241
  filingNote.classList.add("internal-preview-message");
227
242
  container.appendChild(filingNote);
228
243
  }
229
- filingNote.textContent = escape(( localize(10178, "If your copilot debug logs contain private information:")));
244
+ filingNote.textContent = escape(( localize(10489, "If your copilot debug logs contain private information:")));
230
245
  }
231
246
  updatePublicGithubButton(container) {
232
247
  const issueReporterElement = this.getElementById("issue-reporter");
@@ -238,7 +253,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
238
253
  }
239
254
  if (!this.acknowledged && this.needsUpdate) {
240
255
  this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
241
- this.publicGithubButton.label = ( localize(10179, "Confirm Version Acknowledgement"));
256
+ this.publicGithubButton.label = ( localize(10490, "Confirm Version Acknowledgement"));
242
257
  this.publicGithubButton.enabled = false;
243
258
  } else if (this.data.githubAccessToken && this.isPreviewEnabled()) {
244
259
  this.publicGithubButton = this._register(( new ButtonWithDropdown(container, {
@@ -250,21 +265,21 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
250
265
  this._register(this.publicGithubButton.onDidClick(() => {
251
266
  this.createAction.run();
252
267
  }));
253
- this.publicGithubButton.label = ( localize(10180, "Create on GitHub"));
268
+ this.publicGithubButton.label = ( localize(10491, "Create on GitHub"));
254
269
  this.publicGithubButton.enabled = true;
255
270
  } else if (this.data.githubAccessToken && !this.isPreviewEnabled()) {
256
271
  this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
257
272
  this._register(this.publicGithubButton.onDidClick(() => {
258
273
  this.createAction.run();
259
274
  }));
260
- this.publicGithubButton.label = ( localize(10180, "Create on GitHub"));
275
+ this.publicGithubButton.label = ( localize(10491, "Create on GitHub"));
261
276
  this.publicGithubButton.enabled = true;
262
277
  } else {
263
278
  this.publicGithubButton = this._register(( new Button(container, unthemedButtonStyles)));
264
279
  this._register(this.publicGithubButton.onDidClick(() => {
265
280
  this.previewAction.run();
266
281
  }));
267
- this.publicGithubButton.label = ( localize(10181, "Preview on GitHub"));
282
+ this.publicGithubButton.label = ( localize(10492, "Preview on GitHub"));
268
283
  this.publicGithubButton.enabled = true;
269
284
  }
270
285
  const repoLink = this.getElementById("show-repo-name");
@@ -317,7 +332,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
317
332
  }));
318
333
  this.internalGithubButton.element.id = "internal-create-btn";
319
334
  this.internalGithubButton.element.classList.add("internal-create-subtle");
320
- this.internalGithubButton.label = ( localize(10182, "Create Internally"));
335
+ this.internalGithubButton.label = ( localize(10493, "Create Internally"));
321
336
  this.internalGithubButton.enabled = true;
322
337
  this.internalGithubButton.setTitle(this.data.privateUri.path.slice(1));
323
338
  }
@@ -338,6 +353,33 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
338
353
  container.style.display = "none";
339
354
  }
340
355
  }
356
+ getSubmitButtonElement() {
357
+ if (this.publicGithubButton instanceof ButtonWithDropdown) {
358
+ return this.publicGithubButton.primaryButton.element;
359
+ }
360
+ return this.publicGithubButton.element;
361
+ }
362
+ setSubmittingState(submitting) {
363
+ this.publicGithubButton.enabled = !submitting;
364
+ if (this.internalGithubButton) {
365
+ this.internalGithubButton.enabled = !submitting;
366
+ }
367
+ const buttonEl = this.getSubmitButtonElement();
368
+ if (submitting) {
369
+ const currentLabel = this.publicGithubButton instanceof ButtonWithDropdown ? this.publicGithubButton.primaryButton.label : this.publicGithubButton.label;
370
+ this.preSubmitButtonLabel = typeof currentLabel === "string" ? currentLabel : "";
371
+ this.publicGithubButton.label = ( localize(10494, "Submitting..."));
372
+ const spinnerIcon = renderIcon(ThemeIcon.modify(Codicon.loading, "spin"));
373
+ buttonEl.prepend(spinnerIcon);
374
+ } else {
375
+ const spinnerEl = buttonEl.querySelector(".codicon-loading");
376
+ spinnerEl?.remove();
377
+ if (this.preSubmitButtonLabel !== undefined) {
378
+ this.publicGithubButton.label = this.preSubmitButtonLabel;
379
+ this.preSubmitButtonLabel = undefined;
380
+ }
381
+ }
382
+ }
341
383
  async updateIssueReporterUri(extension) {
342
384
  try {
343
385
  if (extension.uri) {
@@ -398,7 +440,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
398
440
  const {
399
441
  selectedExtension
400
442
  } = this.issueReporterModel.getData();
401
- reset(extensionsSelector, this.makeOption("", ( localize(10183, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
443
+ reset(extensionsSelector, this.makeOption("", ( localize(10495, "Select extension")), true), ...( extensionOptions.map(extension => makeOption(extension, selectedExtension))));
402
444
  if (!selectedExtension) {
403
445
  extensionsSelector.selectedIndex = 0;
404
446
  }
@@ -502,10 +544,10 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
502
544
  const info = containingElement && containingElement.lastElementChild;
503
545
  if (info && info.classList.contains("hidden")) {
504
546
  show(info);
505
- label.textContent = ( localize(10184, "hide"));
547
+ label.textContent = ( localize(10496, "hide"));
506
548
  } else {
507
549
  hide(info);
508
- label.textContent = ( localize(10185, "show"));
550
+ label.textContent = ( localize(10497, "show"));
509
551
  }
510
552
  }
511
553
  });
@@ -526,13 +568,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
526
568
  }
527
569
  const descriptionTextArea = this.getElementById("issue-title");
528
570
  if (value === IssueSource.VSCode) {
529
- descriptionTextArea.placeholder = ( localize(10186, "E.g Workbench is missing problems panel"));
571
+ descriptionTextArea.placeholder = ( localize(10498, "E.g Workbench is missing problems panel"));
530
572
  } else if (value === IssueSource.Extension) {
531
- descriptionTextArea.placeholder = ( localize(10187, "E.g. Missing alt text on extension readme image"));
573
+ descriptionTextArea.placeholder = ( localize(10499, "E.g. Missing alt text on extension readme image"));
532
574
  } else if (value === IssueSource.Marketplace) {
533
- descriptionTextArea.placeholder = ( localize(10188, "E.g Cannot disable installed extension"));
575
+ descriptionTextArea.placeholder = ( localize(10500, "E.g Cannot disable installed extension"));
534
576
  } else {
535
- descriptionTextArea.placeholder = ( localize(10189, "Please enter a title"));
577
+ descriptionTextArea.placeholder = ( localize(10501, "Please enter a title"));
536
578
  }
537
579
  let fileOnExtension, fileOnMarketplace, fileOnProduct = false;
538
580
  if (value === IssueSource.Extension) {
@@ -606,8 +648,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
606
648
  const cmdOrCtrlKey = isMacintosh ? e.metaKey : e.ctrlKey;
607
649
  if (cmdOrCtrlKey && e.key === "Enter") {
608
650
  this.delayedSubmit.trigger(async () => {
609
- if (await this.createIssue()) {
610
- this.close();
651
+ this.setSubmittingState(true);
652
+ try {
653
+ if (await this.createIssue()) {
654
+ this.close();
655
+ }
656
+ } finally {
657
+ this.setSubmittingState(false);
611
658
  }
612
659
  });
613
660
  }
@@ -769,7 +816,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
769
816
  if (results.length) {
770
817
  const issues = $("div.issues-container");
771
818
  const issuesText = $("div.list-title");
772
- issuesText.textContent = ( localize(10190, "Similar issues"));
819
+ issuesText.textContent = ( localize(10502, "Similar issues"));
773
820
  this.numberOfSearchResultsDisplayed = results.length < 5 ? results.length : 5;
774
821
  for (let i = 0; i < this.numberOfSearchResultsDisplayed; i++) {
775
822
  const issue = results[i];
@@ -789,8 +836,8 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
789
836
  renderIcon(issue.state === "open" ? Codicon.issueOpened : Codicon.issueClosed)
790
837
  );
791
838
  const issueStateLabel = $("span.issue-state.label");
792
- issueStateLabel.textContent = issue.state === "open" ? ( localize(10191, "Open")) : ( localize(10192, "Closed"));
793
- issueState.title = issue.state === "open" ? ( localize(10191, "Open")) : ( localize(10192, "Closed"));
839
+ issueStateLabel.textContent = issue.state === "open" ? ( localize(10503, "Open")) : ( localize(10504, "Closed"));
840
+ issueState.title = issue.state === "open" ? ( localize(10503, "Open")) : ( localize(10504, "Closed"));
794
841
  issueState.appendChild(issueIcon);
795
842
  issueState.appendChild(issueStateLabel);
796
843
  item = $("div.issue", undefined, issueState, link);
@@ -811,7 +858,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
811
858
  const {
812
859
  issueType
813
860
  } = this.issueReporterModel.getData();
814
- reset(typeSelect, makeOption(IssueType.Bug, ( localize(10193, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(10194, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(10195, "Performance Issue (freeze, slow, crash)"))));
861
+ reset(typeSelect, makeOption(IssueType.Bug, ( localize(10505, "Bug Report"))), makeOption(IssueType.FeatureRequest, ( localize(10506, "Feature Request"))), makeOption(IssueType.PerformanceIssue, ( localize(10507, "Performance Issue (freeze, slow, crash)"))));
815
862
  typeSelect.value = ( issueType.toString());
816
863
  this.setSourceOptions();
817
864
  }
@@ -844,14 +891,14 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
844
891
  }
845
892
  }
846
893
  sourceSelect.innerText = "";
847
- sourceSelect.append(this.makeOption("", ( localize(10196, "Select source")), true));
848
- sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(10197, "Visual Studio Code")), false));
849
- sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(10198, "A VS Code extension")), false));
894
+ sourceSelect.append(this.makeOption("", ( localize(10508, "Select source")), true));
895
+ sourceSelect.append(this.makeOption(IssueSource.VSCode, ( localize(10509, "Visual Studio Code")), false));
896
+ sourceSelect.append(this.makeOption(IssueSource.Extension, ( localize(10510, "A VS Code extension")), false));
850
897
  if (this.product.reportMarketplaceIssueUrl) {
851
- sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(10199, "Extensions Marketplace")), false));
898
+ sourceSelect.append(this.makeOption(IssueSource.Marketplace, ( localize(10511, "Extensions Marketplace")), false));
852
899
  }
853
900
  if (issueType !== IssueType.FeatureRequest) {
854
- sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(10200, "Don't know")), false));
901
+ sourceSelect.append(this.makeOption(IssueSource.Unknown, ( localize(10512, "Don't know")), false));
855
902
  }
856
903
  if (selected !== -1 && selected < sourceSelect.options.length) {
857
904
  sourceSelect.selectedIndex = selected;
@@ -907,7 +954,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
907
954
  const fileName = `extensionData_${formattedDate}_${formattedTime}.md`;
908
955
  const handleLinkClick = async () => {
909
956
  const downloadPath = await this.fileDialogService.showSaveDialog({
910
- title: ( localize(10201, "Save Extension Data")),
957
+ title: ( localize(10513, "Save Extension Data")),
911
958
  availableFileSystems: [Schemas.file],
912
959
  defaultUri: joinPath(await this.fileDialogService.defaultFilePath(Schemas.file), fileName)
913
960
  });
@@ -923,13 +970,13 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
923
970
  if (selectedExtension && this.nonGitHubIssueUrl) {
924
971
  hide(titleTextArea);
925
972
  hide(descriptionTextArea);
926
- reset(descriptionTitle, ( localize(10202, "This extension handles issues outside of VS Code")));
973
+ reset(descriptionTitle, ( localize(10514, "This extension handles issues outside of VS Code")));
927
974
  reset(descriptionSubtitle, ( localize(
928
- 10203,
975
+ 10515,
929
976
  "The '{0}' extension prefers to use an external issue reporter. To be taken to that issue reporting experience, click the button below.",
930
977
  selectedExtension.displayName
931
978
  )));
932
- this.publicGithubButton.label = ( localize(10204, "Open External Issue Reporter"));
979
+ this.publicGithubButton.label = ( localize(10516, "Open External Issue Reporter"));
933
980
  return;
934
981
  }
935
982
  if (fileOnExtension && selectedExtension?.data) {
@@ -956,9 +1003,9 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
956
1003
  show(extensionsBlock);
957
1004
  }
958
1005
  }
959
- reset(descriptionTitle, ( localize(10205, "Steps to Reproduce")) + " ", $("span.required-input", undefined, "*"));
1006
+ reset(descriptionTitle, ( localize(10517, "Steps to Reproduce")) + " ", $("span.required-input", undefined, "*"));
960
1007
  reset(descriptionSubtitle, ( localize(
961
- 10206,
1008
+ 10518,
962
1009
  "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."
963
1010
  )));
964
1011
  } else if (issueType === IssueType.PerformanceIssue) {
@@ -974,15 +1021,15 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
974
1021
  } else if (!fileOnMarketplace) {
975
1022
  show(extensionsBlock);
976
1023
  }
977
- reset(descriptionTitle, ( localize(10205, "Steps to Reproduce")) + " ", $("span.required-input", undefined, "*"));
1024
+ reset(descriptionTitle, ( localize(10517, "Steps to Reproduce")) + " ", $("span.required-input", undefined, "*"));
978
1025
  reset(descriptionSubtitle, ( localize(
979
- 10207,
1026
+ 10519,
980
1027
  "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."
981
1028
  )));
982
1029
  } else if (issueType === IssueType.FeatureRequest) {
983
- reset(descriptionTitle, ( localize(10208, "Description")) + " ", $("span.required-input", undefined, "*"));
1030
+ reset(descriptionTitle, ( localize(10520, "Description")) + " ", $("span.required-input", undefined, "*"));
984
1031
  reset(descriptionSubtitle, ( localize(
985
- 10209,
1032
+ 10521,
986
1033
  "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."
987
1034
  )));
988
1035
  }
@@ -1113,7 +1160,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
1113
1160
  throw ( new CancellationError());
1114
1161
  }
1115
1162
  return baseUrl + `&body=${encodeURIComponent(( localize(
1116
- 10210,
1163
+ 10522,
1117
1164
  "We have written the needed data into your clipboard because it was too large to send. Please paste."
1118
1165
  )))}`;
1119
1166
  }
@@ -1302,7 +1349,7 @@ let BaseIssueReporterService = class BaseIssueReporterService extends Disposable
1302
1349
  const target = this.window.document.querySelector(".block-extensions .block-info");
1303
1350
  if (target) {
1304
1351
  if (this.disableExtensions) {
1305
- reset(target, ( localize(10211, "Extensions are disabled")));
1352
+ reset(target, ( localize(10523, "Extensions are disabled")));
1306
1353
  return;
1307
1354
  }
1308
1355
  const themeExclusionStr = numThemeExtensions ? `\n(${numThemeExtensions} theme extensions excluded)` : "";
@@ -32,5 +32,5 @@ let WebIssueContribution = class WebIssueContribution extends BaseIssueContribut
32
32
  WebIssueContribution = ( __decorate([( __param(0, IProductService)), ( __param(1, IConfigurationService))], WebIssueContribution));
33
33
  ( Registry.as(Extensions$1.Workbench)).registerWorkbenchContribution(WebIssueContribution, LifecyclePhase.Restored);
34
34
  CommandsRegistry.registerCommand("_issues.getSystemStatus", accessor => {
35
- return localize(10212, "The --status argument is not yet supported in browsers.");
35
+ return localize(10524, "The --status argument is not yet supported in browsers.");
36
36
  });
@@ -157,17 +157,17 @@ let IssueFormService = class IssueFormService {
157
157
  await this.dialogService.prompt({
158
158
  type: Severity.Warning,
159
159
  message: ( localize(
160
- 10213,
160
+ 10525,
161
161
  "Your input will not be saved. Are you sure you want to close this window?"
162
162
  )),
163
163
  buttons: [{
164
- label: ( localize(10214, "&&Yes")),
164
+ label: ( localize(10526, "&&Yes")),
165
165
  run: () => {
166
166
  this.closeReporter();
167
167
  this.issueReporterWindow = null;
168
168
  }
169
169
  }, {
170
- label: ( localize(10215, "Cancel")),
170
+ label: ( localize(10527, "Cancel")),
171
171
  run: () => {}
172
172
  }]
173
173
  });
@@ -177,16 +177,16 @@ let IssueFormService = class IssueFormService {
177
177
  await this.dialogService.prompt({
178
178
  type: Severity.Warning,
179
179
  message: ( localize(
180
- 10216,
180
+ 10528,
181
181
  "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."
182
182
  )),
183
183
  buttons: [{
184
- label: ( localize(10217, "&&OK")),
184
+ label: ( localize(10529, "&&OK")),
185
185
  run: () => {
186
186
  result = true;
187
187
  }
188
188
  }, {
189
- label: ( localize(10215, "Cancel")),
189
+ label: ( localize(10527, "Cancel")),
190
190
  run: () => {
191
191
  result = false;
192
192
  }
@@ -34,6 +34,7 @@ export interface IssueReporterData {
34
34
  experimentInfo?: string;
35
35
  restrictedMode?: boolean;
36
36
  isUnsupported?: boolean;
37
+ isSessionsWindow?: boolean;
37
38
  }
38
39
  export declare class IssueReporterModel {
39
40
  private readonly _data;
@@ -44,7 +44,7 @@ class IssueReporterModel {
44
44
  }
45
45
  return `
46
46
  Type: <b>${this.getIssueTypeTitle()}</b>
47
-
47
+ ${this._data.isSessionsWindow ? "\nWindow: Agents\n" : ""}
48
48
  ${this._data.issueDescription}
49
49
  ${this.getExtensionVersion()}
50
50
  VS Code version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
@@ -2,18 +2,18 @@
2
2
  import { escape } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
3
3
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
4
4
 
5
- const sendSystemInfoLabel = escape(( localize(10218, "Include my system information")));
6
- const sendProcessInfoLabel = escape(( localize(10219, "Include my currently running processes")));
7
- const sendWorkspaceInfoLabel = escape(( localize(10220, "Include my workspace metadata")));
8
- const sendExtensionsLabel = escape(( localize(10221, "Include my enabled extensions")));
9
- const sendExperimentsLabel = escape(( localize(10222, "Include A/B experiment info")));
10
- const sendExtensionData = escape(( localize(10223, "Include additional extension info")));
5
+ const sendSystemInfoLabel = escape(( localize(10530, "Include my system information")));
6
+ const sendProcessInfoLabel = escape(( localize(10531, "Include my currently running processes")));
7
+ const sendWorkspaceInfoLabel = escape(( localize(10532, "Include my workspace metadata")));
8
+ const sendExtensionsLabel = escape(( localize(10533, "Include my enabled extensions")));
9
+ const sendExperimentsLabel = escape(( localize(10534, "Include A/B experiment info")));
10
+ const sendExtensionData = escape(( localize(10535, "Include additional extension info")));
11
11
  const acknowledgementsLabel = escape(( localize(
12
- 10224,
12
+ 10536,
13
13
  "I acknowledge that my VS Code version is not updated and this issue may be closed."
14
14
  )));
15
15
  const reviewGuidanceLabel = ( localize(
16
- 10225,
16
+ 10537,
17
17
  "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>. Please complete the form in English."
18
18
  ));
19
19
  var BaseHtml = () => `
@@ -23,40 +23,40 @@ var BaseHtml = () => `
23
23
  </span>
24
24
  </div>
25
25
  <div class="issue-reporter" id="issue-reporter">
26
- <div id="english" class="input-group hidden">${escape(( localize(10226, "Please complete the form in English.")))}</div>
26
+ <div id="english" class="input-group hidden">${escape(( localize(10538, "Please complete the form in English.")))}</div>
27
27
 
28
28
  <div id="review-guidance-help-text" class="input-group">${reviewGuidanceLabel}</div>
29
29
 
30
30
  <div class="section">
31
31
  <div class="input-group">
32
- <label class="inline-label" for="issue-type">${escape(( localize(10227, "This is a")))}</label>
32
+ <label class="inline-label" for="issue-type">${escape(( localize(10539, "This is a")))}</label>
33
33
  <select id="issue-type" class="inline-form-control">
34
34
  <!-- To be dynamically filled -->
35
35
  </select>
36
36
  </div>
37
37
 
38
38
  <div class="input-group" id="problem-source">
39
- <label class="inline-label" for="issue-source">${escape(( localize(10228, "For")))} <span class="required-input">*</span></label>
39
+ <label class="inline-label" for="issue-source">${escape(( localize(10540, "For")))} <span class="required-input">*</span></label>
40
40
  <select id="issue-source" class="inline-form-control" required>
41
41
  <!-- To be dynamically filled -->
42
42
  </select>
43
- <div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10229, "An issue source is required.")))}</div>
43
+ <div id="issue-source-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10541, "An issue source is required.")))}</div>
44
44
  <div id="problem-source-help-text" class="instructions hidden">${escape(( localize(
45
- 10230,
45
+ 10542,
46
46
  "Try to reproduce the problem after {0}. If the problem only reproduces when extensions are active, it is likely an issue with an extension."
47
47
  ))).replace(
48
48
  "{0}",
49
- () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(10231, "disabling all extensions and reloading the window")))}</span>`
49
+ () => `<span tabIndex=0 role="button" id="disableExtensions" class="workbenchCommand">${escape(( localize(10543, "disabling all extensions and reloading the window")))}</span>`
50
50
  )}
51
51
  </div>
52
52
 
53
53
  <div id="extension-selection">
54
- <label class="inline-label" for="extension-selector">${escape(( localize(10232, "Extension")))} <span class="required-input">*</span></label>
54
+ <label class="inline-label" for="extension-selector">${escape(( localize(10544, "Extension")))} <span class="required-input">*</span></label>
55
55
  <select id="extension-selector" class="inline-form-control">
56
56
  <!-- To be dynamically filled -->
57
57
  </select>
58
58
  <div id="extension-selection-validation-error" class="validation-error hidden" role="alert">${escape(( localize(
59
- 10233,
59
+ 10545,
60
60
  "The issue reporter is unable to create issues for this extension. Please visit {0} to report an issue."
61
61
  ))).replace(
62
62
  "{0}",
@@ -64,7 +64,7 @@ var BaseHtml = () => `
64
64
  )}</div>
65
65
  <div id="extension-selection-validation-error-no-url" class="validation-error hidden" role="alert">
66
66
  ${escape(( localize(
67
- 10234,
67
+ 10546,
68
68
  "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."
69
69
  )))}
70
70
  </div>
@@ -72,10 +72,10 @@ var BaseHtml = () => `
72
72
  </div>
73
73
 
74
74
  <div id="issue-title-container" class="input-group">
75
- <label class="inline-label" for="issue-title">${escape(( localize(10235, "Title")))} <span class="required-input">*</span></label>
76
- <input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(10236, "Please enter a title.")))}" required>
77
- <div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10237, "A title is required.")))}</div>
78
- <div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(10238, "The title is too long.")))}</div>
75
+ <label class="inline-label" for="issue-title">${escape(( localize(10547, "Title")))} <span class="required-input">*</span></label>
76
+ <input id="issue-title" type="text" class="inline-form-control" placeholder="${escape(( localize(10548, "Please enter a title.")))}" required>
77
+ <div id="issue-title-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10549, "A title is required.")))}</div>
78
+ <div id="issue-title-length-validation-error" class="validation-error hidden" role="alert">${escape(( localize(10550, "The title is too long.")))}</div>
79
79
  <small id="similar-issues">
80
80
  <!-- To be dynamically filled -->
81
81
  </small>
@@ -91,10 +91,10 @@ var BaseHtml = () => `
91
91
  <!-- To be dynamically filled -->
92
92
  </div>
93
93
  <div class="block-info-text">
94
- <textarea name="description" id="description" placeholder="${escape(( localize(10239, "Please enter details.")))}" required></textarea>
94
+ <textarea name="description" id="description" placeholder="${escape(( localize(10551, "Please enter details.")))}" required></textarea>
95
95
  </div>
96
- <div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10240, "A description is required.")))}</div>
97
- <div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(10241, "Please provide a longer description.")))}</div>
96
+ <div id="description-empty-error" class="validation-error hidden" role="alert">${escape(( localize(10552, "A description is required.")))}</div>
97
+ <div id="description-short-error" class="validation-error hidden" role="alert">${escape(( localize(10553, "Please provide a longer description.")))}</div>
98
98
  </div>
99
99
 
100
100
  <div class="system-info" id="block-container">
@@ -103,10 +103,10 @@ var BaseHtml = () => `
103
103
  <label class="extension-caption" id="extension-caption" for="includeExtensionData">
104
104
  ${sendExtensionData}
105
105
  <span id="ext-loading" hidden></span>
106
- <span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(10242, "show")))}</a><span class="ext-parens" hidden>)</span>
107
- <a id="extension-data-download">${escape(( localize(10243, "Download Extension Data")))}</a>
106
+ <span class="ext-parens" hidden>(</span><a href="#" class="showInfo" id="extension-id">${escape(( localize(10554, "show")))}</a><span class="ext-parens" hidden>)</span>
107
+ <a id="extension-data-download">${escape(( localize(10555, "Download Extension Data")))}</a>
108
108
  </label>
109
- <pre class="block-info" id="extension-data" placeholder="${escape(( localize(10244, "Extension does not have additional data to include.")))}" style="white-space: pre-wrap; user-select: text;">
109
+ <pre class="block-info" id="extension-data" placeholder="${escape(( localize(10556, "Extension does not have additional data to include.")))}" style="white-space: pre-wrap; user-select: text;">
110
110
  <!-- To be dynamically filled -->
111
111
  </pre>
112
112
  </div>
@@ -115,7 +115,7 @@ var BaseHtml = () => `
115
115
  <input class="sendData" aria-label="${sendSystemInfoLabel}" type="checkbox" id="includeSystemInfo" checked/>
116
116
  <label class="caption" for="includeSystemInfo">
117
117
  ${sendSystemInfoLabel}
118
- (<a href="#" class="showInfo">${escape(( localize(10242, "show")))}</a>)
118
+ (<a href="#" class="showInfo">${escape(( localize(10554, "show")))}</a>)
119
119
  </label>
120
120
  <div class="block-info hidden" style="user-select: text;">
121
121
  <!-- To be dynamically filled -->
@@ -125,7 +125,7 @@ var BaseHtml = () => `
125
125
  <input class="sendData" aria-label="${sendProcessInfoLabel}" type="checkbox" id="includeProcessInfo" checked/>
126
126
  <label class="caption" for="includeProcessInfo">
127
127
  ${sendProcessInfoLabel}
128
- (<a href="#" class="showInfo">${escape(( localize(10242, "show")))}</a>)
128
+ (<a href="#" class="showInfo">${escape(( localize(10554, "show")))}</a>)
129
129
  </label>
130
130
  <pre class="block-info hidden" style="user-select: text;">
131
131
  <code>
@@ -137,7 +137,7 @@ var BaseHtml = () => `
137
137
  <input class="sendData" aria-label="${sendWorkspaceInfoLabel}" type="checkbox" id="includeWorkspaceInfo" checked/>
138
138
  <label class="caption" for="includeWorkspaceInfo">
139
139
  ${sendWorkspaceInfoLabel}
140
- (<a href="#" class="showInfo">${escape(( localize(10242, "show")))}</a>)
140
+ (<a href="#" class="showInfo">${escape(( localize(10554, "show")))}</a>)
141
141
  </label>
142
142
  <pre id="systemInfo" class="block-info hidden" style="user-select: text;">
143
143
  <code>
@@ -149,7 +149,7 @@ var BaseHtml = () => `
149
149
  <input class="sendData" aria-label="${sendExtensionsLabel}" type="checkbox" id="includeExtensions" checked/>
150
150
  <label class="caption" for="includeExtensions">
151
151
  ${sendExtensionsLabel}
152
- (<a href="#" class="showInfo">${escape(( localize(10242, "show")))}</a>)
152
+ (<a href="#" class="showInfo">${escape(( localize(10554, "show")))}</a>)
153
153
  </label>
154
154
  <div id="systemInfo" class="block-info hidden" style="user-select: text;">
155
155
  <!-- To be dynamically filled -->
@@ -159,7 +159,7 @@ var BaseHtml = () => `
159
159
  <input class="sendData" aria-label="${sendExperimentsLabel}" type="checkbox" id="includeExperiments" checked/>
160
160
  <label class="caption" for="includeExperiments">
161
161
  ${sendExperimentsLabel}
162
- (<a href="#" class="showInfo">${escape(( localize(10242, "show")))}</a>)
162
+ (<a href="#" class="showInfo">${escape(( localize(10554, "show")))}</a>)
163
163
  </label>
164
164
  <pre class="block-info hidden" style="user-select: text;">
165
165
  <!-- To be dynamically filled -->
@@ -60,7 +60,7 @@ let IssueWebReporter = class IssueWebReporter extends BaseIssueReporterService {
60
60
  });
61
61
  const descriptionTextArea = this.getElementById("issue-title");
62
62
  if (descriptionTextArea) {
63
- descriptionTextArea.placeholder = ( localize(10245, "Please enter a title"));
63
+ descriptionTextArea.placeholder = ( localize(10557, "Please enter a title"));
64
64
  }
65
65
  this.updateButtonStates();
66
66
  this.setSourceOptions();
@@ -11,6 +11,7 @@ import { IIssueFormService } from "@codingame/monaco-vscode-api/vscode/vs/workbe
11
11
  import { IWorkbenchAssignmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service";
12
12
  import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
13
13
  import { IWorkbenchExtensionEnablementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service";
14
+ import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
14
15
  import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
15
16
  import { IIntegrityService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/integrity/common/integrity.service";
16
17
  export declare class BrowserIssueService implements IWorkbenchIssueService {
@@ -26,8 +27,9 @@ export declare class BrowserIssueService implements IWorkbenchIssueService {
26
27
  private readonly authenticationService;
27
28
  private readonly configurationService;
28
29
  private readonly openerService;
30
+ private readonly environmentService;
29
31
  readonly _serviceBrand: undefined;
30
- constructor(extensionService: IExtensionService, productService: IProductService, issueFormService: IIssueFormService, themeService: IThemeService, experimentService: IWorkbenchAssignmentService, workspaceTrustManagementService: IWorkspaceTrustManagementService, integrityService: IIntegrityService, extensionManagementService: IExtensionManagementService, extensionEnablementService: IWorkbenchExtensionEnablementService, authenticationService: IAuthenticationService, configurationService: IConfigurationService, openerService: IOpenerService);
32
+ constructor(extensionService: IExtensionService, productService: IProductService, issueFormService: IIssueFormService, themeService: IThemeService, experimentService: IWorkbenchAssignmentService, workspaceTrustManagementService: IWorkspaceTrustManagementService, integrityService: IIntegrityService, extensionManagementService: IExtensionManagementService, extensionEnablementService: IWorkbenchExtensionEnablementService, authenticationService: IAuthenticationService, configurationService: IConfigurationService, openerService: IOpenerService, environmentService: IWorkbenchEnvironmentService);
31
33
  openReporter(options: Partial<IssueReporterData>): Promise<void>;
32
34
  private getExtensionGitHubUrl;
33
35
  private getIssueUriFromStaticContent;
@@ -28,6 +28,7 @@ import { IIssueFormService } from '@codingame/monaco-vscode-api/vscode/vs/workbe
28
28
  import { IWorkbenchAssignmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/assignment/common/assignmentService.service';
29
29
  import { IAuthenticationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service';
30
30
  import { IWorkbenchExtensionEnablementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
31
+ import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
31
32
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
32
33
  import { IIntegrityService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/integrity/common/integrity.service';
33
34
 
@@ -44,7 +45,8 @@ let BrowserIssueService = class BrowserIssueService {
44
45
  extensionEnablementService,
45
46
  authenticationService,
46
47
  configurationService,
47
- openerService
48
+ openerService,
49
+ environmentService
48
50
  ) {
49
51
  this.extensionService = extensionService;
50
52
  this.productService = productService;
@@ -58,6 +60,7 @@ let BrowserIssueService = class BrowserIssueService {
58
60
  this.authenticationService = authenticationService;
59
61
  this.configurationService = configurationService;
60
62
  this.openerService = openerService;
63
+ this.environmentService = environmentService;
61
64
  }
62
65
  async openReporter(options) {
63
66
  if (!this.configurationService.getValue("issueReporter.experimental.webReporter")) {
@@ -144,6 +147,7 @@ let BrowserIssueService = class BrowserIssueService {
144
147
  experiments: experiments?.join("\n"),
145
148
  restrictedMode: !this.workspaceTrustManagementService.isWorkspaceTrusted(),
146
149
  isUnsupported,
150
+ isSessionsWindow: this.environmentService.isSessionsWindow,
147
151
  githubAccessToken
148
152
  }, options);
149
153
  return this.issueFormService.openReporter(issueReporterData);
@@ -176,7 +180,7 @@ ${extension?.version ? `\nExtension version: ${extension.version}` : ""}
176
180
  return `${baseUri}?body=${encodeURIComponent(issueDescription)}&labels=web`;
177
181
  }
178
182
  };
179
- BrowserIssueService = ( __decorate([( __param(0, IExtensionService)), ( __param(1, IProductService)), ( __param(2, IIssueFormService)), ( __param(3, IThemeService)), ( __param(4, IWorkbenchAssignmentService)), ( __param(5, IWorkspaceTrustManagementService)), ( __param(6, IIntegrityService)), ( __param(7, IExtensionManagementService)), ( __param(8, IWorkbenchExtensionEnablementService)), ( __param(9, IAuthenticationService)), ( __param(10, IConfigurationService)), ( __param(11, IOpenerService))], BrowserIssueService));
183
+ BrowserIssueService = ( __decorate([( __param(0, IExtensionService)), ( __param(1, IProductService)), ( __param(2, IIssueFormService)), ( __param(3, IThemeService)), ( __param(4, IWorkbenchAssignmentService)), ( __param(5, IWorkspaceTrustManagementService)), ( __param(6, IIntegrityService)), ( __param(7, IExtensionManagementService)), ( __param(8, IWorkbenchExtensionEnablementService)), ( __param(9, IAuthenticationService)), ( __param(10, IConfigurationService)), ( __param(11, IOpenerService)), ( __param(12, IWorkbenchEnvironmentService))], BrowserIssueService));
180
184
  function getIssueReporterStyles(theme) {
181
185
  return {
182
186
  backgroundColor: getColor(theme, SIDE_BAR_BACKGROUND),
@@ -102,13 +102,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
102
102
  throw ( new Error("invalid state"));
103
103
  }
104
104
  const res = await this.dialogService.confirm({
105
- message: ( localize(10246, "Troubleshoot Issue")),
105
+ message: ( localize(10558, "Troubleshoot Issue")),
106
106
  detail: ( localize(
107
- 10247,
107
+ 10559,
108
108
  "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.",
109
109
  this.productService.nameLong
110
110
  )),
111
- primaryButton: ( localize(10248, "&&Troubleshoot Issue")),
111
+ primaryButton: ( localize(10560, "&&Troubleshoot Issue")),
112
112
  custom: true
113
113
  });
114
114
  if (!res.confirmed) {
@@ -152,7 +152,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
152
152
  return;
153
153
  }
154
154
  const result = await this.askToReproduceIssue(( localize(
155
- 10249,
155
+ 10561,
156
156
  "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."
157
157
  )));
158
158
  if (result === "good") {
@@ -170,7 +170,7 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
170
170
  await this.userDataProfileManagementService.createAndEnterTransientProfile();
171
171
  this.updateState(this.state);
172
172
  const result = await this.askToReproduceIssue(( localize(
173
- 10250,
173
+ 10562,
174
174
  "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."
175
175
  )));
176
176
  if (result === "stop") {
@@ -178,13 +178,13 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
178
178
  }
179
179
  if (result === "good") {
180
180
  await this.askToReportIssue(( localize(
181
- 10251,
181
+ 10563,
182
182
  "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."
183
183
  )));
184
184
  }
185
185
  if (result === "bad") {
186
186
  await this.askToReportIssue(( localize(
187
- 10252,
187
+ 10564,
188
188
  "Issue troubleshooting has identified that the issue is with {0}.",
189
189
  this.productService.nameLong
190
190
  )));
@@ -199,15 +199,15 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
199
199
  askToReproduceIssue(message) {
200
200
  return (new Promise((c, e) => {
201
201
  const goodPrompt = {
202
- label: ( localize(10253, "I Can't Reproduce")),
202
+ label: ( localize(10565, "I Can't Reproduce")),
203
203
  run: () => c("good")
204
204
  };
205
205
  const badPrompt = {
206
- label: ( localize(10254, "I Can Reproduce")),
206
+ label: ( localize(10566, "I Can Reproduce")),
207
207
  run: () => c("bad")
208
208
  };
209
209
  const stop = {
210
- label: ( localize(10255, "Stop")),
210
+ label: ( localize(10567, "Stop")),
211
211
  run: () => c("stop")
212
212
  };
213
213
  this.notificationHandle = this.notificationService.prompt(Severity.Info, message, [goodPrompt, badPrompt, stop], {
@@ -223,9 +223,9 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
223
223
  if (res === "good") {
224
224
  await this.dialogService.prompt({
225
225
  type: Severity.Info,
226
- message: ( localize(10246, "Troubleshoot Issue")),
226
+ message: ( localize(10558, "Troubleshoot Issue")),
227
227
  detail: ( localize(
228
- 10256,
228
+ 10568,
229
229
  "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.",
230
230
  this.productService.nameLong
231
231
  )),
@@ -248,11 +248,11 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
248
248
  async askToReproduceIssueWithInsiders() {
249
249
  const confirmRes = await this.dialogService.confirm({
250
250
  type: "info",
251
- message: ( localize(10246, "Troubleshoot Issue")),
252
- primaryButton: ( localize(10257, "Download {0} Insiders", this.productService.nameLong)),
253
- cancelButton: ( localize(10258, "Report Issue Anyway")),
251
+ message: ( localize(10558, "Troubleshoot Issue")),
252
+ primaryButton: ( localize(10569, "Download {0} Insiders", this.productService.nameLong)),
253
+ cancelButton: ( localize(10570, "Report Issue Anyway")),
254
254
  detail: ( localize(
255
- 10259,
255
+ 10571,
256
256
  "Please try to download and reproduce the issue in {0} insiders.",
257
257
  this.productService.nameLong
258
258
  )),
@@ -269,20 +269,20 @@ let TroubleshootIssueService = class TroubleshootIssueService extends Disposable
269
269
  }
270
270
  const res = await this.dialogService.prompt({
271
271
  type: "info",
272
- message: ( localize(10246, "Troubleshoot Issue")),
272
+ message: ( localize(10558, "Troubleshoot Issue")),
273
273
  buttons: [{
274
- label: ( localize(10260, "I can't reproduce")),
274
+ label: ( localize(10572, "I can't reproduce")),
275
275
  run: () => "good"
276
276
  }, {
277
- label: ( localize(10261, "I can reproduce")),
277
+ label: ( localize(10573, "I can reproduce")),
278
278
  run: () => "bad"
279
279
  }],
280
280
  cancelButton: {
281
- label: ( localize(10262, "Stop")),
281
+ label: ( localize(10574, "Stop")),
282
282
  run: () => "stop"
283
283
  },
284
284
  detail: ( localize(
285
- 10263,
285
+ 10575,
286
286
  "Please try to reproduce the issue in {0} insiders and confirm if the issue exists there.",
287
287
  this.productService.nameLong
288
288
  )),
@@ -348,7 +348,7 @@ registerAction2(class TroubleshootIssueAction extends Action2 {
348
348
  constructor() {
349
349
  super({
350
350
  id: "workbench.action.troubleshootIssue.start",
351
- title: ( localize2(10264, "Troubleshoot Issue...")),
351
+ title: ( localize2(10576, "Troubleshoot Issue...")),
352
352
  category: Categories.Help,
353
353
  f1: true,
354
354
  precondition: ( ContextKeyExpr.and(( IssueTroubleshootUi.ctxIsTroubleshootActive.negate()), ( RemoteNameContext.isEqualTo("")), ( IsWebContext.negate())))
@@ -362,7 +362,7 @@ registerAction2(class extends Action2 {
362
362
  constructor() {
363
363
  super({
364
364
  id: "workbench.action.troubleshootIssue.stop",
365
- title: ( localize2(10265, "Stop Troubleshoot Issue")),
365
+ title: ( localize2(10577, "Stop Troubleshoot Issue")),
366
366
  category: Categories.Help,
367
367
  f1: true,
368
368
  precondition: IssueTroubleshootUi.ctxIsTroubleshootActive
@@ -570,6 +570,13 @@ body.issue-reporter-body {
570
570
  align-self: flex-end;
571
571
  }
572
572
 
573
+ .issue-reporter-body .public-elements .monaco-text-button .codicon-loading {
574
+ margin-right: 4px;
575
+ vertical-align: text-bottom;
576
+ line-height: inherit;
577
+ font-size: inherit;
578
+ }
579
+
573
580
  .issue-reporter-body .public-elements #show-repo-name {
574
581
  align-self: flex-end;
575
582
  font-size: 12px;
@@ -81,7 +81,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
81
81
  }));
82
82
  const reportIssue = {
83
83
  id: OpenIssueReporterActionId,
84
- title: ( localize2(10266, "Report Issue...")),
84
+ title: ( localize2(10578, "Report Issue...")),
85
85
  category: Categories.Help
86
86
  };
87
87
  this._register(MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
@@ -91,7 +91,7 @@ let BaseIssueContribution = class BaseIssueContribution extends Disposable {
91
91
  group: "3_feedback",
92
92
  command: {
93
93
  id: OpenIssueReporterActionId,
94
- title: ( localize(10267, "Report &&Issue"))
94
+ title: ( localize(10579, "Report &&Issue"))
95
95
  },
96
96
  order: 3
97
97
  }));
@@ -59,6 +59,7 @@ export interface IssueReporterData extends WindowData {
59
59
  experiments?: string;
60
60
  restrictedMode: boolean;
61
61
  isUnsupported: boolean;
62
+ isSessionsWindow: boolean;
62
63
  githubAccessToken: string;
63
64
  issueTitle?: string;
64
65
  issueBody?: string;