jiebi/CodeConvo huggingface dataset:
Change:
VS Code Version: 1.62.3 OS Version: Linux See Attached a Breakpad minidump here. The important point being here is that our extension has no native code. I don't think plain JavaScript code should be able to make Code crash with or trigger a stack buffer overflow.
for attaching a crash dump right away.
For the segmentation fault here is the symbolicated trace, <details<summaryTrace:</summary</details
The crash thread stacks are correctly symbolicated, but cannot say the same for main thread. Basically, when module tries to call the thread safe function it segfaults when acquiring the lock at I see threads 9, 10 and 11 triggering a fatal error on the node process and waiting on this lock , not sure if this lead to freeing the thread safe function. do you see any logs in the crashed process that starts with basically , this might give some clue as to what is happening.
From the , the fact that we see: Could this indicate that this crash happens in the shutdown phase? One problem that we have in is that the shutdown path is not clean. See where is set to . I think that is set to as part of shutdown and then after that an X event is received which then leads to running with being . I think we should simply add a null check before calling and exit the loop if that happens because it means that nodejs is shutting down. What do you think?
yup we should do that, I was hoping we hit this if the thread safe function was null, that would happen before the function executed. But looking at the macro definitions, looks like node will end up using ;l=35 that eventually will trigger the block I mentioned previously. I think the stack makes sense now based on this assessment.
Thanks for the fix, but the failure in happened on Windows, while looks like X11-specific code. Well, I guess there's more than one issue.
Can you attach crash log from the windows run as a separate issue, I think we can leave this one for verifying the from linux. Thanks!
It might be harder to pull the logs from GHA, but I'll think about it.
Given our green CI history, marking as verified.

Discussion:
"keytar": "7.2.0", "minimist": "^1.2.5", "native-is-elevated": "0.4.3", <del> "native-keymap": "3.0.2", </del> <ins> "native-keymap": "3.0.3", </ins> "native-watchdog": "1.3.0", "node-pty": "0.11.0-beta11", "spdlog": "^0.13.0",

resolved "https://registry.yarnpkg.com/native-is-elevated/-/native-is-elevated-0.4.3.tgz#f1071c4a821acc71d43f36ff8051d3816d832e1c" integrity sha512-bHS3sCoh+raqFGIxmL/plER3eBQ+IEBy4RH/4uahhToZneTvqNKQrL0PgOTtnpL55XjBd3dy0pNtZMkCk0J48g== <del> native-keymap@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/native-keymap/-/native-keymap-3.0.2.tgz#eb299a9f1a252be552ee2345ba8a39ff4b2c304a" integrity sha512-1qH2saFkYzwT+c2a1xaawrfgkiT1OJ6H8xZWx9zmhhOkuJto/HaNLSINxCYhSjc7zO0zOydMkoCXehGh3TAWcg== </del> <ins> native-keymap@3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/native-keymap/-/native-keymap-3.0.3.tgz#7f846f2136ea31785ac06cd917c84abac1c88bfb" integrity sha512-XBKD3jpRI4GsrVIe5TB1PAk2ZLEJY/HcH4N9ZssnzP3+HD5V+ABqXs37VLQtiUF/EsmQ1xEeWquPyWFFpeeIpg== </ins> native-watchdog@1.3.0: version "1.3.0"
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?: N/A <!-- 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: main @ OS Version: Windows 10 Home 21H1 .1348 Windows Feature Experience Pack 120.2212.3920.0 Steps to Reproduce: 't have Visual Studio 2019 installed anywhere prerequisites including but don't install native c++ build tools Visual Studio Build Tools 2022 separately to run Result: Receive error from : Invalid C/C++ Compiler Toolchain. Please check This is because Visual Studio Build Tools 2022 installs to , but does not consider 2022 to be a supported version, only 2019 and 2017. I would prefer to save disk space and avoid installing Visual Studio Build Tools 2019 when I already have 2022 installed.
Forwarding it to in case he'd like to update our docs to include 2022 as well. Otherwise, we close it.
I haven't tested with 2022 yet, is rest of the yarn step successful after bypassing the preinstall step ?
Adding to the array works with node-gyp version v8.4.0 or later. When I made this issue, I was on v8.3.9, where it didn't work. Upgrading node-gyp to v8.4.1 fixed install, and works without issue on VS2022. So, yes.
Thanks for testing, given that this requires node-gyp which also brings in , it won't build the native modules on the main branch correctly due to older electron version. We can add to the list once lands.
branch is now updated to Electron 16, do you want to send a PR to add to the supported list ? Thanks!

Discussion:
const path = require('path'); // Translated over from // https://source.chromium.org/chromium/chromium/src/+/master:build/vs_toolchain.py;l=140-175 <del> const supportedVersions = ['2019', '2017']; </del> <ins> const supportedVersions = ['2022', '2019', '2017']; </ins> const availableVersions = []; for (const version of supportedVersions) {
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?: Yes <!-- 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: Version: 1.64.0-insider (Universal) Commit: Date: 2021-12-10T05:13:44.798Z (11 hrs ago) Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 or Version: 1.63.0 (Universal) Commit: Date: 2021-12-07T05:15:48.091Z Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 OS Version: macOS Big Sur 11.6.1 Remote OS Version: Ubuntu 20.04.3 Steps to Reproduce: to remote machine. terminal in editor area. Open another editor in editor area. Switch between terminals. I've seen this problem happening on a local window. I think it starts happening in local windows as soon as you open one remote. Not sure if its related, but I am using fish shell on both local and remote machines. Attaching reproduction gif. !
likely a /duplicate
Just saw this happen - occurs after dragging and dropping them in the editor area/rearranging
I'm not sure whether I'm repro'ing the original issue correctly. What are some confirmation/verification steps for this issue?
Just following the op's steps were enough. They were really broken.
try on a remote machine: terminal in editor area command a command terminal in editor area command between them Also: in terminal panel to editor area a command in terminal panel to editor area between them

Discussion:
this._container = undefined; } attachToElement(container: HTMLElement): Promise<void> | void { // The container did not change, do nothing if (this._container === container) {

this._attachBarrier.open(); <del> this.xterm?.attachToElement(container); </del> // Attach has not occurred yet if (!this._wrapperElement) { return this._attachToElement(container); } <ins> this.xterm?.attachToElement(this._wrapperElement); </ins> // The container changed, reattach this._container = container;
Change:
Logging errors from the file service I notice that the terminal seems to stat the terminal prompt multiple times: ! Notice the at the end of the file path.
When you hover a line in the terminal links are resolved, one of the link providers gets confirmation on whether it's a file or directory and gives a high confidence link (underline shows when you hover without cmd) and on macOS we treat as a valid path character. This is how it's always worked. but we could cache this stat result with a TTL (10s?) so it doesn't spam so many stat calls and will be able to return the link faster on successive hovers.

Discussion:
} } return cb(undefined); <del> }); </del> <ins> }, false); </ins> this._standardLinkProviders.push(validatedProvider); }

// Each line and column clause have 6 groups (ie no. of expressions in round brackets) export const lineAndColumnClauseGroupCount = 6; <del> const MAX_LENGTH = 2000; </del> <ins> const InvalidLinkResult = 'Invalid Link Result'; const MAX_LENGTH = 2000; let map = new Map<string, TerminalLink | string>(); </ins> export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider { constructor( private readonly _xterm: Terminal,

private readonly _wrapLinkHandler: (handler: (event: MouseEvent | undefined, link: string) => void) => XtermLinkMatcherHandler, private readonly _tooltipCallback: (link: TerminalLink, viewportRange: IViewportRange, modifierDownCallback?: () => void, modifierUpCallback?: () => void) => void, private readonly _validationCallback: (link: string[], callback: (result: { uri: URI, link: string, isDirectory: boolean } | undefined) => void) => void, <ins> private readonly _testing: boolean, </ins> @IInstantiationService private readonly _instantiationService: IInstantiationService, @ICommandService private readonly _commandService: ICommandService, @IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,

@IUriIdentityService private readonly _uriIdentityService: IUriIdentityService ) { super(); <ins> if (!this._testing) { setInterval(function () { map.clear(); }, 10000); } </ins> } protected async _provideLinks(y: number): Promise<TerminalLink[]> {

// this._logService.debug('match found without corresponding matchIndex', match, matcher); break; } <ins> const originalLink = link; const cachedLinkResult = map.get(originalLink); if (cachedLinkResult && !this._testing) { if (typeof cachedLinkResult !== 'string') { result.push(cachedLinkResult); } break; } </ins> // Get index, match.index is for the outer match which includes negated chars // therefore we cannot use match.index directly, instead we search the position

}); }); if (validatedLink) { <ins> map.set(originalLink, validatedLink); </ins> result.push(validatedLink); <ins> } else { map.set(originalLink, InvalidLinkResult); </ins> } }

() => { }, (linkCandidates: string, cb: (result: { uri: URI, link: string, isDirectory: boolean } | undefined) => void) => { cb({ uri: URI.file('/'), link: linkCandidates[0], isDirectory: false }); <del> } </del> <ins> }, true </ins> ); // Write the text and wait for the parser to finish
Change:
<img width="146" alt="CleanShot 2021-12-15 at 07 37 24 src="https://user-"<img width="146" src="https://user-"I think we originally talked about the split action having two hovers, like in the terminal, but not sure why that changed for the run button.
it's using the same widget afaik, the "shared hover" was meant to help indicate that they're linked.
No, they are not using the same widget because the run button's behavior was too different.

Discussion:
background-size: 16px; } <ins> .monaco-dropdown-with-default:hover { background-color: var(--vscode-toolbar-hoverBackground); } </ins> .monaco-dropdown-with-default > .dropdown-action-container > .monaco-dropdown > .dropdown-label .codicon[class*='codicon-'] { font-size: 12px; padding-left: 0px;
Change:
Parent issue Main target is Windows but ideally it would just work on all platforms (might need some tweaking on how the process is launched).
We could cache and and use the latest one whenever is , this would let us get the actual latest exit code or exception.
Done, moved the improved exit code/exception checking to

Discussion:
'out-build/vs/workbench/browser/media/*-theme.css', 'out-build/vs/workbench/contrib/debug/**/*.json', 'out-build/vs/workbench/contrib/externalTerminal/**/*.scpt', <ins> 'out-build/vs/workbench/contrib/terminal/browser/media/*.ps1', 'out-build/vs/workbench/contrib/terminal/browser/media/*.sh', </ins> 'out-build/vs/workbench/contrib/webview/browser/pre/*.js', 'out-build/vs/**/markdown.css', 'out-build/vs/workbench/contrib/tasks/**/*.json',

<ins> # --------------------------------------------------------------------------------------------- #   Copyright (c) Microsoft Corporation. All rights reserved. #   Licensed under the MIT License. See License.txt in the project root for license information. # --------------------------------------------------------------------------------------------- $Global:__VSCodeOriginalPrompt = (Get-Command Prompt).ScriptBlock function Global:__VSCode-Get-LastExitCode { if ($? -eq $True) { return "0" } # TODO: Should we just return a string instead? return "-1" } function Global:Prompt() { return "`e]133;D;$(__VSCode-Get-LastExitCode)`u{7}`e]133;A`u{7}`e]1337;CurrentDir=$(Get-Location)`u{7}$(Invoke-Command -ScriptBlock $Global:__VSCodeOriginalPrompt)`e]133;B`u{7}" } # TODO: Gracefully fallback when PSReadLine is not loaded function Global:PSConsoleHostReadLine { [Microsoft.PowerShell.PSConsoleReadLine]::ReadLine($Host.Runspace, $ExecutionContext) # Write command executed sequence directly to Console to avoid the new line from Write-Host [Console]::Write("`e]133;C`u{7}") } Write-Output "`e]133;E`u{7}" </ins>
Change:
Issue Type: <bBug</bExample markdown: Click to the link navigates to the proper heading in the editor in all 3 cases. But in the rendered preview window only works. Reproduces since 1.62.0, was OK in 1.61.2. VS Code version: Code - Insiders 1.64.0-insider (, 2021-12-22T05:15:28.225Z) OS version: Windows_NT x64 10.0. Restricted Mode: No Extensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
gets . () gets . () Here, only can find the element successfully. However, the webview fails. : : Thus, The method uses ordinal comparison. Thus, The example in by is indeed invalid HTML. How an invalid attribute is handled . Thus, The webview neither before nor after the commit reflected the standard correctly. A possible solution is: Note that the code above omits elements, because I think it's not worth handling them.

Discussion:
if (node.getAttribute('href') === '#') { event.view.scrollTo(0, 0); } else if (node.hash && (node.getAttribute('href') === node.hash || (baseElement && node.href === baseElement.href + node.hash))) { <del> const fragment = node.hash.substr(1, node.hash.length - 1); const scrollTarget = event.view.document.getElementById(decodeURIComponent(fragment)); </del> <ins> const fragment = node.hash.slice(1); const scrollTarget = event.view.document.getElementById(fragment) ?? event.view.document.getElementById(decodeURIComponent(fragment)); </ins> scrollTarget?.scrollIntoView(); } else { hostMessaging.postMessage('did-click-link', node.href.baseVal || node.href);
Change:
VS Code Version: code-oss-dev(1.64.0) OS Version: win10 Steps to Reproduce: vscode web file "w", and click readmore icon at warn suggest label, but show webkitURL details in right panel !

Discussion:
/** Ellipsis on hover **/ <del> .monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label { </del> <ins> .monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label { </ins> width: calc(100% - 26px); }

display: inline-block; } <del> .monaco-editor .suggest-widget .monaco-list .monaco-list-row:hover>.contents>.main>.right>.readMore { </del> <ins> .monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore { </ins> visibility: visible; }
Change:
VSCode freeze on mouse wheel scrolling with lot of tests: open test explorer, ! right-click on the test button scroll tests with mouse wheel at least twice VS Code version: Code - Insiders 1.64.0-insider (, 2021-12-22T05:15:27.690Z) OS version: Linux x64 5.4.0-92-generic Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (20)</summaryExtensionVersion ------ vscode-eslint2.2.2 gitlens-insiders2021.12.2804 EditorConfig0.16.4 prettier-vscode9.0.0 themeswitch1.0.5 rpm-spec0.3.2 vscode-docker1.18.0 python2022.0.-dev vscode-pylance2021.12.3-pre.1 jupyter2022.1. jupyter-keymap1.0.0 jupyter-renderers1.0.4 remote-containers0.209.6 remote-ssh0.70.0 remote-ssh-edit0.70.0 code-stats-vscode1.0.18 code-spell-checker2.0.14 code-spell-checker-russian2.0.2 cron-explained1.3.1 material-theme3.13.8 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Looks like doesn't help.
Thanks (again) for the issue!

Discussion:
})); this._register(this.parentData.parent.onScroll(() => { <del> this.parentData.parent.focus(false); this.cleanupExistingSubmenu(false); </del> <ins> if (this.parentData.submenu === this.mysubmenu) { this.parentData.parent.focus(false); this.cleanupExistingSubmenu(true); } </ins> })); }
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. --Curently there's no undo/redo stop at end of snippet (when the snippet reaches its last placeholder). In my opinion, having an undo/redo stop at end of snippet is better. See the following comparison. Current: ! Expected: !
This is already handled on a per-case basis: Please add the exact steps in which you expect undo stop, no GIF please
if I understand correctly, the line that you linked inserts a stop just after inserting a snippet. I am talking about adding a stop when the snippet reaches its end / last placeholder. More precisely speaking, here:
Understood. Thanks for helping me. Sounds reasonable tho needs a little thinking if this affects some use-case.

Discussion:
} if (this._session.isAtLastPlaceholder || !this._session.isSelectionWithinPlaceholders()) { <ins> this._editor.getModel().pushStackElement(); </ins> return this.cancel(); }
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: 1.63.2 This issue addresses an issue, where the error message of the function of the github-authentication extension is not properly displayed to end users, but instead only the HTTP status is been displayed. This is not really a bug, but would have been really helpful to be in place, when I ran into this issue. Steps to Reproduce: a lot of requests from your GitHub account until the account is rate limited. to do any GitHub API related action in VSCode, for example running Github Copilot. the following Error displayed: the same error in the output of the github-authentication extension: Since this error message is not really helpful, the full message returned from the API would be good.

Discussion:
logger.info('Got account info!'); return { id: json.id, accountName: json.login }; } else { <del> logger.error(`Getting account info failed: ${result.statusText}`); throw new Error(result.statusText); </del> <ins> // either display the response message or the http status text let errorMessage = result.statusText; try { const json = await result.json(); if (json.message) { errorMessage = json.message; } } catch (err) { // noop } logger.error(`Getting account info failed: ${errorMessage}`); throw new Error(errorMessage); </ins> } }
Change:
Issue Type: <bBug</ba shortcut like not in ZenMode the shortcut "alt+e alt+w" ZenMode would be turned on i.e. behaves just like ... Does this issue occur when all extensions are disabled?: Yes VS Code version: Code 1.63.2 (, 2021-12-15T09:40:02.816Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (17)</summaryExtensionVersion ------ dendron0.76.0 dendron-paste-image1.1.0 githistory0.6.19 todo-tree0.0.214 vscode-wordcount-cjk1.3.1 vscode-settings-cycler1.0.1 path-autocomplete1.18.0 python2021.12. wordcount0.1.0 markdown-checkbox1.7.2 vscode-yaml1.2.2 multi-command1.5.1 cjk-word-handler0.1.1 pdf1.2.0 markdown-all-in-one3.4.0 material-theme3.13.10 writing-extension-pack-for-binly0.0.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --usage scenario: Since the config setting (after toggled) would not be effective until re-enter the ZenMode (if already in ZenMode), and I only need for few scenario, the command would help for command macros. workaround: define multiple shortcuts depending on the when clause "inZenMode" and "!inZenMode", which may be very troublesome when combined with another when clauses ... (especially without paranthesis...
Hello! Can I take a look at this issue? Thanks!
sure! let me know if you need a pointer. Searching the codebase for 'exitZenMode' should get you started.
Thanks! Searching for did the trick. Fix for the issue above, although no worries if it's in your backlog. In the interim, you could use for keyboard shortcuts, although I understand the issue is mostly for automation and scripts.
, Can I please have a look at this if this has not been fixed yet? , hope it's fine with you, please let me know.

Discussion:
weight: KeybindingWeight.EditorContrib - 1000, handler(accessor: ServicesAccessor) { const layoutService = accessor.get(IWorkbenchLayoutService); <del> layoutService.toggleZenMode(); </del> <ins> const contextKeyService = accessor.get(IContextKeyService); if (InEditorZenModeContext.getValue(contextKeyService)) { layoutService.toggleZenMode(); } </ins> }, when: InEditorZenModeContext, primary: KeyChord(KeyCode.Escape, KeyCode.Escape)