jiebi/CodeConvo huggingface dataset:
Change:
It appears that this is possible now, and we should consider adopting this in VS Code ()
There is community interest:
Please add this!
Steps for verification: Connect to Windows arm64 using the latest pre-release of SSH extension () Verify that connection is successful Use or similar tool to confirm that executable is of architecture.

Discussion:
<del> 2024-07-04T16:31:11.121Z </del> <ins> 2024-08-06T11:06:57.600Z </ins>

} } case 'server': <del> if (arch === 'arm64') { throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`); } </del> return `server-win32-${arch}`; case 'web': <del> if (arch === 'arm64') { throw new Error(`Unrecognized: ${product} ${os} ${arch} ${type}`); } </del> return `server-win32-${arch}-web`; case 'cli': return `cli-win32-${arch}`;

env: GITHUB_TOKEN: "$(github-distro-mixin-password)" displayName: Build server <del> condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64')) </del> - powershell: | . build/azure-pipelines/win32/exec.ps1

env: GITHUB_TOKEN: "$(github-distro-mixin-password)" displayName: Build server (web) <del> condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64')) </del> - ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}: - template: product-build-win32-test.yml@self

sbomBuildDropPath: $(Agent.BuildDirectory)/vscode-server-win32-$(VSCODE_ARCH) sbomPackageName: "VS Code Windows $(VSCODE_ARCH) Server" sbomPackageVersion: $(Build.SourceVersion) <del> condition: and(succeededOrFailed(), ne(variables['SERVER_PATH'], ''), ne(variables['VSCODE_ARCH'], 'arm64')) </del> <ins> condition: and(succeededOrFailed(), ne(variables['SERVER_PATH'], '')) </ins> displayName: Publish server archive - task: 1ES.PublishPipelineArtifact@1

sbomBuildDropPath: $(Agent.BuildDirectory)/vscode-server-win32-$(VSCODE_ARCH)-web sbomPackageName: "VS Code Windows $(VSCODE_ARCH) Web" sbomPackageVersion: $(Build.SourceVersion) <del> condition: and(succeededOrFailed(), ne(variables['WEB_PATH'], ''), ne(variables['VSCODE_ARCH'], 'arm64')) </del> <ins> condition: and(succeededOrFailed(), ne(variables['WEB_PATH'], '')) </ins> displayName: Publish web server archive - task: 1ES.PublishPipelineArtifact@1

const BUILD_TARGETS = [ { platform: 'win32', arch: 'x64' }, <ins> { platform: 'win32', arch: 'arm64' }, </ins> { platform: 'darwin', arch: 'x64' }, { platform: 'darwin', arch: 'arm64' }, { platform: 'linux', arch: 'x64' },

Platform::DarwinARM64 => "server-darwin-arm64", Platform::WindowsX64 => "server-win32-x64", Platform::WindowsX86 => "server-win32", <del> Platform::WindowsARM64 => "server-win32-x64", // we don't publish an arm64 server build yet </del> <ins> Platform::WindowsARM64 => "server-win32-arm64", </ins> } .to_owned() }
Change:
This seems to require that an extension quick pick is filtered before the nodes are displayed. It can be reproduced with GHPR: GHPR a repo where there are lots of branches, such as microsoft/vscode "Create Pull Request" need to the right timing here so do the following in quick succession: Click the "base" branch the create view Start typing something that will match to a node once it loads, like "release" Hit enter to select one of the "release" branches Nothing will seem to happen. The quick pick selection will not be taken. out and do to open quick open. Type a file name and . the file will not open Stack trace from step 4:
this is the weird behavior that I mentioned a couple months ago but couldn't get a good repro of, but now it's pretty consistent. I also didn't realize that it broke quick open before.
I also observe a stale tree within the quick-pick for picking a branch which gets updated late:
/duplicate fixed tomorrow
Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for . See also our . Happy Coding!
I can still repro on the insiders from today ().
I can repro! And I can repro in stable so this doesn't appear to be a regression this month, but still should try to fix.
Thank you for the fix!

Discussion:
setFocusedElements(items: IQuickPickItem[]) { const elements = items.map(item => this._itemElements.find(e => e.item === item)) <del> .filter((e): e is QuickPickItemElement => !!e); </del> <ins> .filter((e): e is QuickPickItemElement => !!e) .filter(e => !e.hidden); </ins> this._tree.setFocus(elements); if (items.length > 0) { const focused = this._tree.getFocus()[0];
Change:
Steps to reproduce: any document, press controll+shift+f to open the find all functionality. tab (4 times) until you hear "button" or "button expanded". Issues: does not announce that the button is an expandable one, and that it is in the collapsed state. This appears to be a regression in the insiders build when compared with the latest stable release, where the button is announced as collapsed or expanded. does not have any label for the button. It is just announced as "button".
are you aware of any regressions that could have caused this in the tree view? I don't think that I changed anything in search for this to happen..
I'm not aware of any changes to this. Furthermore, in testing with VoiceOver, this is working as expected. Does this repro with NVDA on Windows? If not, it's possible something changed with JAWS.
This doesn't repro with NVDA, trying JAWS next
doesn't repro for me using JAWS either, has any setting changed for you?
The expand/collapsed state is indicated to me for all screen readers. I can repro the button not having an aria label, which we should fix.

Discussion:
this.queryDetails = dom.append(this.searchWidgetsContainerElement, $('.query-details')); // Toggle query details button <ins> const toggleQueryDetailsLabel = nls.localize('moreSearch', "Toggle Search Details"); </ins> this.toggleQueryDetailsButton = dom.append(this.queryDetails, <del> $('.more' + ThemeIcon.asCSSSelector(searchDetailsIcon), { tabindex: 0, role: 'button' })); this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('element'), this.toggleQueryDetailsButton, nls.localize('moreSearch', "Toggle Search Details"))); </del> <ins> $('.more' + ThemeIcon.asCSSSelector(searchDetailsIcon), { tabindex: 0, role: 'button', 'aria-label': toggleQueryDetailsLabel })); this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('element'), this.toggleQueryDetailsButton, toggleQueryDetailsLabel)); </ins> this._register(dom.addDisposableListener(this.toggleQueryDetailsButton, dom.EventType.CLICK, e => { dom.EventHelper.stop(e);

this.includesExcludesContainer = DOM.append(container, DOM.$('.includes-excludes')); // Toggle query details button <del> this.toggleQueryDetailsButton = DOM.append(this.includesExcludesContainer, DOM.$('.expand' + ThemeIcon.asCSSSelector(searchDetailsIcon), { tabindex: 0, role: 'button' })); this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('element'), this.toggleQueryDetailsButton, localize('moreSearch', "Toggle Search Details"))); </del> <ins> const toggleQueryDetailsLabel = localize('moreSearch', "Toggle Search Details"); this.toggleQueryDetailsButton = DOM.append(this.includesExcludesContainer, DOM.$('.expand' + ThemeIcon.asCSSSelector(searchDetailsIcon), { tabindex: 0, role: 'button', 'aria-label': toggleQueryDetailsLabel })); this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('element'), this.toggleQueryDetailsButton, toggleQueryDetailsLabel)); </ins> this._register(DOM.addDisposableListener(this.toggleQueryDetailsButton, DOM.EventType.CLICK, e => { DOM.EventHelper.stop(e); this.toggleIncludesExcludes();
Change:
I see this error a lot in the VS Code insider dev tools: ! !
Bisect points to the following, which was only effective with cross-origin scripts previously now is used in all scenarios to bootstrap NLS configs, some worker scripts like the renderer auto profiler end up loading the inside the worker which leads to double creation of the same name policy. Fun fact the duplicate policy creation is not raised when performing the same actions in a nested worker, possibly a bug in Chrome. Simple repro,
Thanks for fixing!

Discussion:
import { IWorker, IWorkerCallback, IWorkerFactory, logOnceWebWorkerWarning } from 'vs/base/common/worker/simpleWorker'; import { Disposable, toDisposable } from 'vs/base/common/lifecycle'; <del> const ttPolicy = createTrustedTypesPolicy('defaultWorkerFactory', { createScriptURL: value => value }); </del> <ins> // Reuse the trusted types policy defined from worker bootstrap // when available. // Refs https://github.com/microsoft/vscode/issues/222193 let ttPolicy: ReturnType<typeof createTrustedTypesPolicy>; if (typeof self === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope' && (globalThis as any).workerttPolicy !== undefined) { ttPolicy = (globalThis as any).workerttPolicy; } else { ttPolicy = createTrustedTypesPolicy('defaultWorkerFactory', { createScriptURL: value => value }); } </ins> export function createBlobWorker(blobUrl: string, options?: WorkerOptions): Worker { if (!blobUrl.startsWith('blob:')) {

`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(globalThis._VSCODE_NLS_MESSAGES)};`, `globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(globalThis._VSCODE_NLS_LANGUAGE)};`, `const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });`, <ins> `globalThis.workerttPolicy = ttPolicy;`, </ins> `importScripts(ttPolicy?.createScriptURL('${scriptPath}') ?? '${scriptPath}');`, `/*${label}*/` ].join('')], { type: 'application/javascript' });
Change:
Type: <bBug</bWhen the activity bar is hidden () I cannot drag views to the secondary side bar. This occurs in the current version 1.91.1 and 1.92.0-insider build. I am attaching a screen recording as well which clearly demonstrates the issue. VS Code version: Code - Insiders 1.92.0-insider (Universal) (, 2024-07-19T05:03:57.939Z) OS version: Darwin arm64 23.2.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (6)</summaryExtensionVersion ------ vscode-eslint3.0.10 vscode-graphql0.11.0 vscode-graphql-syntax1.3.6 vscode-yaml1.15.0 vscode-stylelint1.4.0 shellcheck0.37.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
I'm having the same issue with .
Having same issue with "workbench.activityBar.location": "default"

Discussion:
this.emptyPaneMessageElement!.style.backgroundColor = ''; if (this.paneCompositeBar.value) { this.paneCompositeBar.value.dndHandler.drop(e.dragAndDropData, undefined, e.eventData); <ins> } else { // Allow opening views/composites if the composite bar is hidden const dragData = e.dragAndDropData.getData(); if (dragData.type === 'composite') { const currentContainer = this.viewDescriptorService.getViewContainerById(dragData.id)!; this.viewDescriptorService.moveViewContainerToLocation(currentContainer, this.location, undefined, 'dnd'); this.openPaneComposite(currentContainer.id, true); } else if (dragData.type === 'view') { const viewToMove = this.viewDescriptorService.getViewDescriptorById(dragData.id)!; if (viewToMove && viewToMove.canMoveView) { this.viewDescriptorService.moveViewToLocation(viewToMove, this.location, 'dnd'); const newContainer = this.viewDescriptorService.getViewContainerByViewId(viewToMove.id)!; this.openPaneComposite(newContainer.id, true).then(composite => { composite?.openView(viewToMove.id, true); }); } } </ins> } }, }));
Change:
Repro: on /pwsh ctrl+space, often completions don't show up but they definitely come in as seen in Pty Host trace log !

Discussion:
const firstChar = this._leadingLineContent.length === 0 ? '' : this._leadingLineContent[0]; // This is a TabExpansion2 result <del> if (this._leadingLineContent.trim().includes(' ') || firstChar === '[') { </del> <ins> if (this._leadingLineContent.includes(' ') || firstChar === '[') { </ins> replacementIndex = parseInt(args[0]); replacementLength = parseInt(args[1]); this._leadingLineContent = this._promptInputModel.value.substring(0, this._promptInputModel.cursorIndex);
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: No <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: Current OS Version: Web issue only (repro) The repro steps for this are entering via the VS Code for education route for Steps to Reproduce: to with MS credentials the courses list, select the 'Getting Started' course should be launched with our extension and course loaded this point you can already see the errors in the dev console to see the specific issue select the "Coding Challenge" section ! In this section a code editor file should have been opened up in the editor, but it is missing. We see the following in the dev console when the course is loaded. I don't have a full bead on exactly what is happening here, but we have not been changing the extension this sprint, so it seems to be a recent new issue that is just in insiders and not in stable (which works fine still and does not have the errors). ! I took a look at recent issues and this one comment appeared here that might be related?
Adding the log file here.
For comparison, this is the same scenario in stable ! And insiders: ! Note the errors, plus terminal and editor have not opened up.
Hope you don't mind a direct ping here, but I think you might have context both on the VS Code for Education route and possibly on the issue above?
this is related to Looks like we may need to add to the iframe content security policy. Taking a look at this now cc
I was able to verify the issue has been addressed in latest insiders following the steps from OP. please also confirm on your end. Thanks!
Looks good now. Thanks for the quick fix!

Discussion:
<meta http-equiv="Content-Security-Policy" content=" default-src 'none'; child-src 'self' data: blob:; <del> script-src 'self' 'unsafe-eval' 'sha256-V28GQnL3aYxbwgpV3yW1oJ+VKKe/PBSzWntNyH8zVXA=' https: http://localhost:*; </del> <ins> script-src 'self' 'unsafe-eval' 'sha256-V28GQnL3aYxbwgpV3yW1oJ+VKKe/PBSzWntNyH8zVXA=' https: http://localhost:* blob:; </ins> connect-src 'self' https: wss: http://localhost:* http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:*;"/> </head> <body>
Change:
Testing Disable Auto Update for All Extensions. Enable Auto Update for All Extensions. Search for an installed extension. Auto Update is not checked. When I clear the search box, sometimes the checkboxes are then checked. Again searching for an installed extension shows the boxes unchecked.
Do you mean the checkbox is not checked when you search for an installed extension? Otherwise it is checked?
Yes.
Actually now I just reproduced it without searching. This is after enabling auto update for all: <img width="1272" alt="image" src=""
updated after a while! I also noticed that when I clear the search box it takes a very long time for the Extensions panel to show the installed extensions when I just enabled or disabled auto update for all extensions. There seems to be a performance issue.
Thats right, this action updates all extensions to disable auto update. This is any async operation. I would probably show a progress to indicate that operation is running.
<!-- UNABLETOLOCATECOMMITMESSAGE repo --Issue marked as unreleased but unable to locate closing commit in repo history. If this was closed in a separate repo you can add the label directly, or comment .
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased

Discussion:
this.setEnabledAutoUpdateExtensions([]); this.setDisabledAutoUpdateExtensions([]); this._onChange.fire(undefined); <del> this.extensionManagementService.resetPinnedStateForAllUserExtensions(!isAutoUpdateEnabled); </del> <ins> this.updateExtensionsPinnedState(!isAutoUpdateEnabled); </ins> } if (isAutoUpdateEnabled) { this.eventuallyAutoUpdateExtensions();

} } <ins> private updateExtensionsPinnedState(pinned: boolean): Promise<void> { return this.progressService.withProgress({ location: ProgressLocation.Extensions, title: nls.localize('updatingExtensions', "Updating Extensions Auto Update State"), }, () => this.extensionManagementService.resetPinnedStateForAllUserExtensions(pinned)); } </ins> private reset(): void { for (const task of this.tasksInProgress) { task.cancel();
Change:
Testing There does not seem to be a need to keep the setting in the JSON, it can be removed because "auto" (with which the value is replaced) is the new default.
Also- should be translated to ? That was my interpretation.
Not sure I understand. Can you state steps to repro, your expectation vs what actually happened?
I believe this is what Christof meant: to false. the window that it now says this is the default value, we expected the line to disappear completely, since the absence of already implies
Thanks, are you in screen reader mode when that is the case?
yup! but I'm not sure if it happens regardless. Isn't it just the process of auto-migrating the setting to the new one?
I see some bugs with this, thanks for the issue. To verify: With or without screen reader mode, if you have it set to and reload, you should see it set to . With or without screen reader mode, if you have it set to and reload, you should see it set to .
Thanks for the clear verification steps, Also made much easier with profiles editor

Discussion:
if (value === true) { newValue = 'on'; } else if (value === false) { <del> newValue = 'auto'; </del> <ins> newValue = 'off'; </ins> } return [ ['debug.autoExpandLazyVariables', { value: newValue }],
Change:
Testing a notebook in the editor a chat response F1 :bug: a11y help appears for notebook, I have to close the notebook before I can get a11y help for chat
need a stricter clause here I think

Discussion:
*--------------------------------------------------------------------------------------------*/ import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; import { IAccessibleViewImplentation } from 'vs/platform/accessibility/browser/accessibleViewRegistry'; <del> import { NOTEBOOK_IS_ACTIVE_EDITOR } from 'vs/workbench/contrib/notebook/common/notebookContextKeys'; </del> <ins> import { NOTEBOOK_EDITOR_FOCUSED } from 'vs/workbench/contrib/notebook/common/notebookContextKeys'; </ins> import { localize } from 'vs/nls'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { AccessibleViewProviderId, AccessibleViewType, AccessibleContentProvider } from 'vs/platform/accessibility/browser/accessibleView';

export class NotebookAccessibilityHelp implements IAccessibleViewImplentation { readonly priority = 105; readonly name = 'notebook'; <del> readonly when = NOTEBOOK_IS_ACTIVE_EDITOR; </del> <ins> readonly when = NOTEBOOK_EDITOR_FOCUSED; </ins> readonly type: AccessibleViewType = AccessibleViewType.Help; getProvider(accessor: ServicesAccessor) { const activeEditor = accessor.get(ICodeEditorService).getActiveCodeEditor()
Change:
Testing 1) set a selection within a given cell 2) ESC -cell gets focus 3) Cmd+/ -selection from step 1 is lost and all content of the cell is selected 4) Arrow-up or down 5) Cmd+/ -now you have two cells with fully selected content I would expect that the selection from step 1 is retained/restored. And, if I don't have a selection after step 3, no selection would be visible.
It looks like step 2 still causes the selection to be lost and step 3 still comments out everything.
pair verified with

Discussion:
// no parsed args, try handle active editor const editor = getEditorFromArgsOrActivePane(accessor); if (editor) { <ins> const selectedCellRange: ICellRange[] = editor.getSelections().length === 0 ? [editor.getFocus()] : editor.getSelections(); </ins> telemetryService.publicLog2<WorkbenchActionExecutedEvent, WorkbenchActionExecutedClassification>('workbenchActionExecuted', { id: this.desc.id, from: from }); return this.runWithContext(accessor, { ui: false, notebookEditor: editor, <del> selectedCells: cellRangeToViewCells(editor, editor.getSelections()) </del> <ins> selectedCells: cellRangeToViewCells(editor, selectedCellRange) </ins> }); } }

keybinding: { when: ContextKeyExpr.and( NOTEBOOK_EDITOR_FOCUSED, <del> NOTEBOOK_CELL_LIST_FOCUSED, ContextKeyExpr.not(InputFocusedContextKey), </del> NOTEBOOK_EDITOR_EDITABLE, <del> NOTEBOOK_CELL_EDITABLE </del> <ins> ContextKeyExpr.not(InputFocusedContextKey), </ins> ), primary: KeyMod.CtrlCmd | KeyCode.Slash, weight: KeybindingWeight.WorkbenchContrib

} }); selectedCellEditors.forEach(editor => { if (!editor.hasModel()) { return;

const modelOptions = model.getOptions(); const commentsOptions = editor.getOption(EditorOption.comments); <ins> const selection = editor.getSelection(); </ins> commands.push(new LineCommentCommand( languageConfigurationService, new Selection(1, 1, model.getLineCount(), model.getLineMaxColumn(model.getLineCount())),

editor.pushUndoStop(); editor.executeCommands(COMMENT_SELECTED_CELLS_ID, commands); editor.pushUndoStop(); <ins> editor.setSelection(selection); </ins> }); }
Change:
Testing Not sure if this is possible, but I set the to even though I don't have Firefox... then I tried to open something and nothing happened. I was confused because I thought I had Firefox installed, but I guess I remembered incorrectly! I think something like this is increasingly important in the workspace-setting level. Sure, the protection of this is behind Workspace Trust... but I don't seem to get any notification or indication that there's a setting applied that influences how VS Code opens the browser or if it's going to no-op. Considering this setting influences things like user auth flows, I think we should try to do something here. I was surprised that no browser was opened when I attempted to log in to a GitHub extension... which makes sense if this setting is set to something invalid.
I think this might be reported as and misses a fix or workaround. If someone has an idea, either by contributing to or seeing what we can do here:
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
It appears that this is fixed by opening the default instead of what is configured. That makes sense to me.

Discussion:
try { const { default: open } = await import('open'); <del> await open(url, { </del> <ins> const res = await open(url, { </ins> app: { // Use `open.apps` helper to allow cross-platform browser // aliases to be looked up properly. Fallback to the

name: Object.hasOwn(open.apps, configuredBrowser) ? open.apps[(configuredBrowser as keyof typeof open['apps'])] : configuredBrowser } }); <ins> res.stderr?.on('data', (data: Buffer) => { this.logService.error(`Error openening external URL '${url}' using browser '${configuredBrowser}': ${data.toString()}`); }); </ins> } catch (error) { this.logService.error(`Unable to open external URL '${url}' using browser '${configuredBrowser}' due to ${error}.`); return shell.openExternal(url);