jiebi/CodeConvo huggingface dataset:
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --Version: 1.43.2 (system setup) Commit: Date: 2020-03-24T07:38:38.248Z Electron: 7.1.11 Chrome: 78.0.3904.130 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: in extension's function gives ... '=' character was dropped ! in extension's function gives ... '=' character was not dropped ! <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Hmm ... extension is needed in this case.
As far as I understand, all links in a markdown file are processed with a "normalizer". As part of the normalization, all uri fragments are "slugified": With a default "slugifier", it means, among other things, removing all punctuation: am I correct in thinking that the "slugification" is needed for links to headings in the current document to work ()? If so, a possible fix is to slugify only those uris that do not have authority and path parts.
Yes I don't think the slugifier should be run if the link points to a location that is clearly not a markdown file (such as the path ending in ). It is however helpful to normalize links to other markdown files within your current workspace. As as scoped fix, we could check . If there is a file extension, don't normalize the fragment. Does that sound good? Would you like to submit a PR that does this?
As far as I understand, that may break links to sections of other markdown files that do have an extension (), but I don't see a good fix for that, other than hard-coding all possible markdown file extensions.
Would it be a valid feature request to have an API to guess language id based only on a resource uri?

Discussion:
import { MarkdownContributionProvider as MarkdownContributionProvider } from './markdownExtensions'; import { Slugifier } from './slugify'; import { SkinnyTextDocument } from './tableOfContentsProvider'; <del> import { Schemes, isOfScheme } from './util/links'; </del> <ins> import { MarkdownFileExtensions, Schemes, isOfScheme } from './util/links'; </ins> const UNICODE_NEWLINE_REGEX = /u2028|u2029/g;

} } <del> if (uri.fragment) { </del> <ins> const extname = path.extname(uri.fsPath); if (uri.fragment && (extname === '' || MarkdownFileExtensions.includes(extname))) { </ins> uri = uri.with({ fragment: this.slugifier.fromHeading(uri.fragment).value });

export function isOfScheme(scheme: string, link: string): boolean { return link.toLowerCase().startsWith(scheme); } <ins> export const MarkdownFileExtensions: readonly string[] = [ '.md', '.mkd', '.mdwn', '.mdown', '.markdown', '.markdn', '.mdtxt', '.mdtext', '.workbook', ]; </ins>
Change:
This was spotted by when working. There are no steps to reproduce because this has to do with how a specific part of an extension host message (the semantic tokens dto) aligns on bytes in the underlying nodejs stream. I can reproduce through unit testing. This can lead to semantic tokens becoming stale and not updating.
The fix is now in and also in
There is a unit test for this case and there are no steps to verify =giving label.

Discussion:
reverseEndianness(uint8Arr); } if (uint8Arr.byteOffset % 4 === 0) { <del> return new Uint32Array(uint8Arr.buffer, uint8Arr.byteOffset); </del> <ins> return new Uint32Array(uint8Arr.buffer, uint8Arr.byteOffset, uint8Arr.length / 4); </ins> } else { // unaligned memory access doesn't work on all platforms const data = new Uint8Array(uint8Arr.byteLength); data.set(uint8Arr); <del> return new Uint32Array(data.buffer, data.byteOffset); </del> <ins> return new Uint32Array(data.buffer, data.byteOffset, data.length / 4); </ins> } }

import * as assert from 'assert'; import { IFullSemanticTokensDto, IDeltaSemanticTokensDto, encodeSemanticTokensDto, ISemanticTokensDto, decodeSemanticTokensDto } from 'vs/workbench/api/common/shared/semanticTokensDto'; <ins> import { VSBuffer } from 'vs/base/common/buffer'; </ins> suite('SemanticTokensDto', () => {

}); }); <ins> test('issue #94521: unusual backing array buffer', () => { function wrapAndSliceUint8Arry(buff: Uint8Array, prefixLength: number, suffixLength: number): Uint8Array { const wrapped = new Uint8Array(prefixLength + buff.byteLength + suffixLength); wrapped.set(buff, prefixLength); return wrapped.subarray(prefixLength, prefixLength + buff.byteLength); } function wrapAndSlice(buff: VSBuffer, prefixLength: number, suffixLength: number): VSBuffer { return VSBuffer.wrap(wrapAndSliceUint8Arry(buff.buffer, prefixLength, suffixLength)); } const dto: ISemanticTokensDto = { id: 5, type: 'full', data: new Uint32Array([1, 2, 3, 4, 5]) }; const encoded = encodeSemanticTokensDto(dto); // with misaligned prefix and misaligned suffix assertEqualFull(<IFullSemanticTokensDto>decodeSemanticTokensDto(wrapAndSlice(encoded, 1, 1)), dto); // with misaligned prefix and aligned suffix assertEqualFull(<IFullSemanticTokensDto>decodeSemanticTokensDto(wrapAndSlice(encoded, 1, 4)), dto); // with aligned prefix and misaligned suffix assertEqualFull(<IFullSemanticTokensDto>decodeSemanticTokensDto(wrapAndSlice(encoded, 4, 1)), dto); // with aligned prefix and aligned suffix assertEqualFull(<IFullSemanticTokensDto>decodeSemanticTokensDto(wrapAndSlice(encoded, 4, 4)), dto); }); </ins> });
Change:
was moved from the node-debug2 extension to node-debug in , but only node-debug was published, so the setting shows up twice in our published list of settings. This breaks gating checks for Bing in processing our builds. VS Code stopped getting search results starting Friday. To fix it we just have to publish node2 with the setting removed. Will also add a check for this on our end, and will look into improving this on Bing's side.
The published is correct - still hasn't been indexed by Bing however.

Discussion:
}, { "name": "ms-vscode.node-debug2", <del> "version": "1.42.1", </del> <ins> "version": "1.42.2", </ins> "repo": "https://github.com/Microsoft/vscode-node-debug2", "metadata": { "id": "36d19e17-7569-4841-a001-947eb18602b2",
Change:
In the , there is an issue when the class name for the codeLens span element gets generated on line 70. This hashing operation can on occasions result in a numerical character (0-9) being the first character in the class name. By CSS syntax rules, a CSS identifier is not allowed to start with a numerical value (without using the escaped character code sequence). This results in the codeLens not changing size to match the editor font size and can result in overlapping and mis-sized code lenses. Later on in line 94, we can see the class name get applied to a style sheet A simple fix would be to add an Underscore before the hashed editor id. Something like this: I was running into this issue in the monaco-editor by creating 10+ editors and noticed that after ~8 different editors, the code lens would not render correctly.
Nice find!

Discussion:
})); this._onModelChange(); <del> this._styleClassName = hash(this._editor.getId()).toString(16); </del> <ins> this._styleClassName = '_' + hash(this._editor.getId()).toString(16); </ins> this._styleElement = dom.createStyleSheet( dom.isInShadowDOM(this._editor.getContainerDomNode()) ? this._editor.getContainerDomNode()
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --- VSCode Version: 1.44.0 OS Version: Windows 10 / 1909 Git allows user to set up a custom pager app. See  option in git configuration. And this can ruin VS Code communication with git. Commands such as //etc., which are uses pager, can truncate output or provide invalid output. VS Code just need to pass  arg when calling git. To always receive the raw output. For example here:
Good finding. Did you actually hit this issue in the wild?
yes. Otherwise I probably would not have noticed it.
Which VS Code features exactly do not work?
For example, VS Code uses command to show the diff in the current file. When third party pager is defined and truncates the output, part of the file will be marked as newly . But in reality the file isn't changed of course. Or if you use entirely inproper program as pager, VS Code can show entire file as changed. Or show a total mess. Depends on what you've set up as pager.
Small clarification: usually git can determine that command was run in non-interactive mode (not in the shell). But not always. This may vary in different circumstances and versions. So this is more like to guarantee that git always send us the raw output.
So, should we only add this argument in some commands and not all?
I don't know really. says So if considering this sentence the answer is yes.
You can also use env variable instead that is set to a custom value for the vscode terminal
I like this much more than the current PR, wanna submit a PR?
yeah, seems like such solution will be better.
Not now, maybe in the weekend if nobody takes over. I have nothing checked out or build yet from vscode.
I'm myself unable to build the editor at the moment (I probably need to install more vscode stuff), feel free to test when able
I can't repro the original issue in 1.44. I tried setting to several things that shouldn't produce the right result, and I see it respected when I run git commands in the terminal, but vscode still works ok. Tried , , , don't see an issue. What were you using originally?
Yeah, I just wanted to figure out which circumstances those are. But it works fine for me on both mac and windows so I'll call it verified

Discussion:
options.env = assign({}, process.env, this.env, options.env || {}, { VSCODE_GIT_COMMAND: args[0], LC_ALL: 'en_US.UTF-8', <del> LANG: 'en_US.UTF-8' </del> <ins> LANG: 'en_US.UTF-8', GIT_PAGER: 'cat' </ins> }); if (options.cwd) {
Change:
Issue Type: <bBug</ba file outside of workspace ( ) to reveal it VS Code version: Code 1.44.0 (, 2020-04-07T23:31:18.860Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
Looks like it doesn't work for specific VS Code files. With opened folder in I have no problem to Reveal in Explorer files like , , and . But no luck for User or files
/findDuplicates
Potential duplicates: <!-- score: 0.207 --- <!-- score: 0.193 --- <!-- score: 0.186 --- <!-- score: 0.162 --- <!-- score: 0.159 --<!-- potentialduplicatesreply --
Yes, I think we have this limitation. Here's a code pointer in case you would like to investigate more

Discussion:
export function revealResourcesInOS(resources: URI[], electronService: IElectronService, notificationService: INotificationService, workspaceContextService: IWorkspaceContextService): void { if (resources.length) { sequence(resources.map(r => async () => { <del> if (r.scheme === Schemas.file) { </del> <ins> if (r.scheme === Schemas.file || r.scheme === Schemas.userData) { </ins> electronService.showItemInFolder(r.fsPath); } }));
Change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --I'll have a PR out for this in a sec. Wanted to get an issue tracking it. These and should autoclose. NOTE: PowerShell syntax says that the here string open () should be the last characters on a line so we should include a newline in the close.

Discussion:
["{", "}"], ["[", "]"], ["(", ")"], <ins> { "open": "@'", "close": "n'@", "notIn": ["string", "comment"]}, { "open": "@"", "close": "n"@", "notIn": ["string", "comment"]}, </ins> { "open": """, "close": """, "notIn": ["string"]}, { "open": "'", "close": "'", "notIn": ["string", "comment"]}, ["<#", "#>"]

"end": "^s*#[eE]nd[rR]egionb" } } <del> } </del>  No newline at end of file <ins> } </ins>
Change:
Issue Type: <bBug</bafter the latest update observed tick marks in the menu instead of the "" sign to indicate there is a submenu. is this expected change? i have pinned the menu in the sidebar. ! VS Code version: Code - Insiders 1.45.0-insider (, 2020-04-22T06:26:58.340Z) OS version: WindowsNT x64 10.0. Remote OS version: Linux x64 4.15.0-96-generic <details<summarySystem Info</summary </details<details<summaryExtensions (20)</summaryExtensionVersion ------ remote-containers0.112.0 remote-ssh0.51.0 remote-ssh-edit0.51.0 remote-wsl0.44.2 vscode-remote-extensionpack0.20.0 debugger-for-chrome4.12.6 ng-template0.901.2 vscode-eslint2.1.5 gitlens10.2.1 EditorConfig0.14.5 prettier-vscode4.4.0 node-debug21.42.2 typescript-javascript-grammar0.0.53 vscode-typescript-tslint-plugin1.2.3 vsliveshare1.0.2000 vscode-xml0.11.0 vscode-yaml0.7.2 LiveServer5.6.1 sonarlint-vscode1.15.0 vscodeintellicode1.2.6 </details<!-- generated by issue reporter --
I don't think that this one is intended. /cc May be something with codicons or styles. I noticed that I have sometimes spinning instead of because former overrides styles of loader. Haven't noticed this problem before
related to product icon overrides?
sorry for mention, I was not aware about changes in approach to use Codicons and thought that it might be unintentional font update. Yes, looks like it was part of . PR with fix is available

Discussion:
export const MENU_MNEMONIC_REGEX = /(&([^s&]))|(^|[^&])&([^s&])/; export const MENU_ESCAPED_MNEMONIC_REGEX = /(&amp;)?(&amp;)([^s&])/g; <del> const menuSelectionIcon = registerIcon('menu-selection', Codicon.chevronRight); const menuSubmenuIcon = registerIcon('menu-submenu', Codicon.check); </del> <ins> const menuSelectionIcon = registerIcon('menu-selection', Codicon.check); const menuSubmenuIcon = registerIcon('menu-submenu', Codicon.chevronRight); </ins> export enum Direction { Right,

} } <del> this.check = append(this.item, $('span.menu-item-check.' + menuSelectionIcon.cssSelector)); </del> <ins> this.check = append(this.item, $('span.menu-item-check' + menuSelectionIcon.cssSelector)); </ins> this.check.setAttribute('role', 'none'); this.label = append(this.item, $('span.action-label'));
Change:
Issue Type: <bBug</bThe preference icon in File option is not correct. It should be , not √. ! VS Code version: Code - Insiders 1.45.0-insider (, 2020-04-22T08:44:55.510Z) OS version: Windows_NT x64 10.0. <!-- generated by issue reporter --
Actually duplicate of

Discussion:
export const MENU_MNEMONIC_REGEX = /(&([^s&]))|(^|[^&])&([^s&])/; export const MENU_ESCAPED_MNEMONIC_REGEX = /(&amp;)?(&amp;)([^s&])/g; <del> const menuSelectionIcon = registerIcon('menu-selection', Codicon.chevronRight); const menuSubmenuIcon = registerIcon('menu-submenu', Codicon.check); </del> <ins> const menuSelectionIcon = registerIcon('menu-selection', Codicon.check); const menuSubmenuIcon = registerIcon('menu-submenu', Codicon.chevronRight); </ins> export enum Direction { Right,

} } <del> this.check = append(this.item, $('span.menu-item-check.' + menuSelectionIcon.cssSelector)); </del> <ins> this.check = append(this.item, $('span.menu-item-check' + menuSelectionIcon.cssSelector)); </ins> this.check.setAttribute('role', 'none'); this.label = append(this.item, $('span.action-label'));
Change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --When doing a 'remove breakpoint' from the 'Breakpoints' pane, interactively, or via cmd-backspace/debug.removeBreakpoint, the list UI selection is emptied, or left at the top. PLEASE PLEASE select the item right after the breakpoint that was just deleted so it's reasonably easy to delete a series of breakpoints but not all of them. Extra credit: It would be great if I could multi select that list and just do a 'remove breakpoint' command to apply all at once.
This is a fair request. We accept PRs that fix this. Code pointer In case nobody tackles this in the near future I can also look into this. Thanks!
, I created PR . With this change, the cursor should now move to the next breakpoint after removing the focused breakpoint. About multi-select, right now the focused breakpoint is removed, the one you see when you press up/down arrow keys, not the selected, the one you click on. Therefore, if something like this were implemented, "Remove Breakpoint" should remove selected breakpoints. But what would happen with the focused breakpoint?
To verify: Have multiple breakpoints in the breakpoint view Remove a breakpoint via keboard (delete button) Make sure the focus is now on the neighbor breakpoint and you can remove it also via keyboard.

Discussion:
if (this.isBodyVisible()) { this.updateSize(); if (this.list) { <ins> const lastFocusIndex = this.list.getFocus()[0]; // Check whether focused element was removed const needsRefocus = lastFocusIndex && !this.elements.includes(this.list.element(lastFocusIndex)); </ins> this.list.splice(0, this.list.length, this.elements); this.needsRefresh = false; <ins> if (needsRefocus) { this.list.focusNth(Math.min(lastFocusIndex, this.list.length - 1)); } </ins> } } else { this.needsRefresh = true;
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Also please test using the latest insiders build to make sure your issue has not already been fixed: --<!-- Use Help Report Issue to prefill these. --<bCurrent Installed VS Code Details</b<bSteps to Reproduce</bVS code a Folder having nested folders in it the Powershell terminal Type "cd" and drag a folder to change the current directory see the cursor is not in the PowerShell window and if you hit enter command would not execute <bExpected Behavior</bAfter dragging a folder to PowerShell terminal cursor should be in the PowerShell terminal <!-- Launch with to check. --<bOther Configuration</bDoes this issue occur when all extensions are disabled?: <bYes</b<bScreenshot </b! <bSubmitted By :
Can I take this?
sounds good, thanks
Thanks, everyone!!

Discussion:
if (terminal) { const preparedPath = await this._terminalService.preparePathForTerminalAsync(path, terminal.shellLaunchConfig.executable, terminal.title, terminal.shellType); terminal.sendText(preparedPath, false); <ins> terminal.focus(); </ins> } } }));
Change:
I see that settings sync is suspended because of invalid token and token is not getting refreshed / updated. Sync LogMicrosoft Account Log Did not work even after Reloading the window / opening new window. Restarting VS Code worked. any insights? Is there a cache on the extension?
From the account log, the token gets refreshed before it expires. This should trigger an event which causes the new token to get set, but it seems like something about this is failing, since we then get into a loop of getting a 401 and trying to resolve the access token.
Every time we see a failure, we unset the token and send token failed request and we update the token by getting it from the account sessions. Looks like we are getting an invalid token from the account sessions. Can you please check if that can happen?
Found the issue! The token was not being set in the shared process
Easier steps to verify: in with an account to preferences sync out of the same account in to the account again Preferences sync should restart without any error.

Discussion:
} async setToken(token: IUserDataSyncAuthToken | undefined): Promise<void> { <del> if (token && this._token ? token.token !== this._token.token && token.authenticationProviderId !== this._token.authenticationProviderId : token !== this._token) { </del> <ins> if (token && this._token ? token.token !== this._token.token || token.authenticationProviderId !== this._token.authenticationProviderId : token !== this._token) { </ins> this._token = token; this._onDidChangeToken.fire(token); }
Change:
From Get a modal dialog in the web Notice how you can nicely focus any of the buttons, however the content of the dialog message is never read out, thus the dialog is not accessible. How this should work: Dialog should have an aria label and have focus It shuld use active descendent to let the screen reader know that focus is passed to one of the buttons
I am using the button widgets, are notifications not accessible either or are they doing something special?
Can you clarify what you mean exactly? Notifications announce themselves as ARIA alert when they open:
I misread the initial issue, I thought the bug was that the buttons were not read, not the actual message.
Thanks for fixing, let's add a bug label so we get this verified.

Discussion:
this.modal = this.container.appendChild($(`.monaco-dialog-modal-block${options.type === 'pending' ? '.dimmed' : ''}`)); this.shadowElement = this.modal.appendChild($('.dialog-shadow')); this.element = this.shadowElement.appendChild($('.monaco-dialog-box')); <ins> this.element.setAttribute('role', 'dialog'); </ins> hide(this.element); // If no button is provided, default to OK

this.toolbarContainer = toolbarRowElement.appendChild($('.dialog-toolbar')); } <ins> private getAriaLabel(): string { let typeLabel = nls.localize('dialogInfoMessage', 'Info'); switch (this.options.type) { case 'error': nls.localize('dialogErrorMessage', 'Error'); break; case 'warning': nls.localize('dialogWarningMessage', 'Warning'); break; case 'pending': nls.localize('dialogPendingMessage', 'In Progress'); break; case 'none': case 'info': case 'question': default: break; } return `${typeLabel}: ${this.message} ${this.options.detail || ''}`; } </ins> updateMessage(message: string): void { if (this.messageDetailElement) { this.messageDetailElement.innerText = message;

this.applyStyles(); <del> this.element.setAttribute('aria-label', this.message); </del> <ins> this.element.setAttribute('aria-label', this.getAriaLabel()); </ins> show(this.element); // Focus first element
Change:
Issue Type: <bBug</bIf I try to open an image with a name such as 'test-' it says 'An error occurred while loading the image'. In the developer console, the following error is shown: VS Code version: Code 1.44.2 (, 2020-04-16T17:07:18.473Z) OS version: Darwin x64 19.4.0 <details<summarySystem Info</summary </detailsExtensions: none <!-- generated by issue reporter --
Looks like the problem is on the , line 22 We got , which is a string looks like it is correct. Next, when we do it becomes an object and the paths are not correct here. Going down into the () i found that the string is being processed inside the by the This piece of code takes the string, and tries to decode any part started from %, thats why %41 becomes A
I don't think the decoding process is faulty, but the encoding part. Every browser will interpret as . ! So the url should escape in the first place. !
You're right. The percent ("%") character is missed in the encodeTable, and in the encodeURIComponentMinimal() 562 line.

Discussion:
private async render() { if (this._previewState !== PreviewState.Disposed) { <del> this.webviewEditor.webview.html = await this.getWebiewContents(); </del> <ins> this.webviewEditor.webview.html = await this.getWebviewContents(); </ins> } }

} } <del> private async getWebiewContents(): Promise<string> { </del> <ins> private async getWebviewContents(): Promise<string> { </ins> const version = Date.now().toString(); const settings = { isMac: process.platform === 'darwin',

// Avoid adding cache busting if there is already a query string if (resource.query) { <del> return webviewEditor.webview.asWebviewUri(resource).toString(true); </del> <ins> return webviewEditor.webview.asWebviewUri(resource).toString(); </ins> } <del> return webviewEditor.webview.asWebviewUri(resource).with({ query: `version=${version}` }).toString(true); </del> <ins> return webviewEditor.webview.asWebviewUri(resource).with({ query: `version=${version}` }).toString(); </ins> } private extensionResource(path: string) {