jiebi/CodeConvo huggingface dataset:
Change:
} } <ins> let repeatedTimes = 0; let prevText: string | undefined = undefined; </ins> function insertMessage(target: HTMLElement, msg: string): void { if (!ariaContainer) { // console.warn('ARIA support needs a container. Call setARIAContainer() first.'); return; } <del> if (target.textContent === msg) { msg = nls.localize('repeated', "{0} (occurred again)", msg); </del> <ins> if (prevText === msg) { repeatedTimes++; } else { prevText = msg; repeatedTimes = 0; } switch (repeatedTimes) { case 0: break; case 1: msg = nls.localize('repeated', "{0} (occurred again)", msg); break; default: msg = nls.localize('repeatedNtimes', "{0} (occurred {1} times)", msg, repeatedTimes); break; </ins> } dom.clearNode(target);

Discussion:
VSCode Version: Code - Insiders 1.13.0-insider (, 2017-05-30T10:34:18.253Z) OS Version: Darwin x64 15.6.0 Extensions: none Testing Steps to Reproduce: VoiceOver content assist proposal is selected and read content assist content assist with same proposals proposal is selected, but not read
Between closing and opening of content assist, does the suggestion list go away or remain?
It goes away.
I also see this for suggestion list items that have already been visited
It reads it out every other time it shows up. Interesting.
I'm still seeing this issue when manually triggering suggestions on Steps: JS file, trigger suggestions using ctrl+space on a blank line esc suggestions manually again without moving the cursor The first selected suggestions iis not read out again when you do this
I do not think this is ciritcal, since this was behaving like this for a couple of releases feel free to postpone to August
unable to replicate with NVDA. Is this Voiceover? Can you check if 1.25.1 is the same?
Unable to replicate with Voiceover as well. Could you take another look? This is on
Note that not reading suggestions when the editor loses then regains focus is a separate bug, tracked at . says he was able to verify this bug.
Moving to August
Note to verifiers: this issue is about the alert not being read twice in the same "context". The issue of alerts not being read when code loses focus then regains it is separate and tracked at .
Change:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== <del> xml2js@^0.4.19, xml2js@^0.4.23: </del> <ins> xml2js@^0.4.19: </ins> version "0.4.23" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==

Discussion:
<img width="415" alt="image" src=""Looks localized here though, and hasn't changed in 13 months
language pack looks ok too... Looking into this some more... it seems that the new lines aren't being handled properly.
This still repros :/ is the loc pipeline maybe not running?
it is the newlines... which I thought I fixed... sigh... They are being escaped in the language pack: if I manually delete these extra slashes locally, the problem goes away.
Update... the text has change: Now it's using when it should use and I think I know why. So exporting looks find: is turned in to (we do this manually and it's the XML way to say ) but what we get from the translators... they replace with actual new lines That's not what I was expecting. I would expect them to use the encoded characters but they're not. hacky quick fix that fixes likely most of the scenarios: more accurate longer fix: now that I think about it, this is probably the correct workaround for extensions as well
<img alt="image" src=""Looks like it works now
Change:
const isMachineScoped = await this.hasToFlagExtensionsMachineScoped([gallery]); installOptions = { isMachineScoped, isBuiltin: false }; } <del> if (!installOptions.isMachineScoped) { </del> <ins> if (!installOptions.isMachineScoped && this.isExtensionsSyncEnabled()) { </ins> if (this.extensionManagementServerService.localExtensionManagementServer && !servers.includes(this.extensionManagementServerService.localExtensionManagementServer)) { servers.push(this.extensionManagementServerService.localExtensionManagementServer); }

Discussion:
Open a remote window Make sure Settings Sync is not enabled Install any workspace extension (say Python Extension) Also gets installed locally
Change:
centerEditorLayout(active: boolean, skipLayout?: boolean): void { this.stateModel.setRuntimeValue(LayoutStateKeys.EDITOR_CENTERED, active); <del> let smartActive = active; </del> const activeEditor = this.editorService.activeEditor; <del> let isEditorSplit = false; </del> <ins> let isEditorComplex = false; </ins> if (activeEditor instanceof DiffEditorInput) { <del> isEditorSplit = this.configurationService.getValue('diffEditor.renderSideBySide'); } else if (activeEditor instanceof SideBySideEditorInput) { isEditorSplit = true; </del> <ins> isEditorComplex = this.configurationService.getValue('diffEditor.renderSideBySide'); } else if (activeEditor?.hasCapability(EditorInputCapabilities.MultipleEditors)) { isEditorComplex = true; </ins> } const isCenteredLayoutAutoResizing = this.configurationService.getValue('workbench.editor.centeredLayoutAutoResize'); if ( isCenteredLayoutAutoResizing && <del> (this.editorGroupService.groups.length > 1 || isEditorSplit) </del> <ins> (this.editorGroupService.groups.length > 1 || isEditorComplex) </ins> ) { <del> smartActive = false; </del> <ins> active = false; // disable centered layout for complex editors or when there is more than one group </ins> } <del> // Enter Centered Editor Layout if (this.editorGroupService.isLayoutCentered() !== smartActive) { this.editorGroupService.centerLayout(smartActive); </del> <ins> if (this.editorGroupService.isLayoutCentered() !== active) { this.editorGroupService.centerLayout(active); </ins> if (!skipLayout) { this.layout();

Discussion:
Just came across this code that conditionally leaves zen mode when side by side or diff editors are opened: We probably want something similar when a merge editor is opened.
enable centered editor layout open a merge editor verify centered editor layout exits
Verified
Change:
return; } <del> ctrlPressed = e.ctrlKey; altPressed = e.altKey; if (isMac ? altPressed : ctrlPressed) { container.classList.remove('zoom-in'); container.classList.add('zoom-out'); } </del> if (consumeClick) { consumeClick = false; return;

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:
} private updateSystemColorTheme(): void { <del> switch (this.configurationService.getValue<'default' | 'auto' | 'light' | 'dark'>(SYSTEM_COLOR_THEME)) { </del> <ins> switch (this.configurationService.getValue<'default' | 'matchColorTheme' | 'light' | 'dark'>(SYSTEM_COLOR_THEME)) { </ins> case 'dark': nativeTheme.themeSource = 'dark'; break; case 'light': nativeTheme.themeSource = 'light'; break; <del> case 'auto': </del> <ins> case 'matchColorTheme': </ins> switch (this.getBaseTheme()) { case 'vs': nativeTheme.themeSource = 'light'; break; case 'vs-dark': nativeTheme.themeSource = 'dark'; break;

Discussion:
Testing I have set to while my workbench color theme is set to a light theme. My native dialogs are no in dark mode. Other values are working as expected.
I'm not seeing as a setting value for "window.systemColorTheme": "default","
I think that the options in the settings UI still has instead of . ! I think that the contribution needs to be updated.
Sorry, yesterday I changed the option name from to so as not to break existing users. What's new is that is ignored when is enabled
I verified this works in Version: 1.89.0-insider (user setup) Commit: Date: 2024-04-26T00:56:34.034Z
Change:
await that.progressService.withProgress({ location: ProgressLocation.Notification, title: localize('storing edit session', 'Storing edit session...') <del> }, async () => await that.storeEditSession()); </del> <ins> }, async () => await that.storeEditSession(true)); </ins> } })); }

Discussion:
Testing If there are no changes, we should not be able to create a new edit session. In this particular case, I would expect that an information message is being shown, and that the existing edit session is not being overwritten.
Change:
const basename = path.basename(file.path); if (basename === 'package.nls.json') { const json = JSON.parse(buffer.toString('utf8')); <del> const keys = Object.keys(json); const messages = keys.map((key) => { </del> <ins> const keys = []; const messages = []; Object.keys(json).forEach((key) => { </ins> const value = json[key]; if (Is.string(value)) { <del> return value; </del> <ins> keys.push(key); messages.push(value); </ins> } else if (value) { <del> return value.message; </del> <ins> keys.push({ key, comment: value.comment }); messages.push(value.message); </ins> } else { <del> return `Unknown message for key: ${key}`; </del> <ins> keys.push(key); messages.push(`Unknown message for key: ${key}`); </ins> } }); getXlf().addFile(`extensions/${extensionName}/package`, keys, messages);

Discussion:
<!-- 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?: Yes/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: 1.68-insider OS Version: Windows 11 Steps to Reproduce: pseudo language pack explorer view in empty window :bug: the Clone Repository command should not be localized here: ! I think the way we deal with this is with a comment to skip localization like this:
Yes, removing the buttons from the string to be translated is a good way to do this... though to be honest, that in the example you gave isn't needed anymore since (with 3 m's lol) was removed from the string :)
As far as I can tell, this issue should have been fixed with am I missing something or should we just nudge the translation team to fix the translation? Thank you!
This is on me. The comments are being dropped for some reason. I will investigate.
Thank you very much Let me know if I can help in any way.
Change:
if (context.cell.cellKind === CellKind.Markup) { context.cell.updateEditState(CellEditState.Preview, EXECUTE_CELL_INSERT_BELOW); } else { <del> runCell(accessor, context); </del> <ins> runCell(editorGroupsService, context); </ins> } } });

Discussion:
Issue Type: <bBug</bJust updated VSC and I can no longer execute jupyter notebook cells This happens when working both in local and connected to a SSH host, both with python and markdown cells I get the following error: Checked the output every extension and log, there's no errors or no clue as to what is happening. VS Code version: Code - Insiders 1.68.0-insider (, 2022-05-11T05:17:12.474Z) OS version: WindowsNT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 5.4.0-1072-aws <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ jupyter-keymap1.0.0 remote-containers0.235.0 remote-ssh0.80.0 remote-ssh-edit0.80.0 remote-wsl0.66.2 vscode-remote-extensionpack0.21.0 python2022.6.1 vscode-pylance2022.4.3 jupyter2022.5. jupyter-keymap1.0.0 jupyter-renderers1.0.6 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Snapshot of message: ! I would post snapshots of the outputs of extensions and logs, but there is no output whatsoever generating when attempting to run a cell
I experienced the same after todays update to the same version. Using WSL2 Debian remote from Windows 10.
Same here!
Same.
I was able to workaround this issue by using the command "Notebook: Execute Cell".
same
Via the command palette? (Cmd/Ctrl+shift+p)?
Yep, that's how I first found it. You can also invoke the command directly from a cell with ctrl+alt+enter.
Same problem here too, thanks in advance for addressing!
I fixed it by determining the keyboard shortcut again. (ctrl + enter) However, the run icon still does not work. But the shortcut works.

run icon or regular shortcuts (shift+enter, ctrl+enter) did not work form me, only ctrl+alt+enter (which I wasn't even aware of until mentioned it) did anyways, seems to be fixed with PR, thanks for the quick response
How can I activate the PR in Insiders?
fix was already released for the VSC insiders build, update your installation
when I run jupyter notebooki type three words in it,the window can't response occur,then the vscode crushed,what should i dot to slove this problem
Change:
} } <del> public nextCommentThread(): void { this._findNearestCommentThread(); </del> <ins> public nextCommentThread(focusThread: boolean): void { this._findNearestCommentThread(focusThread); </ins> } <del> private _findNearestCommentThread(reverse?: boolean): void { </del> <ins> private _findNearestCommentThread(focusThread: boolean, reverse?: boolean): void { </ins> if (!this._commentWidgets.length || !this.editor?.hasModel()) { return; }

Discussion:
Screen reader users like want to navigate between editor ranges that have comments. I think this makes sense. the recording I will share describes this in more detail.
I just realized that these already exist, and .
I respectfully think that we have miscommunication here. I am requesting a feature going to the next commented area. The commands that you are referring to are moving between commentable range, instead of commented area. The closest commands are alt+F9 () and alt+shift+F9 (). However, these commands directly and automatically opens the comment widget. I just want to jump to the next commented lines and manually open the applied comments manually if I need to review.
Ah, yes makes sense thanks for reminding me!
Change:
this.configurationChanged(); } <del> private getAllModeIds(descriptions: LanguageDescription[]) { const allModeIds: string[] = []; for (const description of descriptions) { allModeIds.push(...description.modeIds); } </del> <ins> private getAllModeIds(descriptions: LanguageDescription[], pluginManager: PluginManager) { const allModeIds = flatten([ ...descriptions.map(x => x.modeIds), ...pluginManager.plugins.map(x => x.languages) ]); </ins> return allModeIds; }

Discussion:
tsserver could provide a list of languages so that when a document other than and is opened, the plugins would be notified. Angular language service relies on this to parse files in Angular templates. There seems to be a regression whereby languages provided by tsserver plugins are no longer synced (does not have buffer sync support). This was brought to light by in For potential fix, please see cc:
Related We only prototyped the support for external languages in TypeScript so this is not really an official API. You'd have to check with the TS team to see if this is still something they are interested in properly supporting as there is other work required beyond this
I merged a pr that fixes this so you can test it and provide feedback, but you must not ship anything to customers that relies on this API. It is not official and may be changed or be removed at any point in the future
Thanks for the update. I'll test it out locally. I'd like to organize a meeting to finalize the design with the Typescript team, so that we can move on with the implementation.
Change:
const inspectData = this.configurationService.inspect(migration.key, { resource }); const targetPairs: [keyof IConfigurationValue<any>, ConfigurationTarget][] = [ <del> ['userValue', ConfigurationTarget.USER], ['userLocalValue', ConfigurationTarget.USER_LOCAL], ['userRemoteValue', ConfigurationTarget.USER_REMOTE], ['workspaceValue', ConfigurationTarget.WORKSPACE], ['workspaceFolderValue', ConfigurationTarget.WORKSPACE_FOLDER], </del> <ins> ['user', ConfigurationTarget.USER], ['userLocal', ConfigurationTarget.USER_LOCAL], ['userRemote', ConfigurationTarget.USER_REMOTE], ['workspace', ConfigurationTarget.WORKSPACE], ['workspaceFolder', ConfigurationTarget.WORKSPACE_FOLDER], </ins> ]; for (const [dataKey, target] of targetPairs) { const migrationValues: [[string, ConfigurationValue], string[]][] = [];

Discussion:
Type: <bBug</bThe auto update of code action setting adds additional settings: ! VS Code version: Code - Insiders 1.85.0-insider (, 2023-11-15T09:43:13.091Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (27)</summaryExtensionVersion ------ tsl-problem-matcher0.6.2 ruff2023.50.0 vscode-eslint2.4.2 gitlens14.5.0 EditorConfig0.16.4 prettier-vscode10.1.0 copilot1.137.552 copilot-chat0.11. remotehub0.62.0 vscode-github-actions0.26.2 vscode-pull-request-github0.77. vscode-docker1.28.0 black-formatter2023.7. python2023.21. vscode-pylance2023.11.12 remote-containers0.321.0 remote-ssh0.107.0 remote-ssh-edit0.86.0 remote-wsl0.81.8 vscode-remote-extensionpack0.24.0 azure-account0.11.6 remote-explorer0.4.1 remote-repositories0.40.0 remote-server1.5.0 rust-analyzer0.4.1734 code-spell-checker3.0.1 vscode-lldb1.10.0 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
cc not sure if this is an issue on my end with the migration from or something from this fix ?
Are there steps to reproduce?
All you need is this in your workspace settings: Add the above setting to your workspace before opening it in VS Code insiders.
So is the following unexpected after migration?
Correct. Expected is this:
I will investigate
Change:
getAnchor: () => this._editorContainer, render: (container) => { return this._render(provider, container); <ins> }, onHide: () => { if (provider.options.type === AccessibleViewType.HelpMenu) { this._accessiblityHelpIsShown.reset(); } </ins> } }; this._contextViewService.showContextView(delegate); <ins> if (provider.options.type === AccessibleViewType.HelpMenu) { this._accessiblityHelpIsShown.set(true); } </ins> } private _render(provider: IAccessibleContentProvider, container: HTMLElement): IDisposable {

Discussion:
Testing ! Shows Ctrl + e , but that is mapped to "Go to file"
your image didn't work
Updated the image.
Verified with Windows.
Verified that this is now working with Linux and Orca
Change:
position: MinimapPosition.Gutter, color: { id: isHandled ? handledConflictMinimapOverViewRulerColor : unhandledConflictMinimapOverViewRulerColor }, }, <del> overviewRuler: { </del> <ins> overviewRuler: modifiedBaseRange.isConflicting ? { </ins> position: OverviewRulerLane.Center, color: { id: isHandled ? handledConflictMinimapOverViewRulerColor : unhandledConflictMinimapOverViewRulerColor }, <del> } </del> <ins> } : undefined </ins> } }); <del> const inputDiffs = modifiedBaseRange.getInputDiffs(this.inputNumber); for (const diff of inputDiffs) { const range = diff.outputRange.toInclusiveRange(); if (range) { result.push({ range, options: { className: `merge-editor-diff ${inputClassName}`, description: 'Merge Editor', isWholeLine: true, } }); } if (diff.rangeMappings) { for (const d of diff.rangeMappings) { </del> <ins> if (modifiedBaseRange.isConflicting) { const inputDiffs = modifiedBaseRange.getInputDiffs(this.inputNumber); for (const diff of inputDiffs) { const range = diff.outputRange.toInclusiveRange(); if (range) { </ins> result.push({ <del> range: d.outputRange, </del> <ins> range, </ins> options: { <del> className: `merge-editor-diff-word ${inputClassName}`, description: 'Merge Editor' </del> <ins> className: `merge-editor-diff ${inputClassName}`, description: 'Merge Editor', isWholeLine: true, </ins> } }); } <ins> if (diff.rangeMappings) { for (const d of diff.rangeMappings) { result.push({ range: d.outputRange, options: { className: `merge-editor-diff-word ${inputClassName}`, description: 'Merge Editor' } }); } } </ins> } } }

Discussion:
Here I am merging from and i am having a hard time figuring out where exactly the conflicts are because there are decorations for each change: !
Now I figured out that there are editor actions to navigate between conflicts, so maybe the fix here would be to make the overview ruler show the conflict areas much stronger.
I've had the same issue -- in my theme I've made the conflicts stand out much more, but I've still had issues seeing/getting to the remaining conflicts (might be a separate issue)
I created to address this. There are no diff highlights and no minimap-decorations for non-conflicting changes anymore: ! Before: !
Change:
}); } <del> private async doReadFile(provider: IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability | IFileSystemProviderWithFileReadCapability, resource: URI, options?: IReadFileOptions, token?: CancellationToken): Promise<IFileContent> { </del> <ins> private async doReadFile(provider: IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability, resource: URI, options?: IReadFileOptions, token?: CancellationToken): Promise<IFileContent> { </ins> const stream = await this.doReadFileStream(provider, resource, { ...options, // optimization: since we know that the caller does not

Discussion:
Refs: I do not understand this condition: How does that make sure a method exists? The only check for this that is valid currently is , the is just a detail of the file system and not a capability.
This looks like an actual typo to me or missing code review, not sure the consequences, as it could lead to errors when wrongly asserting, so maybe moving to August for investigation.
TLDR I misunderstood how the declared capabilities relate to the actual declared methods and the meaning of . For context, this change came in through and the intention of this change was to support the scenario where an has declared but not : since is optional in the interface and the capability requires both and to be implemented: I made this change because when implementing a with but not , this would result in throwing here: I see how it's possible that a which has check does not have a method implemented. Additionally I see that we have other examples of how to handle the requirement of a readonly filesystem which implements both and , e.g.: I am reverting Apologies for the incorrect code change and thank you for pointing this out.