jiebi/CodeConvo huggingface dataset:
Change:
precondition: ContextKeyExpr.or(TerminalContextKeys.processSupported, TerminalContextKeys.terminalHasBeenCreated), keybinding: [ { <del> primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyO, </del> <ins> primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG, </ins> weight: KeybindingWeight.WorkbenchContrib + 2, when: TerminalContextKeys.accessibleBufferFocus }

Discussion:
cc
Alternative idea: Using the symbol analogy, you could consider both links and commands close to symbols, so why not present both in the same quick pick, regardless of screen reader mode?
Great idea. The only concern is that presenting both info in one quick pick might be too messy and cause unnecessary confusion.
Yeah already said it's tough to navigate the quickpick as is. Nice idea, but I fear that would complicate things
do the headers in the quick pick not work well in screen readers? After filtering should we be announcing something like x items in header1, y items in header2?
An issue is that it wraps around when using arrow keys. So, for example, using the link quick pick is odd because you can wrap around to some pretty irrelevant "word link" results quite easily.
We could have this be one command but make the user select which type they're interested in IE or as the first step
Configuring on first use like that can be a bad experience as you don't know what you want initially and may not know how to change it after. Perhaps there should be a filter for workspace search links, like , and/or we hide non-relevant looking ones unless you hit show more links.
Oh, I didn't mean configuring. I meant showing that option every time the command is used.
IMO, these should remain separate commands because the point of a quick pick is you know what you're getting and don't have to go looking for a particular category - it's quick
Can you please provide steps to verify?
Steps were to check open detected link and navigate accessible buffer commands have differing keybindings and both work !
Change:
this.view.domNode.removeAttribute('aria-activedescendant'); } <del> this.view.domNode.setAttribute('role', 'tree'); </del> <ins> this.updateAriaRole(); </ins> DOM.toggleClass(this.view.domNode, 'element-focused', focus.length > 0); } <ins> private updateAriaRole(): void { if (typeof this.options.ariaRole !== 'string') { this.view.domNode.setAttribute('role', ListAriaRootRole.TREE); } else { this.view.domNode.setAttribute('role', this.options.ariaRole); } } </ins> private _onSelectionChange(): void { const selection = this.selection.get();

Discussion:
Environment Details: Application Name: Visual Studio Code Application Version: 1.38.1 (user setup) Commit: Electron: 4.2.10 10.11.0 OS: Windows_NT x64 10.0. Steps to Reproduce: any workspace with Extensions recommendations notification pops up Accessibility insights and track the control type for toast notification. type is tree when it is expected to be a dialog. Accessibility Impact: the control is called out as tree by screen reader which might be confusing.
It is true that each notification toast is a tree itself because that is the underlying widget we are using. We can possible change that if there is API from the tree level.
There is already a  in the AriaProvider which should be exposed in the . Not sure if you can use that one, or you need to introduce a new one or the current one will be enough? can you try it out?
this was not possible without tree changes (and also a bugfix where the tree would always set the aria role "tree", even if options were provided). Please review
I was able to verify this change, the toast now has a dialog role. One thing I noticed is that the contained still has . This doesn't cause issues with OS X voiceover, but we should keep an eye out on whether it confuses other screen readers.
Yeah, to change that would need additional support from the tree widget I think.
Please note that this should now be fixed properly via So the parent is a and each toast is a
Change:
) + replies; } else { return accessibleViewHint + nls.localize('resourceWithCommentLabelFile', <del> "{0} in {1},{2} comment: {3}", </del> <ins> "{0} in {1} {2}nComment: {3}{4}", </ins> element.comment.userName, basename(element.resource), replyCount, <del> (typeof element.comment.body === 'string') ? element.comment.body : element.comment.body.value </del> <ins> (typeof element.comment.body === 'string') ? element.comment.body : element.comment.body.value, content </ins> ) + replies; } }

Discussion:
Type: <bFeature Request</bCC I appreciate the current implementation of Accessible View (alt+F2) in the Comment Thread. However, I would like to suggest a few improvements to make it more accessible for screen reader users. [Easy navigation]: by separating the comment from the line number, screen reader users can easily navigate the comment text. [Improved discoverability]: providing the corresponding content of the comment can help screen reader users to understand the context of the comment. VS Code version: Code - Insiders 1.93.0-insider (, 2024-08-20T08:04:15.567Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
and press alt+f2 was focused but blank a11y view is shown ! the comment content and press alt+f2 11y view shows with just the comment content ! Is the content of the a11y view supposed to match the request in the issue? Am I focusing on the wrong thing?
your focus needs to be on a comment for this to work.
Secondly, you need to have a selection of code associated with the comment to see that in the accessible view.
I notice I can focus on the comment in the Comments view and then press Alt+F2 to show the comment in the accessible view. However, it adds the word "undefined". I'm not sure whether that word comes from the line range or date. !
thanks , i'll make a new issue to track that bug
Change:
import { IWindowState } from 'vs/platform/window/electron-main/window'; import { randomPath } from 'vs/base/common/extpath'; import { withNullAsUndefined } from 'vs/base/common/types'; <ins> import { IStateMainService } from 'vs/platform/state/electron-main/state'; </ins> <del> import { IApplicationStorageMainService } from 'vs/platform/storage/electron-main/storageMainService'; import { StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; </del> export const IIssueMainService = createDecorator<IIssueMainService>('issueMainService'); const processExplorerWindowState = 'issue.processExplorerWindowState';

Discussion:
This is a follow up from I would suggest to not use the storage service for process explorer state but . That is the same service we also use to store window state for workbench windows. Using storage service from the main process requires you to await the event because unlike state service, the storage service is not ready when you use it: State service is always available and can be used as a drop-in replacement. Here is where its used for windows and the key we use is , so maybe it should be .
Change:
'default': 'utf8', 'description': nls.localize('encoding', "The default character set encoding to use when reading and writing files. This setting can also be configured per language."), 'scope': ConfigurationScope.LANGUAGE_OVERRIDABLE, <del> 'enumDescriptions': Object.keys(SUPPORTED_ENCODINGS).map(key => SUPPORTED_ENCODINGS[key].labelLong) </del> <ins> 'enumDescriptions': Object.keys(SUPPORTED_ENCODINGS).map(key => SUPPORTED_ENCODINGS[key].labelLong), 'enumItemLabels': Object.keys(SUPPORTED_ENCODINGS).map(key => SUPPORTED_ENCODINGS[key].labelLong) </ins> }, 'files.autoGuessEncoding': { 'type': 'boolean',

Discussion:
Issue Type: <bBug</b! VS Code version: Code - Insiders 1.50.0-insider (, 2020-09-12T00:56:22.923Z) OS version: Darwin x64 19.4.0 Remote OS version: Linux x64 4.19.76-linuxkit <details<summarySystem Info</summary </details<!-- generated by issue reporter --
This is the order that it's contributed in. Do you think that the settings UI should sort them alphabetically like they are in the suggest widget, or leave them in contribution order, in case that is important? Looking through some enum settings, some seem to order the options in an intentional way, like with the default first, or the simpler options first. Some are random or are sorted. I think I am inclined to display them in contributed order to keep this an option (and we can sort the encodings manually), but I'm not sure, what do you think?
It should be this order, same as the picker: ! The encodings are not sorted by name intentionally. But they are grouped by type and I guess that is not very visible in the settings editor.
Oh, got it. I've seen a few of these cases where it would make sense to display the enumDescription in the dropdown instead of the actual value. It doesn't make sense in general but it would be cool to provide an option for settings to opt into that, what do you think?
Yeah I think it would make a lot of sense in this case
I think we should add an option to the schema contribution for this but I have no clue what to call it
If the dropdown list will now display the enumDescriptions, should the description footer on the list show the value to be set? Should the collapsed dropdown control show the selected value or its enumDescription?
Yes, I'd say just swap them I think it should show the enumDescriptioni
I'll start working on this issue. Thanks for your help.
Now this will show with the key in the description area in square brackets. But it would look much nicer to match the editor encoding picker, so I opened for that.
Change:
if ('pty' in nameOrOptions) { return extHostTerminalService.createExtensionTerminal(nameOrOptions); } <del> if (nameOrOptions.message) { checkProposedApiEnabled(extension); } </del> if (nameOrOptions.icon) { checkProposedApiEnabled(extension); }

Discussion:
Proposal: Example use case: GitLens running a git command and when it fails, create a new terminal which includes the error message in the header and the failed command ready to be run manually. This is generally useful for other applications (eg. welcome to the blah debug terminal, this is how it works, ...) cc
<img width="725" alt="Screen Shot 2021-04-01 at 12 25 57 PM" src="https://user-"
This is in main, very little to do since was already an option internally. Will bring this to next API sync.
alternative names: message, placeholder, placeHolder
Will probably go with to match .
Proposed API TPI:
Code: Result: <img width="398" alt="Screen Shot 2021-05-04 at 6 36 08 AM" src="https://user-"
Change:
// Icon const icon = alwaysPrompt ? '$(lock)' : alwaysCommitToNewBranch ? '$(git-branch)' : undefined; <ins> let commandArg = ''; let title = localize('scm button commit title', "{0} Commit", icon ?? '$(check)'); let tooltip = this.state.isCommitInProgress ? localize('scm button committing tooltip', "Committing Changes...") : localize('scm button commit tooltip', "Commit Changes"); </ins> // Title, tooltip switch (postCommitCommand) { case 'push': {

Discussion:
Testing
Fixed with
Verification steps: Launch the latest VS Code Insiders Open a folder/workspace that contains a git repository Ensure that the setting is enabled Ensure that all three properties of the setting are enabled Use the setting to enable branch protection for the current branch Make a change to a file: Confirm that the "Commit" action button is shown and it has the codicon Set the setting to Confirm that the "Commit" action button is shown and it has the codicon
not sure what I'm doing wrong, but this doesn't seem to work for me (not getting the codicon). See below. Version: 1.70.0-insider (Universal) Commit: Date: 2022-07-26T05:17:37.262Z Electron: 18.3.5 Chromium: 100.0.4896.160 16.13.2 V8: 10.0.139.17-electron.0 OS: Darwin arm64 21.5.0 !
this looks like a regression. Re-opening the bug.
Change:
super(); } <del> refreshLabel(): void { this._title = this.computeLabel(this._configHelper.config.tabs.title, TerminalLabelType.Title); </del> <ins> refreshLabel(reset?: boolean): void { this._title = this.computeLabel(this._configHelper.config.tabs.title, TerminalLabelType.Title, reset); </ins> this._description = this.computeLabel(this._configHelper.config.tabs.description, TerminalLabelType.Description); <del> if (this._title !== this._instance.title || this._description !== this._instance.description) { </del> <ins> if (this._title !== this._instance.title || this._description !== this._instance.description || reset) { </ins> this._onDidChangeLabel.fire({ title: this._title, description: this._description }); } } computeLabel( labelTemplate: string, <del> labelType: TerminalLabelType </del> <ins> labelType: TerminalLabelType, reset?: boolean </ins> ) { const templateProperties: ITerminalLabelTemplateProperties = { cwd: this._instance.cwd || this._instance.initialCwd || '',

Discussion:
Testing a terminal tab title setting your terminal to "foo" to set the name to blank string to, but I would expect it to just use my default from 1.
We discussed this and want to require a title.
I don't mean that blank titles should be allowed. I more meant how do I get back to the default I set in settings after I renamed the terminal, I feel I would expect it to let me delete my custom name and then it would use the default
You can reset the setting by clicking on the gear - is that what you mean?
No I meant is there a way to reset the terminal title to be the value of my setting instead of my custom named one?
We currently don't support going backward like that. I'll appropriately rename this issue for more discussion in October because I also wondered about this and discussed it with
Thanks sorry if I wasn't clear . My suggested UX would just be to have that be the default if you were attempt to have a blank name
oh - yes Brigit caught that case and I fixed it. so if it's set to '' or 'any number of spaces', it'll now show the process name. might've misunderstood what you were saying
But shouldn't it show whatever my setting states the default is rather than just the process name?
Sorry, the difference between our issues is she is talking about the setting I'm talking about the terminal title itself and not the setting. I want a blank rename of a terminal to reset to the value of my setting
I thought your setting was set to ''
confused - you can't set it to blank. we don't allow that
!
So my request is if my setting is and I name a terminal "foo". How do I reset "foo" back to the value of . My suggestion was that if you attempted to submit a blank name that would automatically reset to the value of your setting.
yep the name of this issue now reflects that. we'll see what says about that.
and I discussed it and it makes sense to do this
Change:
#### Web There is no support for testing an old version to a new one yet. <del> Instead, simply configure the `--build` command line argument to point to the absolute path of the extracted server web build folder (e.g. `<rest of path here>/vscode-server-darwin-web` for macOS). The server web build is available from the builds page (see previous subsection). </del> <ins> Instead, simply configure the `--build` command line argument to point to the absolute path of the extracted server web build folder (e.g. `<rest of path here>/vscode-server-darwin-x64-web` for macOS). The server web build is available from the builds page (see previous subsection). </ins> **macOS**: if you have downloaded the server with web bits, make sure to run the following command before unzipping it to avoid security issues on startup:

Discussion:
I noticed in the launcher that today's Darwin server has a nested subdirectory, . This broke our launcher (I initially assumed we changed something), and after checking I noticed that it also causes remote ssh to fail since the binaries are no longer in the expected locations: On the launcher side I can verify that pulling in yesterday's version by adding to the URL fixes the issue
The SSH issue was a separate local problem. Looking at the directories, the contents seem mostly the same structure wise. Not sure why it's extracting differently, since it does not seem to affect remote SSH. Looking into it.
Okay, that was a fun investigation. Yesterday's server's download path was But today's was We would only pop off the first segment of the path when unzipping if it matched the zip name. While the zip was renamed, its nested directory was not, and therefore we would end up with an extra segment in the path. I'll change our logic to just always pop off the first segment, though I think having the zip name match any nested directory is pretty standard so I'll leave this open in case this is worth a tweak.
Related to and
Change:
try { url = await this.writeToClipboard(baseUrl, issueBody); } catch (_) { <ins> console.error('Writing to clipboard failed'); </ins> return false; } }

Discussion:
Testing I had the arg For and clicking "Create on GitHub" did nothing. I would expect an error to log in the console for this so that devs know what has happened.
Did this log anything in the console? (ie, or something like that)
I didn't see anything in the debug console.
Technically, it's a valid URI, but it doesn't resolve to a valid endpoint.

Testing <img alt="image" src=""For this, I put an invalid , and as expected, the field in the issue reporter is not set to a specific extension. However, I'd appreciate a warning log in the debug console that warns devs that they have an invalid
Change:
/** * Sets or triggers a quick pick to change the color of the associated terminal tab icon. */ <del> changeColor(color?: string): Promise<string | undefined>; </del> <ins> changeColor(color?: string, skipQuickPick?: boolean): Promise<string | undefined>; </ins> /** * Triggers a quick pick that displays recent commands or cwds. Selecting one will

Discussion:
From testing Steps to Reproduce: multiple terminals multiple terminals in the terminal view to change their color to red the terminals still select, select again time run instead Bug Only a single terminal at a time is reset
Change:
try { compatible = await this.checkAndGetCompatibleVersion(galleryExtension, false, installPreRelease); } catch (error) { <del> if (error instanceof ExtensionManagementError && error.code === ExtensionManagementErrorCode.IncompatibleTargetPlatform && !isDependency) { this.logService.info('Skipping the packed extension as it cannot be installed', galleryExtension.identifier.id); </del> <ins> if (!isDependency) { this.logService.info('Skipping the packed extension as it cannot be installed', galleryExtension.identifier.id, getErrorMessage(error)); </ins> continue; } else { throw error;

Discussion:
Type: <bBug</bGUCCI VS Code version: Code 1.80.1 (, 2023-07-12T17:22:07.651Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (92)</summaryExtensionVersion ------ random-sample1.3.2 htmlplay0.0.10 exe-runner0.2.1 python-logger-vscode0.2.6 console-wrap-php-js-python0.0.7 logical-properties0.1.11 beyond-debug0.9.15 logger0.1.1 console-colored-logs0.0.23 vscode-markdownlint0.51.0 vscode-eslint2.4.2 vscode-deno3.19.1 githistory0.6.20 gitlens14.1.1 EditorConfig0.16.4 prettier-vscode9.19.0 esp-idf-extension1.6.4 git-project-manager1.8.2 vscode-firefox-debug2.9.8 godot-tools1.3.1 copilot1.96.255 cloudcode1.22.0 gc-excelviewer4.2.57 aiquickfix0.0.4 vscode-test-explorer2.21.1 vscode-htmlhint1.0.5 Ionide-fsharp7.7.1 elixir-ls0.15.3 vsc-fastbin0.1.1 vscode-tsc1.1.0 better-php-error-logger0.1.38 rainbow-csv3.7.0 log-line-number0.0.2 metabob1.0.18 HTMLHint0.10.0 vscode-docker1.26.0 csharp1.26.0 dotnet-interactive-vscode1.0. vscode-dotnet-pack1.0.12 vscode-edge-devtools2.1.2 vscode-ros0.9.2 vscode-kubernetes-tools1.3.13 python2023.12.0 jupyter2023.6.

jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.299.0 remote-ssh0.102.0 remote-ssh-edit0.86.0 remote-wsl0.80.2 cmake-tools1.14.34 cpptools1.16.3 mono-debug0.16.3 remote-explorer0.4.1 test-adapter-converter0.1.8 cordova-tools2.6.4 html-meta-tags-hero1.0.2 godot-csharp-vscode0.2.1 log-booster0.0.7 gitlab-mr-notice-vscode0.1.3 extended-html5-boilerplate0.0.1 java1.20.0 vscode-yaml1.13.0 LiveServer5.7.9 php-debug1.14.0 sample-ext0.0.2 salesforcedx-vscode-apex58.6.2 salesforcedx-vscode-apex-replay-debugger58.6.2 salesforcedx-vscode-core58.6.2 twilight-vscode-extension1.0.10 json-to-js-object0.0.4 vscode-php-test-explorer-docker1.0.5 scala0.5.7 metals1.23.0 vscode-css-custom-properties0.0.5 pdf1.2.2 cmake0.0.17 c-cpp-flag-debugging0.0.1 intellicode-api-usage-examples0.2.7 vscodeintellicode1.2.30 vscode-java-debug0.52. vscode-java-dependency0.23.0 vscode-java-test0.39.0 vscode-maven0.41.0 vscode-spring-initializr0.11.2 vscode-icons12.4.0 php-debug1.32.1 vsmarketplace-badges1.0.3 markdown-pdf1.4.4 material-theme3.15.18 (10 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
what is this issue ticket? spam? how often does spam happen in this repo?
Change:
break; case 'setActive': <del> changeActive(e.data.value); </del> <ins> setActive(e.data.value); </ins> break; case 'zoomIn':

Discussion:
Repo an image to the side of a text editor with the text editor focused click into the image editor to focus it Bug The first click ends up zooming the image. Clicking should only zoom when the editor is already focused
Here's the relevant code about click handling in the image preview:
If focus is required for zoom, then the cursor when hovering over the image preview should be the default arrow cursor when unfocused, currently it is the zoom-in cursor. Also zooming with the mouse wheel should not be allowed when unfocused. Thoughts?
Fixed by
I'm still seeing the first click zoom. Steps: a typescript file. a gif gif to the right so that both typescript and gif are visible and side by side in typescript. in gif Expected: no zoom Actual: it zooms on the click in the gif in (5).
I'm not able to reproduce. Have tried on both insiders 1.40.0 and OSS. Does this only occur with gifs for you?
I can repo this. You may need to click back and forth multiple times trigger the error
I'm still not able to. Will try more tomorrow. A possible cause might be that the event is fired before the event on the first click. This could be tested by checking the order of execution for the corresponding event handlers in . I'll do it if I manage to reproduce the bug.
Change:
this.actionRunner = this._register(new ActionRunner()); this._register(this.actionRunner.onDidBeforeRun(() => { <del> this.focusState = this.currentMenubarVisibility === 'toggle' ? MenubarState.HIDDEN : MenubarState.VISIBLE; </del> <ins> this.setUnfocusedState(); </ins> })); this._onVisibilityChange = this._register(new Emitter<Dimension>());

Discussion:
Issue Type: <bBug</bWhen using the custom title bar and the toggled menu bar setting, the menu bar becomes stuck in the toggled on state. This primarily occurs when the active VS Code window becomes inactive while the menu bar is toggled on. When using multiple VS Code windows this makes it difficult to identify the correct window because the title bar's filename information is hidden. Steps to reproduce: the setting to , and setting to VS Code is the active window, hold down the key to show the menu bar the key while still holding the key to switch to another application. The active VS Code window becomes inactive and the menu bar is visible. Alternatively you can click outside of the active VS Code window while the menu bar is being displayed. VS Code version: Code 1.25.0 (, 2018-07-05T13:11:58.697Z) OS version: Windows_NT x64 10.0. <details<summaryExtensions (4)</summaryExtensionVersion ------ classic-asp0.0.4 vscode-icon-theme1.6.2 csharp1.15.2 PowerShell1.8.0 </details<!-- generated by issue reporter --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.538 --- <!-- score: 0.491 --- <!-- score: 0.483 --- <!-- score: 0.482 --- <!-- score: 0.48 --<!-- potentialduplicatescomment --