jiebi/CodeConvo huggingface dataset:
Change:
} private async _doStopExtensionHostsWithVeto(reason: string, auto: boolean = false): Promise<boolean> { <ins> if (auto && this._environmentService.isExtensionDevelopment) { return false; } </ins> const vetos: (boolean | Promise<boolean>)[] = []; const vetoReasons = new Set<string>();

Discussion:
Type: <bBug</bTo reproduce: using Insiders with vscode-extension-samples helloworld-sample install to change publisher to something other than "vscode-samples" (e.g. "foobar") so the next step is possible. package the VSIX a breakpoint in activate method of the extension. Command Palette in EH window to run command. that the breakpoint is hit and execution pauses indefinitely until you resume it. debug. Extensions view find the extension whose VSIX you installed earlier. this extension. debugging again and run the command in the EH window. that the breakpoint is hit but almost immediately debugging ceases because has erroneously restarted the EH. VS Code version: Code - Insiders 1.93.0-insider (, 2024-08-15T05:03:41.839Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
Can we avoid autorestarting while in debug mode
We do not auto restart if there is an active debug session Is this not enough to check for an active debug session?
Yes, that is enough, but that is run in the window doing the debugging, not the window being debugged, which is where it sounds like this bug happen. I suggest not auto restarting if is true. Also, that's impressive bug hunting, John
Change:
* Controls the visibility of the status bar at the bottom of the suggest widget. */ visible?: boolean; <del> } </del> <ins> }; </ins> } export type InternalSuggestOptions = Readonly<Required<ISuggestOptions>>;

Discussion:
Currently only accepts values from which is convenient to pick from dropdown, however causes problems with fonts when there is noticeable difference between e.g. , , and because is not valid value. Recently was released which provide nicer look for value but marked as invalid. I propose to allow numeric values in addition to current enum values (for backward compatibility) accordind to Draft PR: If this request will be approved - I'll add same support to and options. Only drawback that I see at this point - it's no longer possible to pick value from dropdown in Settings editor, however text values are still suggested in JSON. UPD. As alternative it would be nice to have at least values at the end of the list of values
any chance to get feedback on this issue? Looks like I'm not the only one with similar request -
I will try to set some time aside in August. I didn't look at it because the PR is marked as a draft. I thought that a "draft PR" represents work-in-progress and is not ready for review.
it was marked as draft for 2 reasons: 1) There was no approve on this issue yet, if proposed solution will be considered and mentioned cons aren't blocker for this feature. 2) If approved - I was going to do same for terminal . Since it's not rejected at this point I can finish changes for terminal and move PR out of draft status. UPD. Implementation for is ready at this point.
It seems to accept 350 (as number) or any other number but I think it is very bogous that "300" (as string) is accepted but not "350". There is also no hit in the hover info that a string-enum and any number is OK.
Previously allowed string values etc. are left as is so users won't have problems with their existing settings (ideally there would be great to have something as migration scripts and replace it with as number and don't allow ). (as string) was never allowed before (worked but was a warning) therefore I don't see it as problem. I can check if it's or and treat it as number otherwise if necessary, however not sure how pattern validation will work in this case. Agree with hint.

I guess that text like should do the trick
OK, I guess combination of , , and + + will provide good experience - suggests values from existing enum, allows , and has adequate error message for strings like and . Will submit PR later today. Any suggestions on how to improve are welcome.
I like that. Thanks
Change:
// Run the store action to get back a ref let ref: string | undefined; if (shouldStoreEditSession) { <del> ref = await that.progressService.withProgress({ location: ProgressLocation.Notification, type: 'syncing', title: localize('store your edit session', 'Storing your edit session...') }, async () => that.storeEditSession(false)); </del> <ins> ref = await that.storeEditSession(false); </ins> } let uri = workspaceUri ?? await that.pickContinueEditSessionDestination();

Discussion:
Testing I wonder if we should run the command to save all files (not untitled files) before triggering the "Continue on" fully? I think ensuring that dirty files are saved but also that the data was synced up before opening the workspace elsewhere would be best?
I am not presented with any options after running the command - perhaps we shouldn't show that in the command palette unless there are some or add an action that helps me get some options? !
Should we say here? !
Change:
"vscode-proxy-agent": "^0.5.1", "vscode-ripgrep": "^1.5.7", "vscode-textmate": "^4.3.0", <del> "xterm": "4.2.0", </del> <ins> "xterm": "4.2.0-vscode1", </ins> "xterm-addon-search": "0.3.0", "xterm-addon-web-links": "0.2.1", "yauzl": "^2.9.2",

Discussion:
This increases the amount of work done when typing commands to be significantly more. Upstream:
Can't really verify this issue without debugging into the code, inside (formatted) you will see an function, the args are start/end. Add a breakpoint to that function and verify the args are a range for a single like (eg. 15, 15) after typing a single character into the terminal. Here is the failing case where the terminal is re-rendering lines 0-15: ! Use the canvas renderer to verify.
A better way to verify: to DOM renderer paint flashing: ! you type into the prompt only a single line will flash
Verified in latest (). Can this issue be closed?
Change:
['image/svg+xml', { supportedByCore: true }], ['application/json', { alwaysSecure: true, supportedByCore: true }], [Mimes.latex, { alwaysSecure: true, supportedByCore: true }], <del> [Mimes.markdown, { alwaysSecure: true, supportedByCore: true }], </del> [Mimes.text, { alwaysSecure: true, supportedByCore: true }], ['text/html', { supportedByCore: true }], ['text/x-javascript', { alwaysSecure: true, supportedByCore: true }], // secure because rendered as text, not executed

Discussion:
VS Code version: 1.63.0-insider Jupyter Extension version : v2021.10. Python Extension version : v2021.12.-dev OS : Windows 11 Python and/or Anaconda version: 3.9.7 Type of virtual environment used : N/A Jupyter server running: Local Render correctly the Markdown text using the default renderer: ! This is the correct rendering for this: ! a new Jupyter notebook a new cell code with the following Python: Ctrl-Enter to render cell Via "Choose Output Minetype", selecting the "non default" renderer (i.e. the one with "(vscode.markown-language-feature") for Markdown: ! Gives the expected result: ! Also, I could not find a setting allowing me to make the functioning "Output Mimetype" the default... Thanks!
The actual repro attached.
this might be another example of the wrong renderer being chosen.
I get the correct default renderer first time now. text/plain is the only other output option. !
Change:
import { IRequestContext, IRequestOptions } from 'vs/base/parts/request/common/request'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { INativeEnvironmentService } from 'vs/platform/environment/common/environment'; <del> import { getResolvedShellEnv } from 'vs/platform/terminal/node/shellEnv'; </del> <ins> import { getResolvedShellEnv } from 'vs/platform/shell/node/shellEnv'; </ins> import { ILogService } from 'vs/platform/log/common/log'; import { IHTTPConfiguration, IRequestService } from 'vs/platform/request/common/request'; import { Agent, getProxyAgent } from 'vs/platform/request/node/proxy';

Discussion:
Moved in I know there's nothing enforcing this, but the terminal folder should rarely be depended upon outside of debug/tasks. Having in platform/terminal means that platform/request depends on the terminal which creates a weird relationship: platform/request -platform/terminal contrib/terminal -platform/request Terminal only exists in platform so that it can be used in the pty host, I'd prefer to keep it similar to a workbench contrib where nothing else in platform depends on it. If no other folder makes sense I propose creating a as it's a similar theme to what's going on in The original seemed fine but I don't understand the tangle.
Change:
} .monaco-workbench .part.panel > .composite.title > .composite-bar-excess { <del> width: 100%; </del> <ins> width: 100px; </ins> } .monaco-workbench .part.panel > .title > .panel-switcher-container > .monaco-action-bar {

Discussion:
Stable above, insiders below: !
Doesn't seem to happen on macOS and the regression happened in the last couple of days. have panel/view-related changes happened that could have caused this?
Affects tasks/custom terminals pretty badly: <img width="146" alt="Screen Shot 2020-02-28 at 6 42 45 AM" src="https://user-"<img width="226" alt="Screen Shot 2020-02-28 at 6 43 15 AM" src="https://user-"
Likely my fault from drag and drop change
Change:
'--telemetry[show all telemetry events which VS code collects]' '--extensions-dir[set the root path for extensions]:root path:_directories' '--list-extensions[list the installed extensions]' <del> '--category[filters installed extension list by category, when using --list-extension]' '--show-versions[show versions of installed extensions, when using --list-extension]' </del> <ins> '--category[filters installed extension list by category, when using --list-extensions]' '--show-versions[show versions of installed extensions, when using --list-extensions]' </ins> '--install-extension[install an extension]:id or path:_files -g "*.vsix(-.)"' '--uninstall-extension[uninstall an extension]:id or path:_files -g "*.vsix(-.)"' '--enable-proposed-api[enables proposed API features for extensions]::extension id: '

Discussion:
<!-- 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. --VS Code version: Code 1.52.0 (, 2020-12-10T22:46:53.673Z) OS version: Darwin x64 19.6.0 Steps to Reproduce: this section contains a reference to instead of the correct option : Extensions Management --extensions-dir <dirSet the root path for extensions. --list-extensions List the installed extensions. --show-versions Show versions of installed extensions, when using --list-extension. --category Filters installed extensions by provided category, when using --list-extension. <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes PR submitted with the fix.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.6 --- <!-- score: 0.507 --<!-- potentialduplicatescomment --
Change:
"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",

Discussion:
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.
Change:
if (isUninstalled) { const canRemoveRunningExtension = runningExtension && this.extensionService.canRemoveExtension(runningExtension); <del> const isSameExtensionRunning = runningExtension && (!extension.server || extension.server === this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension))); </del> <ins> const isSameExtensionRunning = runningExtension && (!extension.server || extension.server === this.extensionManagementServerService.getExtensionManagementServer(toExtension(runningExtension))) && (!extension.resourceExtension || this.uriIdentityService.extUri.isEqual(extension.resourceExtension.location, runningExtension.extensionLocation)); </ins> if (!canRemoveRunningExtension && isSameExtensionRunning && !runningExtension.isUnderDevelopment) { return { action: reloadAction, reason: nls.localize('postUninstallTooltip', "Please {0} to complete the uninstallation of this extension.", reloadActionLabel) }; }

Discussion:
This extension wants me to install it, also has a reload, and has a restart button. The restart button doesn't do anything. This is just in the VS Code repo <img width="476" alt="image" src=""
Can you please share the following file F1 Open Extensions Folder Share file
What do you see in Installed Extensions view? Also What version of that extension is running in Running Extensions editor - F1 Show Running Extensions? Is there a message when you hover on Restart Extensions button?
Installed <img width="470" alt="image" src=""Running view <img width="917" alt="image" src=""Hover of restart <img width="470" alt="image" src=""Ok, so it does appear I have this extension installed. And it wants me to restart it to uninstall it? And then to install it as a workspace extension? Clicking the restart button doesn't do anything and I didn't request the extension be uninstalled
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Change:
} function validateSpecificSpecialCharacter(matches: string[], pattern: string, specialCharacter: string): boolean { <del> const doesConatinSpecialCharacter = matches[0].indexOf(specialCharacter) !== -1 && pattern.indexOf(specialCharacter) !== -1; return doesConatinSpecialCharacter && matches[0].split(specialCharacter).length === pattern.split(specialCharacter).length; </del> <ins> const doesContainSpecialCharacter = matches[0].indexOf(specialCharacter) !== -1 && pattern.indexOf(specialCharacter) !== -1; return doesContainSpecialCharacter && matches[0].split(specialCharacter).length === pattern.split(specialCharacter).length; </ins> } function buildReplaceStringForSpecificSpecialCharacter(matches: string[], pattern: string, specialCharacter: string): string {

Discussion:
and , Similar to , We can implement for underscore character as well , Proposing this will be only just underscore or just hyphen replacements and not both. Foo-Bar replaced with newfoo-newbar with case preserved will be Newfoo-Newbar and FooBar will be NewfooNewBar. Please let me know if this gets a node from you guys ? Thanks!
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.706 --<!-- potentialduplicatescomment --
Change:
}); } <del> private installExtension(extensions: string[]): TPromise<any> { </del> <ins> private installExtension(extensions: string[], force: boolean): TPromise<any> { </ins> const vsixTasks: Task[] = extensions .filter(e => /.vsix$/i.test(e)) .map(id => () => {

Discussion:
<!-- 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.27.1 OS Version: MacOS 10.13.6 I have found that I am unable to reliably install extensions via the command line because of an update prompt that requires user interaction. A flag like or or would be helpful in allowing the command to run non-interactively. Steps to Reproduce: (or any extension that has a newer version than the one you have installed) appears: <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes (CLI command)
May I know the use case why do you want to run this non interactively?
Thanks for the reply. I use the VS Code CLI to install extensions in . Managing my extensions in my dotfiles helps keep them in sync between my personal and work computers. You can see the script that uses the CLI .
I agree that the CLI should have a way to run every command, especially extension based commands without interaction. I also have an installer that is installing a list of VS Code extensions, and while I haven't directly seen this issue yet, it would be a major issue if it did.
Use --force to not to show prompts
Based on the code I could see in the pull request, it looks like this may prevent the command from updating already-installed extensions. Is that the case? If so, they will be updated through some other mechanism, correct? edit: I installed VS Code Insiders and will verify that the feature works for me when it arrives in the insiders build.
No, it will not prevent. If there is an update and you pass command, I would skip prompting and install the extension directly.
I was able to verify that the fix is working for me. Thanks for jumping on this!
I opened a related issue when testing this. However, I can actually repro that same issue when taking a previously installed extension and just updating its to be an older version, making this issue broken or at least unverifiable for me.
May I know if you reopened this issue because of or is there something else not working here?
I can reproduce the error you see in and it is happening only in windows.

Not sure if it is necessary to have both issues open. Is it ok to close the other one and track it here?
I think let's have them separate. This issue is for allow installing / updating extension without any prompt and other issue should show the prompt while updating.
Did you try updating the extension using argument here?
argument updates the extension without any prompts on Windows. Closing this. Please do verify. Let's track the prompts related issue in the other one you created ()
Change:
IExtensionsControlManifest, StatisticType, isTargetPlatformCompatible, TargetPlatformToString, ExtensionManagementErrorCode, IServerExtensionManagementService, ServerInstallOptions, ServerInstallVSIXOptions, ServerUninstallOptions, Metadata, ServerInstallExtensionEvent, ServerInstallExtensionResult, ServerUninstallExtensionEvent, ServerDidUninstallExtensionEvent } from 'vs/platform/extensionManagement/common/extensionManagement'; <del> import { areSameExtensions, ExtensionKey, getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData, getMaliciousExtensionsSet } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; </del> <ins> import { areSameExtensions, ExtensionKey, getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; </ins> import { ExtensionType, IExtensionManifest, isApplicationScopedExtension, TargetPlatform } from 'vs/platform/extensions/common/extensions'; import { ILogService } from 'vs/platform/log/common/log'; import { IProductService } from 'vs/platform/product/common/productService';

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. --When installing an extensions with , users can freely install extensions which are malicious, which is not possible from the UI. <!-- 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: 1.69.0 OS Version: macOS 13 Steps to Reproduce: your 's to . a terminal inside of VS Code The CLI either refuses to install these extensions or warns the user.
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.69.0. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
Sorry, mistyped the version by one patch release, all fixed now.
Can you please let me know which extension you are trying to install that is malicious and VS Code allows it from CLI?
that would be any extension list that I tried and exists in the Marketplace, for example installs just fine although not allowing me to install via the UI <img width="725" alt="image" src="https://user-"