Question: @command('git.clean') async clean(...resourceStates: SourceControlResourceState[]): Promise<void> { <del> resourceStates = resourceStates.filter(s => !!s); </del> <ins> // Remove duplicate resources const resourceUris = new Set<string>(); resourceStates = resourceStates.filter(s => { if (s === undefined) { return false; } if (resourceUris.has(s.resourceUri.toString())) { return false; } resourceUris.add(s.resourceUri.toString()); return true; }); </ins> if (resourceStates.length === 0 || (resourceStates[0] && !(resourceStates[0].resourceUri instanceof Uri))) { const resource = this.getSCMResource();

Issue Type: <bBug</bThe source control pane allows discarding changes by right-clicking on selected items and then choosing "Discard Changes". If items are selected in a tree view, and part of the selection is a directory, then the confirmation dialog shows a wrong (impossible) number of files to be discarded. Steps: open vscode in a git directory, with no current changes switch to the source control pane, note the changes make sure that "View as Tree" mode is active select all three items in the treev view, comprising of 1 directory and 2 files right-click onto select items -"Discard Changes" //exp: Confirmation - "This will DELETE 2 untracked files" //act: Confirmation - "This will DELETE 3 untracked files" IOW, the directory is counted as a file. This is rather irritating if one expects to discard a very well-known number of files, only to discover that the UI confirmation dialog is off. VS Code version: Code 1.60.1 (, 2021-09-10T17:06:57.931Z) OS version: Linux x64 5.13.15-200.fc34.x8664 Restricted Mode: No <details<summarySystem Info</summary </detailsExtensions disabled<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Just noticed a simpler scenario: Just use tree view mode, have 1 file in the directory, and directly discard the directory. The confirmation dialog will ask for confirmation to delete 2 files, while there is 1 file only (the directory will not be touched by the git revert)
Funny enough - clicking on the "Discard All Changes" icon reports the correct number of files (2 files in the scenario above).
I see multiple options for implementing a fix for this: 1) Deduplicate the resources in the command 2) Deduplicate the resources in core before the are passed to the command as args
1 sounds great!


Question: setTimeout(() => { const idx = unhandledPromises.indexOf(promise); if (idx >= 0) { <del> unhandledPromises.splice(idx, 1); console.warn('rejected promise not handled within 1 second'); onUnexpectedError(reason); </del> <ins> promise.catch(e => { unhandledPromises.splice(idx, 1); console.warn(`rejected promise not handled within 1 second: ${e}`); if (e.stack) { console.warn(`stack trace: ${e.stack}`); } onUnexpectedError(reason); }); </ins> } }, 1000); });

When I was debugging SVN extension () I saw this message in console: ! Then I've discovered that this promise is unhandled in another extension, after I've edited file and inserted breakpoint. Please provide some stacktrace or message of rejected Promise it's hard to find the root of the problem.
This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the for VS Code. See also our guidelines. Happy Coding!
I think the ask here is that we improve our handler to display the call stack of the unhandled error...
Yeah, I got that. I have for that (thanks to


Question: if (!Array.isArray(extension.value)) { continue; } <del> const commands = new Map((extension.description.contributes?.commands ?? []).map(c => [c.command, c])); </del> for (const contribution of extension.value) { <del> if (!contribution.command || !contribution.when) { continue; </del> <ins> const command = MenuRegistry.getCommand(contribution.command); if (!command) { return; </ins> } <del> const fullCommand = commands.get(contribution.command); if (!fullCommand) { return; } </del> <ins> const icon = command.icon; const title = typeof command.title === 'string' ? command.title : command.title.value; </ins> continueEditSessionOptions.push(new ContinueEditSessionItem( <del> fullCommand.title, fullCommand.command, </del> <ins> ThemeIcon.isThemeIcon(icon) ? `$(${icon.id}) ${title}` : title, command.id, command.source, </ins> ContextKeyExpr.deserialize(contribution.when) )); }

! should align more with <img width="672" alt="image" src="https://user-"


Question: "command.branch": "Create Branch...", "command.pull": "Pull", "command.pullRebase": "Pull (Rebase)", <ins> "command.pullFrom": "Pull from...", </ins> "command.push": "Push", "command.pushTo": "Push to...", "command.sync": "Sync",

We have the ability to select which branch to push to in the source control, could we please have a pull from option? To target specific branches. Unless it exists already? I have only recently started using VS Code and i love it!
This is an easy contribution, care to submit a PR? PS: You currently have the ability to select which remote to push to, not which branch.
I'll take on this. Is it correct that branch names are not stored anywhere? I've checked in and cannot find anywhere they could be stored. If there is nothing, I'll just take a user input using showInputBox.
I created a pull request for this: Please take a look when you have the chance.
merge conflict is fixed.
Merging with


Question: } else { // exec command, done <del> this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])) .catch(onUnexpectedError) .finally(() => this.model.clear()); // <- clear only now, keep commands alive </del> <ins> tasks.push(this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])).catch(onUnexpectedError)); </ins> this.model.cancel(); } if (flags & InsertFlags.KeepAlternativeSuggestions) { this._alternatives.value.set(event, next => { <ins> // cancel resolving of additional edits cts.cancel(); </ins> // this is not so pretty. when inserting the 'next' // suggestion we undo until we are at the state at // which we were before inserting the previous suggestion...

Issue Type: <bBug</bLike what the heading says, inserting a code snippet anywhere in the code file causes an autoscroll. This is a slight inconvenience, as while inserting snippets, viewing code above it is desirable, causing us to rescroll into view. So adding an option to revert to the functionality in the stable release would be preferred VS Code version: Code - Insiders 1.46.0-insider (, 2020-05-07T16:36:39.681Z) OS version: Linux x64 5.4.38-1-MANJARO <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ cpptools0.27.1 Go0.14.1 material-icon-theme4.1.0 material-theme3.5.0 (1 theme extensions excluded) </details<!-- generated by issue reporter --
Yeah - that's a regression from a recent change to keep the position stable when additional edits are inserted...
is the item that caused this regression.
fixed via
Yep, it works fine now. Thanks a lot!
This bug has been fixed in to the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command pallette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
/verified


Question: } else { // exec command, done <del> this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])) .catch(onUnexpectedError) .finally(() => this.model.clear()); // <- clear only now, keep commands alive </del> <ins> tasks.push(this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])).catch(onUnexpectedError)); </ins> this.model.cancel(); } if (flags & InsertFlags.KeepAlternativeSuggestions) { this._alternatives.value.set(event, next => { <ins> // cancel resolving of additional edits cts.cancel(); </ins> // this is not so pretty. when inserting the 'next' // suggestion we undo until we are at the state at // which we were before inserting the previous suggestion...

This is somewhat the opposite of and the acknowledgement that computing additional text edits for all items upfront is too demanding. This issue is only about and the goal is a pragmatic solution, similar to the one that we have for . Idea accept an unresolved completion proceed with insertion as usual set up a content change listener resolve the items once resolved check if additional edits overlap with "concurrent" changes. when they overlap, do nothing otherwise proceed
The first version for this is now merged to master, it's a pragmatic approach that's better then not resolving but worst than (costly) upfront resolving. Items to followup on [ ] telemetry and follow up issues [ ] - TS issue for having incomplete items [ ] [ ] java for returning very few (resolved) completions, e.g doing the right thing
/cc - My understanding is that Java resolves all items upfront, e.g compute additional text edits during "provide", and that it is quite expensive and therefore Java only returns a small amount of items. Is that correct? Could Java return results faster when additional text edits are computed during resolve (and therefore only for selected items)?
Yes. I think so! is the dev who was working on Java completion. I believe he can provide more insights toward this topic. // cc
this is exactly the behavior that used to have, ie compute all the completion items first (fast), then the text edits were computed during resolveCompletion. We were asked to not do that as and changed to return a small subset of completion items (with incomplete=true), with full text edits computed upfront. The user experience is definitely not as good as with our initial implementation.
To be clear, computing any Java textedit upfront is costly when returning 100+ items (and we can return several thousands items). We'd prefer if the async insertion of textedits covered all textedits, not just the additional ones.
The requirements discussed in are still true and there are no plans to change that. There is (which might be derived from ) and . The former () is inserted at the cursor and must be inserted synchronous to accepting a completion (we cannot block typing while waiting for that). The latter () is meant for things like import-statements and we now want to relax that, e.g it can come late and we try to apply those edits despite the user having typed more.


Question: } else { // exec command, done <del> this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])) .catch(onUnexpectedError) .finally(() => this.model.clear()); // <- clear only now, keep commands alive </del> <ins> tasks.push(this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])).catch(onUnexpectedError)); </ins> this.model.cancel(); } if (flags & InsertFlags.KeepAlternativeSuggestions) { this._alternatives.value.set(event, next => { <ins> // cancel resolving of additional edits cts.cancel(); </ins> // this is not so pretty. when inserting the 'next' // suggestion we undo until we are at the state at // which we were before inserting the previous suggestion...

When exactly does run, is it only when an item gets highlighted in the menu? Can't tell from the docs. I only need to generate for the completion item the user ends up applying -- doing it for other items is unnecessary work that's bogging down the extension host, and I will have to implement yielding. I assume no one would need to generate before a completion item is applied? Is there any kind of completion applied event we can hook into to work around this for the time being?
That's exactly what is about . Today, there is no guarantee that is ever called because its original design is to provide data for the suggest details widget. However, we see that (amongst other things) are computed during resolve and leads to subtle bugs (because don't always call resolve or always await it) Well, is the problem if you do not generate them upfront. select suggestion synchronously inserts the string starts for additional text edits continues to type quickly and all over the place -call eventually returns but it is unclear if the edits are still valid because the state changed many types in-between Solutions: Won't work because in JS you cannot wait for another "thread" or "process", the world always keeps turning Implement a full -solution because this is two entities "typing" concurrently in the same document. However, it will feel awkward because the user doesn't expect to be such a scenario. approach that tries to apply additional edits if possible but inserts the "main edit" (insertText) always synchronously. () "if possible" is currently defined as "no edit has occurred before the first additional edit". That works well if you use additional edits for things like imports or prefixes (which is the indented use-case) but won't work if additional text edits change the main edit, like appending a call-operators with arguments etc
I mean JS can't block but ignoring typing while awaiting is possible -- I was imagining that VSCode would keep the completions menu open and ignore any typing until is resolved and all text edits applied for the accepted item. Obviously this would be bad if resolving takes a long time, but the API has cancelation tokens already, so the UI would just need to show a spinner/cancel icon, and also cancel if the user presses ESC or navigates to a different editor, for a decent UX.


Question: } else { // exec command, done <del> this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])) .catch(onUnexpectedError) .finally(() => this.model.clear()); // <- clear only now, keep commands alive </del> <ins> tasks.push(this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])).catch(onUnexpectedError)); </ins> this.model.cancel(); } if (flags & InsertFlags.KeepAlternativeSuggestions) { this._alternatives.value.set(event, next => { <ins> // cancel resolving of additional edits cts.cancel(); </ins> // this is not so pretty. when inserting the 'next' // suggestion we undo until we are at the state at // which we were before inserting the previous suggestion...

I think this would be less confusing for users too; it's the only way it would be clear when VSCode is completely done applying the completion. I think many users would be confused if imports usually get but not when they resume typing too soon. FWIW I can syncronously generate the additional text edits I need, so I'd be happy if there were an API to synchronously generate them when the completion item is accepted. I know not everyone would be able to generate them sync though.
Also I know my questions may have seemed redundant, but I hadn't seen anyone on this thread point out that it would be ideal to avoid ever computing additional text edits (or even the primary insert text) for unselected completions. Since can get called before any item is accepted (I assume, since it seems to be for showing additional details in the menu), I'd think any solution via could still result in unnecessarily generating additional edits that are ultimately discarded.
The golden rule is that "you can always type inside the editor". Ignoring typing is not a good solution and will bug users. Just think of quick suggest and auto accept characters - you don't want the editor to stop typing just because an extension is taking a little longer (+50ms). To be precise you should have written "typing at or before the offset at which additional edits are going to happen" I honestly think the majority can generate them synchronously but this happens in the extension host process or the language server process, and all of that might happen on a different machine and there is no way to synchronously transport that into the UI.
re with the current changes you should be able to have a "simple insert text", say , and compute an additional text edit, like , that goes in front of it so that you eventually have . Right? Or am I missing something?
that might actually be a good idea ;-) In practice though, we might need to revisit the way the principal TextEdit is computed (i.e rewrite a bunch of stuff from upstream JDT)
I get the desire to be able to always be able to type inside the editor and agree that's an important principle. The only reason I think this case is an exception is that: The user would probably want to wait for all edits to get applied anyway.


Question: } else { // exec command, done <del> this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])) .catch(onUnexpectedError) .finally(() => this.model.clear()); // <- clear only now, keep commands alive </del> <ins> tasks.push(this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])).catch(onUnexpectedError)); </ins> this.model.cancel(); } if (flags & InsertFlags.KeepAlternativeSuggestions) { this._alternatives.value.set(event, next => { <ins> // cancel resolving of additional edits cts.cancel(); </ins> // this is not so pretty. when inserting the 'next' // suggestion we undo until we are at the state at // which we were before inserting the previous suggestion...

Seems unlikely that people would want to get the main edit without the additional edits By making the operation cancelable, you can still go back to typing immediately if you so desire. I certainly wouldn't want to block the user from typing without recourse (as you know, I feel frustrated that happens currently when using Vim extensions) On the other hand, I guess it's unlikely that the additional text edits would overlap whatever the user continues typing...
I hadn't thought about auto accept characters though, that's a good point. That's something I don't have experience with. Also considering that VSCode could pop up a warning if it has to bail on inserting additional edits, it's not a big deal if it ever happens
I remember that we have some new data points regarding the time consumption in different stages of code completion in Can you share that data and see how we can tune it with this change?
For Java language server, below is a sample of call tree when triggering completion. (time value is larger than expected because of extra overhead from JProfiler) ! Total time of completion stage mainly consists of three parts: competion candidates in JDT to CompletionItems (calc textEdits, additionalTextEdits, etc.) --- calc an incomplete list of only 50 items by default (the full list can contain thousands) --- here calculating import statements costs a lot of time server-side code snippets (not much related to this topic) I did a simple experiment on java language server, with vscode-insider built on 2020-5-15. I was using spring-petclinic, which is not a big one, but with some dependencies. Type a initial letter, e.g. "O", and observe perf of completion and resolve. Do multiple times for statistics. Calculating additionalTextEdits async in resolve stage does decrease the time cost a lot. textEdits and additionalTextEdits are calculated during completion stage. completion: ~150 ms resolve(avg of top 10 items): ~10 ms Now I simply move a bunch of textedit calculation from "completion" stage into "resolve" stage. completion: ~100 ms resolve(avg of top 10 items): ~17 ms !
I just realized that can return a thenable, but I assume that would delay the appearance of the entire menu?
Closing as we haven't seen issues with the new pragmatic approach and the plan is to stick with it.


Question: } else { // exec command, done <del> this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])) .catch(onUnexpectedError) .finally(() => this.model.clear()); // <- clear only now, keep commands alive </del> <ins> tasks.push(this._commandService.executeCommand(item.completion.command.id, ...(item.completion.command.arguments ? [...item.completion.command.arguments] : [])).catch(onUnexpectedError)); </ins> this.model.cancel(); } if (flags & InsertFlags.KeepAlternativeSuggestions) { this._alternatives.value.set(event, next => { <ins> // cancel resolving of additional edits cts.cancel(); </ins> // this is not so pretty. when inserting the 'next' // suggestion we undo until we are at the state at // which we were before inserting the previous suggestion...

so how do servers know that clients support lazy-loading of additional textedits? Surely this should be a client capability advertised by vscode (that needs to be specced in the LSP)
is the right person for that and you should probably create a follow up issue in the LSP land
corresponding LSP feature request created here please add more details if I miss anything.
Thanks
To verify: use TypeScript have a suggestion that will import a symbol make sure that suggestion isn't first or focused in the UI use the mouse(!) to select the suggestion make sure the import is there make sure undo, redo works as expected


Question: ) { super(); <del> this.registerSchemas({ defaultSettingsSchema: {}, userSettingsSchema: {}, profileSettingsSchema: {}, machineSettingsSchema: {}, workspaceSettingsSchema: {}, folderSettingsSchema: {}, configDefaultsSchema: {}, }); </del> extensionService.whenInstalledExtensionsRegistered().then(() => { this.registerConfigurationSchemas();

Type: <bBug</bI got the following error randomly while changing workspace settings. I used the extension bisect feature to see if it was an extension, but nothing was identified on the very first pass. The issue continued to persist, until Visual Studio Code was reloaded. Here's the message that appeared in the problem pane: Problems loading reference 'vscode://schemas/settings/workspace': Unable to load schema from 'vscode://schemas/settings/workspace': cannot open vscode://schemas/settings/workspace. Detail: Unable to resolve text model content for resource vscode://schemas/settings/workspace. I found a similar issue regarding multi-root workspaces on github: My workspace has multiple folders. I only edited the workspace settings and I never touched the folder settings for the workspace. I did made some recent adjustments by installing/uninstalling extensions, switching profiles, and editing workspace settings. VS Code version: Code - Insiders 1.77.0-insider (, 2023-03-14T05:23:49.668Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ Ionide-fsharp7.5.1 csharp1.25.4 dotnet-interactive-vscode1.0. vscode-dotnet-pack1.0.12 python2023.4.1 vscode-pylance2023.3.20 jupyter2023.3. jupyter-keymap1.1.0 jupyter-renderers1.0.15 vscode-jupyter-cell-tags0.1.6 vscode-jupyter-slideshow0.1.5 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This is probably caused by of the schema (and others) It would be better to register the schema immediately but empty, and to set it later again with content.
Can this be at least workarounded somehow? It's very irritating - I cant edit any workspace settings
I'm sure a hotfix will release the fix to all of us soon, but here's a workaround for now: I found that poking any settings key in restores proper autocomplete/hover in VSCode's until next VSCode restart. But a key must be poked after every restart.


Question: ) { super(); <del> this.registerSchemas({ defaultSettingsSchema: {}, userSettingsSchema: {}, profileSettingsSchema: {}, machineSettingsSchema: {}, workspaceSettingsSchema: {}, folderSettingsSchema: {}, configDefaultsSchema: {}, }); </del> extensionService.whenInstalledExtensionsRegistered().then(() => { this.registerConfigurationSchemas();

For example, put at the top of your and save the file. You will have to toggle and save this key every time you start VSCode. A detailed set of steps for doing this can be inspected at the end of this comment. If you use the VSCode extension , you can set up a hotfix keybind (like in this case), and press the keybind twice every time you restart VSCode. Or, just never restart VSCode until the patch drops! <details<summarydetails</summary<pI can confirm that setting allows hover hints and completion to function again, e.g. in VSCode's own modification. However, this workaround throws out all JSON linting and reporting in the "Problems" pane, so it's sort of the nuclear option. This issue just cropped up for me in the past few days, so it may be a regression associated with the latest release? After further investigation, I find that poking any settings key in restores proper autocomplete/hover in VSCode's until next VSCode restart. But a key must be poked after every restart. Here's a rundown: all tree of settings keys are initially at their defaults, e.g. none of these keys are explicitly specified in any of your (maybe unnecessary, but this is my starting state). VSCode (e.g. with ). Navigate to your user . The following warning presents in the Problems pane: a trivial setting modification in the tree of settings keys, even if that modification is a no-op, like explicitly specifying a default as its default value. For example, put at the top of your and save the file. (You could've also poked to be either or I think, maybe?) whether autocomplete/hover works properly in , completing settings names and such. It should work now. can even remove the edit you made in step (4), save again, and autocomplete/hover still works. VSCode. autocomplete/hover is broken again in , until some modification to the tree of settings keys is made again, like in step 4. For example, commenting out if it's there, and saving, restores autocomplete/hover.


Question: ) { super(); <del> this.registerSchemas({ defaultSettingsSchema: {}, userSettingsSchema: {}, profileSettingsSchema: {}, machineSettingsSchema: {}, workspaceSettingsSchema: {}, folderSettingsSchema: {}, configDefaultsSchema: {}, }); </del> extensionService.whenInstalledExtensionsRegistered().then(() => { this.registerConfigurationSchemas();

So this issue may have to do with unstable startup behavior of JSON schema handling, perhaps isolated to VSCode's own or perhaps all JSON schemas more broadly, and this unstable state can be temporarily fixed by poking a settings key, but the unstable behavior returns on the next program start. At least in my case. </p</details
I have encountered a similar error: So nothing I do in my file has any effect. Not only that, but when I type "" into the Settings search bar, the only thing that comes up is a reference to a file under .
In my case I think I found the culprit: The property above gives a "Value is not accepted" error even though it's a valid value that works when the is enabled (it's currently disabled). As soon as I delete this property, the "Unable to load schema" error goes away. Weird. Update: I spoke too soon -- after reloading VS Code, the "Unable to load schema" error is back
A few days/restarts later, and the error is gone. Looks like a Heisenbug.
For me the problem message appears in a typescript node project when I have open. Close this file and the problem message goes away. (The file contains no known issues). While others report either user or workspace settings reference loading problems, for me it is configurationDefaults:
is there any update on it? it's very frustrating and I don't see a reliable workaround
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
I still see this <img width="1619" alt="image" src=""Repro: a syntax error in , which will result in some setting's value being "changed" that forces restart of vscode dialog to restart vscode shows up, click on "Restart" restarted vscode will likely have this error
I cannot reproduce this, are you seeing this consistently?


Question: ) { super(); <del> this.registerSchemas({ defaultSettingsSchema: {}, userSettingsSchema: {}, profileSettingsSchema: {}, machineSettingsSchema: {}, workspaceSettingsSchema: {}, folderSettingsSchema: {}, configDefaultsSchema: {}, }); </del> extensionService.whenInstalledExtensionsRegistered().then(() => { this.registerConfigurationSchemas();

I can't repro deterministically, but I feel like it has to do with loading/reloading the window
Can others subscribed to this issue, please try our latest insiders and let us know if you still see the issue?
/verified
I confirm this is fixed in (tested under Ubuntu 22), and without the need for .
I just upgraded to the regular version and it also seems to be fixed there as expected ^^.
Can U confirm it is now fixed in version 1.80.0 and close the issue ?
The message is still there for me in 1.80.0.
Thanks for confirmation. I will close this as fixed and verified. Please reopen a new issue if you are still seeing it (may be new) with steps to repro.
For me the message showed up in 1.80.0
For me too
Currently experiencing this issue. I can overcome it temporarily following a suggestion elsewhere where I add or remove "": true to my file. I keep adjusting the file to see if there is something in there ausing the issue. Even old, known settings are causing the error to kick in regularly. I put a single setting in there and the error comes up unless it's empty Version: 1.80.0 (user setup) Commit: Date: 2023-07-04T15:06:02.407Z (1 wk ago) Electron: 22.3.14 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.
Currently experiencing the issue on my linux machine. On my Windows machine (with the same configuration file, since it's synchronized) it works fine on stable, but not on insiders. Can confirm that toggling as a workaround works until restart.


Question: ) { super(); <del> this.registerSchemas({ defaultSettingsSchema: {}, userSettingsSchema: {}, profileSettingsSchema: {}, machineSettingsSchema: {}, workspaceSettingsSchema: {}, folderSettingsSchema: {}, configDefaultsSchema: {}, }); </del> extensionService.whenInstalledExtensionsRegistered().then(() => { this.registerConfigurationSchemas();

Linux version: Version: 1.80.0 Commit: Date: 2023-07-04T13:39:48.236Z (1 wk ago) Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.80.0 Chrome/108.0.5359.215 Electron/22.3.14 Safari/537.36 Windows version (stable): Version: 1.80.0 Commit: Date: 2023-07-04T15:06:02.407Z (1 wk ago) Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.80.0 Chrome/108.0.5359.215 Electron/22.3.14 Safari/537.36 Windows version (insiders): Version: 1.81.0-insider Commit: Date: 2023-07-13T05:33:32.822Z (2 hrs ago) Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code-Insiders/1.81.0-insider Chrome/108.0.5359.215 Electron/22.3.14 Safari/537.36
Reopening this because it can be still reproduced.
I am getting this error and I can't figure out how to fix it.
Please try our and see if you are still seeing it
Currently seeing this while in a file on GitHub Codespaces, in the following form:
Can you please try insiders and see if you are still seeing this?
I still saw this issue when opening on: Version: 1.80.1 (user setup) Commit: Date: 2023-07-12T17:22:07.651Z Electron: 22.3.14 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.
As I mentioned, this was in GitHub Codespaces. I can't change the version of VS Code they serve to the browser.


Question: ) { super(); <del> this.registerSchemas({ defaultSettingsSchema: {}, userSettingsSchema: {}, profileSettingsSchema: {}, machineSettingsSchema: {}, workspaceSettingsSchema: {}, folderSettingsSchema: {}, configDefaultsSchema: {}, }); </del> extensionService.whenInstalledExtensionsRegistered().then(() => { this.registerConfigurationSchemas();

There should be an action Switch to Insiders... in the settings gear icon in the bottom left corner, do you have that?
uninstalled installed all extensions, including- C# v2.0.328, autopep8 -for python, ctrl+shift+p - selected -format this document with - seleceted C#- All things worked again.


Question: } } <ins> export class MigrateDeprecatedExtension extends ExtensionAction { private static readonly EnabledClass = `${ExtensionAction.LABEL_ACTION_CLASS} prominent migrate`; private static readonly DisabledClass = `${MigrateDeprecatedExtension.EnabledClass} disabled`; constructor( private readonly small: boolean, @IExtensionsWorkbenchService private extensionsWorkbenchService: IExtensionsWorkbenchService ) { super('extensions.uninstall', localize('migrateExtension', "Migrate"), MigrateDeprecatedExtension.DisabledClass, false); this.update(); } update(): void { this.enabled = false; this.class = MigrateDeprecatedExtension.DisabledClass; if (!this.extension?.local) { return; } if (this.extension.state !== ExtensionState.Installed) { return; } if (!this.extension.deprecationInfo?.extension) { return; } const id = this.extension.deprecationInfo.extension.id; if (this.extensionsWorkbenchService.local.some(e => areSameExtensions(e.identifier, { id }))) { return; } this.enabled = true; this.class = MigrateDeprecatedExtension.EnabledClass; this.tooltip = localize('migrate to', "Migrate to {0}", this.extension.deprecationInfo.extension.displayName); this.label = this.small ? localize('migrate', "Migrate") : this.tooltip; } override async run(): Promise<any> { if (!this.extension?.deprecationInfo?.extension) { return; } await this.extensionsWorkbenchService.uninstall(this.extension); const [extension] = await this.extensionsWorkbenchService.getExtensions([{ id: this.extension.deprecationInfo.extension.id, preRelease: this.extension.deprecationInfo?.extension?.preRelease }], CancellationToken.None); await this.extensionsWorkbenchService.install(extension); } } </ins> export class ExtensionActionWithDropdownActionViewItem extends ActionWithDropdownActionViewItem { constructor(

Code, search for "bracket pair colorizer" how it is nicely rendered as deprecated on install -notice dialog The dialog should offer a third button to configure built-in settings instead. Same if an extension had an alternative extension. Example: ! fyi
I assume you want the extra button to replicate this link in the hover tip, right? ! As an aside, any doc yet about how an extension gets tagged as deprecated?
yes, a button that will replicate that behaviour correct. No docs yet written. I plan to add them soon. The process is to write an email to us or to ping us on GitHub. In the future we will have a more straightforward approach when MP adds UI.
I feel, the third option would be a general options like More Information... clicking on this shall open the extension editor. This will be consistent and useful so that user will get enough info before taking an action
"More Information..." might work, but in order to have one less hop we could render: "Install EXTENSION_NAME Instead" "Enable Native Settings Instead" That would just do the action right straight away. I am not sure if those button names are too long. So just a suggestion. Whatever you prefer...
Yah I see your point, but going to extension editor gives user more information and an opportunity to look at the alternative extension before installing. And also I do not like that this button changes with extension. More Information... would be consistent.
That's fair. We can start with your proposal and see how it goes. My only concern with "More Information" is that the user might think it is more information about the deprecation. While we actually want to guide the user to a solution. So it is something like "More about the alternative". I am not sure if there is a good button label to represent this.
<img width="308" alt="image (1)" src="https://user-"
Changed the second button as follows ! !
Awesome!!


Question: } this._alertCompletionItem(item); <ins> // clear only now - after all tasks are done Promise.all(tasks).finally(() => { this.model.clear(); cts.dispose(); }); </ins> } getOverwriteInfo(item: CompletionItem, toggleMode: boolean): { overwriteBefore: number, overwriteAfter: number } {


Question: } this._alertCompletionItem(item); <ins> // clear only now - after all tasks are done Promise.all(tasks).finally(() => { this.model.clear(); cts.dispose(); }); </ins> } getOverwriteInfo(item: CompletionItem, toggleMode: boolean): { overwriteBefore: number, overwriteAfter: number } {


Question: } this._alertCompletionItem(item); <ins> // clear only now - after all tasks are done Promise.all(tasks).finally(() => { this.model.clear(); cts.dispose(); }); </ins> } getOverwriteInfo(item: CompletionItem, toggleMode: boolean): { overwriteBefore: number, overwriteAfter: number } {


Question: } this._alertCompletionItem(item); <ins> // clear only now - after all tasks are done Promise.all(tasks).finally(() => { this.model.clear(); cts.dispose(); }); </ins> } getOverwriteInfo(item: CompletionItem, toggleMode: boolean): { overwriteBefore: number, overwriteAfter: number } {


Question: } this._alertCompletionItem(item); <ins> // clear only now - after all tasks are done Promise.all(tasks).finally(() => { this.model.clear(); cts.dispose(); }); </ins> } getOverwriteInfo(item: CompletionItem, toggleMode: boolean): { overwriteBefore: number, overwriteAfter: number } {


Question: } this._alertCompletionItem(item); <ins> // clear only now - after all tasks are done Promise.all(tasks).finally(() => { this.model.clear(); cts.dispose(); }); </ins> } getOverwriteInfo(item: CompletionItem, toggleMode: boolean): { overwriteBefore: number, overwriteAfter: number } {


Question: static readonly ID = 'editor.contrib.standaloneColorPickerWidget'; readonly allowEditorOverflow = true; <del> private body: HTMLElement = document.createElement('div'); </del> private readonly _position: Position | undefined = undefined; private readonly _standaloneColorPickerParticipant: StandaloneColorPickerParticipant; <ins> private _body: HTMLElement = document.createElement('div'); </ins> private _colorHover: StandaloneColorPickerHover | null = null; private _selectionSetInEditor: boolean = false;

Depending oh how many editors windows are open and the size of them, sometimes the standalone color picker is partially hidden behind other editor panel. vscode version:1.81.0 x64 !


Question: static readonly ID = 'editor.contrib.standaloneColorPickerWidget'; readonly allowEditorOverflow = true; <del> private body: HTMLElement = document.createElement('div'); </del> private readonly _position: Position | undefined = undefined; private readonly _standaloneColorPickerParticipant: StandaloneColorPickerParticipant; <ins> private _body: HTMLElement = document.createElement('div'); </ins> private _colorHover: StandaloneColorPickerHover | null = null; private _selectionSetInEditor: boolean = false;

There is a z-index error: <img width="572" alt="Screenshot 2023-07-25 at 13 56 59" src=""


Question: "--vscode-editorWarning-background", "--vscode-editorWarning-border", "--vscode-editorWarning-foreground", <ins> "--vscode-editorWatermark-foreground", </ins> "--vscode-editorWhitespace-foreground", "--vscode-editorWidget-background", "--vscode-editorWidget-border",

<!-- 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'd like to have a theme setting that would allow me to change the foreground of the text in red next to the shortcuts. I've reached out to the dev tools and wasn't able to track the setting. I searched Google, SO, ChatGPT and I've tested a bunch of foregrounds and nothing works. <img width="1012" alt="Screenshot 2024-01-10 at 16 21 18" src=""
I a new color . It is derived from the


Question: if (pick === saveAndCommit) { await Promise.all(documents.map(d => d.save())); <del> await repository.add(documents.map(d => d.uri)); </del> <ins> await repository.add([]); </ins> } else if (pick !== commit) { return false; // do not commit on cancel }

Version: 1.38.0 Commit: Date: 2019-09-03T21:47:00.464Z Electron: 4.2.10 Chrome: 69.0.3497.128 10.11.0 V8: 6.9.427.31-electron.0 OS: Darwin x64 18.0.0 Steps to Reproduce: 1 open multiple tabs and only save some of them. 2 commit and click <!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.559 --- <!-- score: 0.518 --- <!-- score: 0.492 --- <!-- score: 0.483 --<!-- potentialduplicatescomment --
Oh yeah. Good catch. Want to submit a fix? Problem is
Hey, I am a new contributor here. I want to give a try on this issue.
Great. Go ahead.


Question: const NotebookPreloadContribution = Object.freeze({ type: 'type', entrypoint: 'entrypoint', <ins> localResourceRoots: 'localResourceRoots', </ins> }); interface INotebookPreloadContribution { readonly [NotebookPreloadContribution.type]: string; readonly [NotebookPreloadContribution.entrypoint]: string; <ins> readonly [NotebookPreloadContribution.localResourceRoots]: readonly string[]; </ins> } const notebookProviderContribution: IJSONSchema = {

Originally filed here Problem: Notebook kernel pre-load scripts are now defined statically via the contribution However VS Code throws a 401 error when loading resources from within the Jupyter extension, If however we have a dummy script file (in the Jupyter extension directory) that is defined as a in the VS Code API , then all resources from Jupyter extension directory are loaded I.e. using the above API in some way registers the Juptyer extension directory as a supported for scripts, and using the static contribution does not.
I have a work around in the Jupyter extension right now, i've a dummy placeholder script that does nothing,
Can you share steps to reproduce this with the fix in place? Also, does this happen on normal desktop too, or only sshe Unclear why this is not working as we should add preloads to the local resource roots:
Here are the steps Install Python Install VS Code insiders and latest pre-release versions of Jupyter and Python NOTE: Install the pre-release version of Jupyter extension that is 2 days old Add the following setting into vscode Create a python env and install the following dependencies You can use the command to create a directory with Pytohn in a particular workspace folder (optionally you can use Python extension to do this for you) Run the following code in a notebook pointing to the above venv (i.e. select the above venv as a kernel) You might get prompted to enable CDN download, hit cancel for that The widget will not load, network tab in vscode will display a 401 error Note: This is now working in the latest pre-release version of Jupyter extension
I believe the broken version is be but I'm having trouble reproducing this The output either never renders anything (but there is no network error) or renders as an image: ! ! Any other steps?
Not sure which pre-release to use anymore, as the pre-release has changed since Please use the vsixc from this build (check the artifacts for the vsix) here is the Install Python Add the following setting into vscode (reload VSCode) Create a python env and install the following dependencies You can use the command to create a directory with Pytohn in a particular workspace folder (optionally you can use Python extension to do this for you) Run the following code in a notebook pointing to the above venv (i.e.


Question: const NotebookPreloadContribution = Object.freeze({ type: 'type', entrypoint: 'entrypoint', <ins> localResourceRoots: 'localResourceRoots', </ins> }); interface INotebookPreloadContribution { readonly [NotebookPreloadContribution.type]: string; readonly [NotebookPreloadContribution.entrypoint]: string; <ins> readonly [NotebookPreloadContribution.localResourceRoots]: readonly string[]; </ins> } const notebookProviderContribution: IJSONSchema = {

select the above venv as a kernel) You might get prompted to enable CDN download, hit cancel for that The widget will not load, network tab in vscode will display a 401 error !
I'm still unable to reproduce this issue Are you running the jupyter out of sources by chance or have you patched VS Code/jupyter in some other way? The path to the resource we a trying to load looks weird: . This looks like an extension development path In normal installs, we should load resources from a path that looks more like: If you are able, you can also try and sharing the result of that function compared to the path of the js file we try loading in the webview
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
information was provided
lets you specific an additional set of localResourceRoots that should be allowed when loading the preload. Can you please try adding these for the python static preload contribution? Let me know if fixes the problem!
Thanks , seems to work,
Changes were made upstream in VS Code, marking as verified.


Question: }); } run(accessor: ServicesAccessor, ...args: unknown[]): void { <del> accessor.get(IAccessibleViewService).next(); </del> <ins> accessor.get(IAccessibleViewService).previous(); </ins> } } <ins> registerAction2(AccessibleViewPreviousAction); </ins> function registerCommand<T extends Command>(command: T): T { command.register();

One way of resolving this would be repeating the position information when I press any of the commands, even if there is no change. Another possibility would be to prevent the widget from refocusing when I am in the first / last element, and I try to move beyond that element. In that way pressing the next command will not produce any feedback if I am in the last one, and the previous will not produce any feedback if I am in the first one. Does it make sense? In any case, this would be a refinement, not something that would prevent someone from using the feature. Originally posted by in
Something else to consider when fine tuning the responses. Right now, position information is announced using an alert in macOS, and a status message in Windows. This is a situation where it makes sense to use an alert in all platforms so that screen readers prioritize this over other events. For example, right now JAWS is announcing position information after reannouncing the widget.
Huh, I'm using for all platforms here which appears to be platform agnostic I think it might just be a JAWS issue - does this repro when using NVDA?
It doesn't, but NVDA handles aria-live differently. You may be right dough. I'll debug NVDA on Monday and we'll know for sure which event it is seeing. JAWS may be simply prioritizing the focus event.
Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue.
Focus an accessible view for which there are several elements (like chat responses or notifications). Verify that if you are on the first or last element, pressing next or previous does not result in repeated alerts. it should not notify the screen reader user as nothing has changed.
Note to verifier there's an issue to disable these actions when they cannot be taken, which is the better fix.
Verified. With NVDA, if I press enter on the Next button while on the last chat response, the focus goes back to the response text instead of staying on the button, though that might be by design.


Question: }); }); <ins> test('openTextDocument, with selection', function () { return createRandomFile('foonbarnbar').then(file => { return vscode.workspace.openTextDocument(file).then(doc => { return vscode.window.showTextDocument(doc, { selection: new vscode.Range(new vscode.Position(1, 1), new vscode.Position(1, 2)) }).then(editor => { assert.equal(editor.selection.start.line, 1); assert.equal(editor.selection.start.character, 1); assert.equal(editor.selection.end.line, 1); assert.equal(editor.selection.end.character, 2); }); }); }); }); </ins> test('registerTextDocumentContentProvider, simple', function () { let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {

For
Verify: write an extension that exercises the following APIs by passing in a selection as option and verify the selection is revealed and showing up in the opened editor: command API Provide a property of type to get it. !


Question: this.searchResultModel?.updateChildren(); if (this.settingsTreeModel) { <del> this.settingsTreeModel.update(resolvedSettingsRoot); </del> <ins> this.refreshModels(resolvedSettingsRoot); </ins> if (schemaChange && !!this.searchResultModel) { // If an extension's settings were just loaded and a search is active, retrigger the search so it shows up

<!-- 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?: Unknown- repro uses a virtual workspace <!-- 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: OS Version: Version: 1.80.0 Commit: Date: 2023-07-04T15:06:02.407Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.80.0 Chrome/108.0.5359.215 Electron/22.3.14 Safari/537.36 Steps to Reproduce: a Github repository using "GitHub Repositories" extension, eg microsoft/vscode "Settings (JSON)" and add all tabs except Getting Started Extensions panel, search for " typescript" the Typescript and JavaScript Language Features extension and Reload Window "Settings (UI)" and search for typescript- no settings appear. Close "Settings (UI)" Extensions panel, search for " typescript" and re-enable the extension. Note, the extension activates immediately, the panel doesn't recommend Reload Window. "Settings (UI)" and search for typescript- Actual: no settings appear. Expected: settings appear


Question: __vsc_prompt_cmd_original() { __vsc_status="$?" <del> if [[ ${IFS+set} ]]; then __vsc_original_ifs="$IFS" fi if [[ "$__vsc_original_prompt_command" =~ .+;.+ ]]; then IFS=';' </del> <ins> # Evaluate the original PROMPT_COMMAND similarly to how bash would normally # See https://unix.stackexchange.com/a/672843 for technique if [[ ${#__vsc_original_prompt_command[@]} -gt 1 ]]; then for cmd in "${__vsc_original_prompt_command[@]}"; do __vsc_status="$?" eval "${cmd:-}" done </ins> else <del> IFS=' ' </del> <ins> eval "${__vsc_original_prompt_command:-}" </ins> fi <del> builtin read -ra ADDR <<<"$__vsc_original_prompt_command" if [[ ${__vsc_original_ifs+set} ]]; then IFS="$__vsc_original_ifs" unset __vsc_original_ifs else unset IFS fi for ((i = 0; i < ${#ADDR[@]}; i++)); do (exit ${__vsc_status}) builtin eval ${ADDR[i]} done </del> __vsc_precmd }

Issue Type: <bBug</bSet the variable to something like this: You should see something similar to the following: I'm assuming it's associated with . If I'm reading correctly, it checks for semicolons but not things like , , , etc. I understand this is probably an edge case. I was able to workaround by: creating a new function to wrap the others set to the new function VS Code version: Code 1.69.0 (, 2022-07-07T05:28:46.408Z) OS version: Darwin arm64 21.5.0 Restricted Mode: No <!-- generated by issue reporter --
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.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I can confirm this bug still exists in 1.69.1, and is probably less of an edge case than you might think , as I found this issue when the terminal wouldn't start because I had powerline installed.
O
My bash (GNU bash, version 5.1.16(1)-release (x86_64-apple-darwin21.1.0)) didn't want to work with empty functions, this reproduces the problem though:


Question: __vsc_prompt_cmd_original() { __vsc_status="$?" <del> if [[ ${IFS+set} ]]; then __vsc_original_ifs="$IFS" fi if [[ "$__vsc_original_prompt_command" =~ .+;.+ ]]; then IFS=';' </del> <ins> # Evaluate the original PROMPT_COMMAND similarly to how bash would normally # See https://unix.stackexchange.com/a/672843 for technique if [[ ${#__vsc_original_prompt_command[@]} -gt 1 ]]; then for cmd in "${__vsc_original_prompt_command[@]}"; do __vsc_status="$?" eval "${cmd:-}" done </ins> else <del> IFS=' ' </del> <ins> eval "${__vsc_original_prompt_command:-}" </ins> fi <del> builtin read -ra ADDR <<<"$__vsc_original_prompt_command" if [[ ${__vsc_original_ifs+set} ]]; then IFS="$__vsc_original_ifs" unset __vsc_original_ifs else unset IFS fi for ((i = 0; i < ${#ADDR[@]}; i++)); do (exit ${__vsc_status}) builtin eval ${ADDR[i]} done </del> __vsc_precmd }

Issue Type: <bBug</bwhen i enable shell integration, i get an error: my contains: VS Code version: Code - Insiders 1.66.0-insider (, 2022-03-28T07:49:37.594Z) OS version: WindowsNT x64 10.0. Restricted Mode: No Remote OS version: Linux x64 5.10.60.1-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (11)</summaryExtensionVersion ------ better-cpp-syntax1.15.13 remote-containers0.230.0 remote-ssh0.77. remote-ssh-edit0.77. remote-wsl0.66.0 doxdocgen1.4.0 better-cpp-syntax1.15.13 cmake-tools1.10.5 cpptools1.9.7 cpptools-extension-pack1.1.0 cmake0.0.17 (2 theme extensions excluded) </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
looks like you set somewhere which re-writes your . Right now if we detect possible problems with unsupported formats we bail out and disable shell integration by design. To workaround this you could point your at a function and run inside the function instead, for example
Assigning to April to see if we can improve our handling here.
no. i'm not setting . ugh. testing this is a nightmare. vscode seems to keep some persistent state on the server affecting shell startup. anyway, i'd recommend testing with my exact client/server OS combo. is set by the OS to the value above, but weirdly that's not actually what's used to echo my prompt. my prompt, as set in my file is .
It might be set in your or ? VS Code sources a shell environment on startup and that gets used as the base environment for terminals. For WSL you'd need the vscode server to shutdown fully.
no, this also happens when connecting (via ssh) to a fresh CentOS7 install.


Question: __vsc_prompt_cmd_original() { __vsc_status="$?" <del> if [[ ${IFS+set} ]]; then __vsc_original_ifs="$IFS" fi if [[ "$__vsc_original_prompt_command" =~ .+;.+ ]]; then IFS=';' </del> <ins> # Evaluate the original PROMPT_COMMAND similarly to how bash would normally # See https://unix.stackexchange.com/a/672843 for technique if [[ ${#__vsc_original_prompt_command[@]} -gt 1 ]]; then for cmd in "${__vsc_original_prompt_command[@]}"; do __vsc_status="$?" eval "${cmd:-}" done </ins> else <del> IFS=' ' </del> <ins> eval "${__vsc_original_prompt_command:-}" </ins> fi <del> builtin read -ra ADDR <<<"$__vsc_original_prompt_command" if [[ ${__vsc_original_ifs+set} ]]; then IFS="$__vsc_original_ifs" unset __vsc_original_ifs else unset IFS fi for ((i = 0; i < ${#ADDR[@]}; i++)); do (exit ${__vsc_status}) builtin eval ${ADDR[i]} done </del> __vsc_precmd }

<img width="965" alt="image" src="https://user-"
<img width="888" alt="Screen Shot 2022-03-31 at 17 04 04" src="https://user-"
It seems that works right on Manjaro X86_64 <img width="822" alt="image" src="https://user-"
Same here, with Arch and default As workaround I blanked the $PROMPT_COMMAND on my
Thanks for finding the , should make it easy to test against
the shell integration feature also breaks long line-wrapping in bash (happens on Ubuntu, too). the terminal wraps the line before reaching the right edge of the terminal window, and it wraps to the same line overwriting the existing ontents of that line. scrolling through line commands in the bash command history is completely broken.
Tentatively assigning to July as this gets hit with Arch's default


Question: import { ContextSubMenu } from 'vs/base/browser/contextmenu'; import { memoize } from 'vs/base/common/decorators'; import { IDialogService } from 'vs/platform/dialogs/common/dialogs'; <ins> import { getHover } from 'vs/editor/contrib/hover/getHover'; </ins> const HOVER_DELAY = 300; const LAUNCH_JSON_REGEX = /launch.json$/;

To be verified with: : : set the new config options start debugging The hover provider should be invoked.


Question: if (isWeb()) { // On web, treat absolute paths as pointing to standard lib files if (filepath.startsWith('/')) { <del> return vscode.Uri.joinPath(this.context.extensionUri, 'node_modules', 'typescript', 'lib', filepath.slice(1)); </del> <ins> return vscode.Uri.joinPath(this.context.extensionUri, 'dist', 'browser', 'typescript', filepath.slice(1)); </ins> } }

<!-- 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.56.2 OS Version: MacOS Catalina 10.15.6 Steps to Reproduce: VSCode Version any typescript file (for example in ) /Ctrl + Click on any native dom method, for example , there should be a error message popups ! I thinks this is caused by the wrong type definition file path in below code:


Question: // use the evil-edit as these models show in readonly-editor only model.applyEdits(edits.map(edit => EditOperation.replace(Range.lift(edit.range), edit.text))); } <del> }).catch(onUnexpectedError); </del> <ins> } catch (error) { onUnexpectedError(error); } </ins> } }

Does this issue occur when all extensions are disabled?: Yes VS Code Version: 1.77.2 OS Version: Windows 10 It seems that when refreshing () the in a short period, the second refresh is not actually performed. I have provided an example repo and a video demonstrating the issue. Basically we have a that shadows the active editor so whenever a user changes the active editor we update the read only document. However, if the user changes the editors quickly enough then the second change is dropped... Steps to Reproduce: the extension the command "Open Read Only Document" tabs quickly and see how it falls behind even though the content is up to date https://user- The content is actually set but it seems the second is dropped. Because if you refresh the document manually it shows the correct content (see the video above). The issue seems to happen more frequently if the content of the file(s) is large.
I found out why it happens and attempted a fix (with explanation) in
Pinging so it does not get lost


Question: throw new ExtensionManagementError(localize('notFoundCompatibleDependency', "Can't install '{0}' extension because it is not compatible with the current version of {1} (version {2}).", extension.identifier.id, this.productService.nameLong, this.productService.version), ExtensionManagementErrorCode.Incompatible); } <del> return compatible; </del> <ins> return compatibleExtension; </ins> } private async installUIDependenciesAndPackedExtensions(local: ILocalExtension): Promise<void> {

VSCode Version: Version: 1.67.0-insider (Universal) Commit: Date: 2022-04-06T05:15:27.397Z (8 hrs ago) Local OS Version: macOs 12.3.1 / arm Remote OS Version: Centos 7 Remote Extension/Connection Type: SSH Logs: Steps to Reproduce: SSH Session the popup, hey Python and Jupyter extensions have pre-release versions or install / switch to pre-release on the extension page Error (but the extensions shows the pre-release state), but afaik that's not the case Note: I removed the vs code server on the remote host and did a new installation (starting from locally with the remote extensions versions), but it actually just installs the stable version on the remote and then the switch is not possible. It should actually consider and install the same version that is used locally, shouldn't it? Can't install pre-release version of 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code - Insiders (version 1.67.0-insider). Does this issue occur when you try this locally?: No Does this issue occur when you try this locally and all extensions are disabled?:No logs: [2022-04-06 15:51:45.599] [renderer1] [info] Downloading the 'ms-toolsai.jupyter' extension locally and install [2022-04-06 15:51:45.626] [renderer1] [error] Can't install pre-release version of 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code - Insiders (version 1.67.0-insider).: IncompatiblePreRelease: Can't install pre-release version of 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code - Insiders (version 1.67.0-insider).


Question: throw new ExtensionManagementError(localize('notFoundCompatibleDependency', "Can't install '{0}' extension because it is not compatible with the current version of {1} (version {2}).", extension.identifier.id, this.productService.nameLong, this.productService.version), ExtensionManagementErrorCode.Incompatible); } <del> return compatible; </del> <ins> return compatibleExtension; </ins> } private async installUIDependenciesAndPackedExtensions(local: ILocalExtension): Promise<void> {

at l.checkAndGetCompatible (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async l.downloadAndInstall (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async l.installFromGallery (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async (index 0) at async Object.j [as settled] (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-) at async Ms.installFromGallery (vscode-file://vscode-app/Applications/Visual%20Studio%20Code%20-)
Would you mind sharing your Remote SSH logs as well? And if you have any gifs or videos of what you're seeing?
! ! And this - but it's just a "refresh" problem, once I switch between extensions it shows the old and unfortunately correct version again: ! And logs...
Your SSH connection looks successful. I'll transfer this issue to the Python extension team to see if they have ideas why this state is happening
This is an error thrown by VS Code, not sure what an extension can do about this as installing extensions is completely managed by VS Code. I'm transferring this back to VS Code.
Same issue happends to me.
I was able to install this manually (remote) by downloading the new extension that I got from this link: By this, you'll switch to the pre-release version. After installing it once manually, all updates work as usual.
Can you please try our latest insiders and see if you can reproduce this issue still?
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
Sorry, I had it already solved and thought it wouldn't occur again + I moved away from using Remote SSH whenever I could. I am now on the latest 1.68 insiders and for whatever reason the jupyter extension reverted to "non pre-release" and the same issue still exists - same error. Same workaround as above fixed the issue for me.
Were you using any remote set up when this happened again? Are you still able to repro it?
Yeah, it's exactly the same setup, just updated (yesterday's) insider build.


Question: throw new ExtensionManagementError(localize('notFoundCompatibleDependency', "Can't install '{0}' extension because it is not compatible with the current version of {1} (version {2}).", extension.identifier.id, this.productService.nameLong, this.productService.version), ExtensionManagementErrorCode.Incompatible); } <del> return compatible; </del> <ins> return compatibleExtension; </ins> } private async installUIDependenciesAndPackedExtensions(local: ILocalExtension): Promise<void> {

And yes, if I uninstall the extension, install release, try to switch, the same happens over and over again. I discovered another bug: switch back to stable is not possible [2022-05-24 12:03:11.208] [remoteagent] [warning] Overwriting user extension with It always pushes me back to the pre-release. I think this may be related to keep local/remote on the same version/track. EDIT: Okay, actually this blocks everyone using insiders with the jupyter and/or other plugins in combination with remote ssh. Since insiders are updated daily, the "vs code server" is updated daily and the plugin is revert/installed again in the non preview version. So my hotfix has to applied daily which is really annoying. EDIT 2: I realised that the current (release today) stable "jupyter" version also has the latest insiders api implemented. So for now and for me that is solved - but the actual bug is still there, I can't switch to pre-release versions in a remote ssh setup.
Sorry that you are having this annoying issue and glad that you are able to reproduce it so that we can investigate. If you don't mind, can you please summarise your repro steps?
So, I now understand why it's a bit complex to reproduce this - I guess... I was even confused myself. So, currently the only way to reproduce it was for me: 1) deinstall the server (rm -rf .vscode-insiders-server) 2) connect/install + install jupyter extensions (local: pre-release) -pre-release installation successful 3) switch to release on remote 4) reload window -I am then on release try to switch to pre-release -issue appears. And now the important part: I realised that I still had the setting because within our company we had restrictions before... setting this to false also fixes the issue - even when it appeared before.
Thanks for the steps. I can reproduce it now and fixed. To verify: Open a remote window and set setting Install pre-release of ESLint extension Reload window Switch to release version of ESLint extension Reload window Switch to pre-release version of ESLint extension Make sure switch happens


Question: './$foo', '../foo', '/foo/bar', <ins> '/foo/[bar]', '/foo/[bar].baz', '/foo/[bar]/baz', </ins> '/foo/bar+more', 'foo/bar', 'foo/bar+more',

<!-- 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: 1.71.0-insider OS Version: macOS Big Sur 11.6 Steps to Reproduce: a link in terminal containing "[" or "]" characters (ex. ) to cmd+click the link, observe that it is split on those characters. For example, links to , , , , and . In reality this is one valid path (nextjs uses "[ ]" to identify parameters in URLs) <img width="526" alt="Screen Shot 2022-09-22 at 5 12 00 PM" src="https://user-"
This works for urls: ! Not local paths: !
reported that it does (kind of) work: ! We would need to review all link detectors for this.
This happens with local links because [] are currently excluded chars:


Question: "git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", <del> "commitHash": "5955d53c480a627b016c592931d9d0345ee2564f" </del> <ins> "commitHash": "a07a70e8db21718dd76644d99892d3e15e0ed440" </ins> } }, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "30.5.0" </del> <ins> "version": "30.5.1" </ins> }, { "component": {

Testing Version: 1.90.0-insider Commit: Date: 2024-05-29T05:51:07.154Z Electron: 29.4.0 ElectronBuildId: Chromium: 122.0.6261.156 20.9.0 V8: 12.2.281.27-electron.0 OS: Linux x64 5.15.0-107-generic open a file in an editor run . This opens a file selection dialog initialized to the home folder
Same problem with open folder dialog
VS Code is awesome, but the open file dialog on Linux has been ridiculously buggy for years. More than two years to fix the problem of the dialog opening in the background. The fix, in the latest version, involves using a dialog inside a portal with no type-ahead support that opens in $HOME or recent files. The open/save file dialog is a crucial control in any application. There should be a way to use the native OS dialog. I'm going to downgrade to the previous version (1.89.1) and keep it as long as it takes.
cc
We hadn't patched the portal code to support most of the file dialogs options, it is being addressed via
This is now addressed in the runtime via , fix will be available once we adopt
Reopening since we have reverted the updated due to other regressions , will be revisited in August.
This issue is not resolved for me, here is for comparison how the file dialog opens in an older version of VS Code vs. now: Good behaviour: ! Bad behaviour: !
Filed
I'm on xfce on xubuntu 22.04. Version 1.89.1-1715060508_amd64 does not have the issue. Later versions do have it. The problem is that instead of forcing the "Open File" path, to that of the current file being edited, vscode delegates the path selection to the operating system, which resolves the "Recent Files" path. Since recent files is truly not useful in vscode, I can at least pilot the path to be that of the home folder with $gsettings set startup-mode 'cwd' from the previous value. Clearly this is very inconvenient. Is there any update about it?
The issue is not resolved for me either.


Question: "git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", <del> "commitHash": "5955d53c480a627b016c592931d9d0345ee2564f" </del> <ins> "commitHash": "a07a70e8db21718dd76644d99892d3e15e0ed440" </ins> } }, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "30.5.0" </del> <ins> "version": "30.5.1" </ins> }, { "component": {

The file-open and directory-open dialogs still do not appear even though built on Electron 30.1.2. This is reproducible 100% of the time in openSUSE Tumbleweed and in Leap.
The file-open/directory-open or save dialog not being shown remains unresolved on Linux in release 1.93.1 built with electron 30.4.0.


Question: if (type === 'chat') { content.push(descriptionForCommand('chat.action.focus', localize('workbench.action.chat.focus', 'The Focus Chat command ({0}) focuses the chat request/response list, which can be navigated with UpArrow/DownArrow.',), localize('workbench.action.chat.focusNoKb', 'The Focus Chat List command focuses the chat request/response list, which can be navigated with UpArrow/DownArrow and is currently not triggerable by a keybinding.'), keybindingService)); content.push(descriptionForCommand('workbench.action.chat.focusInput', localize('workbench.action.chat.focusInput', 'The Focus Chat Input command ({0}) focuses the input box for chat requests.'), localize('workbench.action.interactiveSession.focusInputNoKb', 'Focus Chat Input command focuses the input box for chat requests and is currently not triggerable by a keybinding.'), keybindingService)); <del> content.push('Chat responses may contain code blocks which can be tabbed to. Use typical editor keybindings to select and copy text. To further interact with these code blocks, run the following commands:'); content.push(descriptionForCommand('workbench.action.chat.insertCodeBlock', localize('workbench.action.chat.insertCodeBlock', 'Insert Code Block ({0}) inserts the code at the current cursor location in last active editor'), localize('workbench.action.chat.insertCodeBlockNoKb', 'Insert Code Block inserts the code at the current cursor location and is currently not triggerable by a keybinding.'), keybindingService)); content.push(descriptionForCommand('workbench.action.chat.insertIntoNewFile', localize('workbench.action.chat.insertIntoNewFile', 'Insert into New File ({0}) creates a new file with the code block as its content'), localize('workbench.action.chat.insertIntoNewFileNoKb', 'Insert into New File creates a new file with the code block as its content and is currently not triggerable by a keybinding.'), keybindingService)); content.push(descriptionForCommand('workbench.action.chat.runInTerminal', localize('workbench.action.chat.runInTerminal', 'Run in Terminal ({0}) runs the code block in the terminal'), localize('workbench.action.chat.runInTerminalNoKb', 'Run in Terminal runs the code block in the terminal and is currently not triggerable by a keybinding.'), keybindingService)); </del> } else { content.push(localize('interactiveSession.makeRequest', "Tab once to reach the make request button, which will re-run the request.")); const regex = /^(/fix|/explain)/;

We should not translate the PHP parser error messages, but we should localize the strings that appear in the Code UI. !


Question: return; } <ins> if (!(context.cell instanceof SideBySideDiffElementViewModel)) { return; } </ins> const original = context.cell.original; const modified = context.cell.modified; <del> if (!original || !modified) { </del> <ins> const modifiedCellIndex = context.cell.mainDocumentTextModel.cells.indexOf(modified.textModel); if (modifiedCellIndex === -1) { </ins> return; } <del> modified.textModel.metadata = original.metadata; </del> <ins> const rawEdits: ICellEditOperation[] = [{ editType: CellEditType.Metadata, index: modifiedCellIndex, metadata: original.metadata }]; if (context.cell.original.language && context.cell.modified.language !== context.cell.original.language) { rawEdits.push({ editType: CellEditType.CellLanguage, index: modifiedCellIndex, language: context.cell.original.language }); } context.cell.modifiedDocument.applyEdits(rawEdits, true, undefined, () => undefined, undefined, true); </ins> } });

Testing Before reverting metadata ! After reverting ! language remains . If I try to revert, nothing happens.
I was expecting the revert will revert the content to the version on the left side if the diff editor is opened from the timeline view, but it seems reverting to something different.
I think this can be fixed next month.
Thats a duplicate of Marking as as metadta gets reverted
Yes, the plan is to fix next month, I have a PR, but do not want to merge it just yet Its a slightly convoluted issue,


Question: } } ); <ins> this.run().then(undefined, onUnexpectedError); </ins> } private async run() {

sure the File Explorer is visible temporary profile window Welcome editor fails to open. cc
Due to:
and I also reproduced this when testing out her walkthrough changes:


Question: z-index: 3; } <ins> .monaco-workbench .zone-widget.inline-chat-widget .interactive-session { max-width: unset; } </ins> .monaco-workbench .zone-widget-container.inside-selection { background-color: var(--vscode-inlineChat-regionHighlight); }

Just asked hi: ! Expected: ! Version: 1.88.0-insider (user setup) Commit: Date: 2024-03-25T05:49:32.344Z Electron: 28.2.6 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. GitHub Copilot Chat v0.14. (pre-release)
because of
To verify configure have a very wide view port ask AI to change some code make sure the input widget is full width of the zone widget


Question: z-index: 3; } <ins> .monaco-workbench .zone-widget.inline-chat-widget .interactive-session { max-width: unset; } </ins> .monaco-workbench .zone-widget-container.inside-selection { background-color: var(--vscode-inlineChat-regionHighlight); }

cmd+i now cmd+backspace invokes instead of deleting the line in the text editor The ChatWidget is writing its context keys to the editor's ContextKeyService, so we need a scoped CKS at some point, either inside the ChatWidget or outside in the inline widgets
pushing a fix to use a scoped CKS but this does look like debt. Isn't a better fix to reset context keys when hiding/dispose the chat widget?
I don't think those context keys should be applied on the editor at all, they are intended to just be active inside the widget's dom tree.


Question: await this.userDataSyncService.resetLocal(); } } catch (error) { <ins> this.logService.error(error); </ins> if (softTurnOffOnError) { <del> this.logService.error(error); </del> this.updateEnablement(false); } else { throw error;

Error while turning off settings sync ! Might happen when turning off settings sync while a sync is happening
Can't repro this anymore.


Question: return 1; } <del> if (isSCMViewSeparator(one)) { if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } return 0; } </del> if (isSCMResourceGroup(one)) { <del> if (!isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } </del> <ins> return isSCMResourceGroup(other) ? 0 : -1; } </ins> <del> return 0; </del> <ins> if (isSCMViewSeparator(one)) { return isSCMResourceGroup(other) ? 1 : -1; </ins> } if (isSCMHistoryItemGroupTreeElement(one)) { <del> if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other) && !isSCMViewSeparator(other)) { throw new Error('Invalid comparison'); } return 0; </del> <ins> return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1; </ins> } if (isSCMHistoryItemTreeElement(one)) {

Steps to Reproduce: a directory with Git initialized. "Incoming/Outgoing" section in the SCM pane appear. Could be done by either: Make sure the current branch has an upstream branch, then commit something. Or Set and to . the page. a change to a file. Expected result: the file appears under "Changes" section in SCM pane. Actual result: the "Changes" section doesn't appear in SCM pane. Expected result: the file appears under "Staged changes" section in SCM pane. Actual result: the "Staged changes" section doesn't appear in SCM pane. Happens on Firefox 121.0, Ubuntu 22.04. Doesn't seem to happen on Chromium 120 and WebKitGTK 2.42.3. Happens in GitHub Codespaces: Also happens with code-server: Also happens with OpenVSCode Server insider:
I'm experiencing the same or a very similar issue in latest code-server using Firefox. I can no longer open the repository in source control if there are any incoming/outgoing changes and instead am getting an exception in the browser console without the repository opening. Likely the reason the issue appears slightly differently for me is because I have multiple repositories in source control. For anyone else affected the following settings are making this issue to not occur:
Same here but not consistent: Version: 1.85.1 (user setup) Commit: Date: 2023-12-13T09:49:37.021Z Electron: 25.9.7 ElectronBuildId: Chromium: 114.0.5735.289 18.15.0 V8: 11.4.183.29-electron.0 OS: Windows_NT x64 10.0.
could you please try VS Code Insiders and see if you are still able to reproduce the problem? I have fixed couple of issues in this area and it would be great if you could try Insiders to make sure that this issue is covered by my fixes as well. Thanks!
Tested with OpenVSCode-server insiders, which is rebased on top of commit ("Sanity Bounds for "window.zoomLevel" ( ()") [1]. The issue still exists.


Question: return 1; } <del> if (isSCMViewSeparator(one)) { if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } return 0; } </del> if (isSCMResourceGroup(one)) { <del> if (!isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } </del> <ins> return isSCMResourceGroup(other) ? 0 : -1; } </ins> <del> return 0; </del> <ins> if (isSCMViewSeparator(one)) { return isSCMResourceGroup(other) ? 1 : -1; </ins> } if (isSCMHistoryItemGroupTreeElement(one)) { <del> if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other) && !isSCMViewSeparator(other)) { throw new Error('Invalid comparison'); } return 0; </del> <ins> return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1; </ins> } if (isSCMHistoryItemTreeElement(one)) {

code-server doesn't release insider builds, and I don't know how to test insider builds of GitHub codespaces' web UI, so I can't test those. (Off topic, but does GitHub codespaces provide an insider build for web interface by any chance?) [1]:
if you open a GitHub Codespace, you can click on the "Gear" icon in the activity bar, and there is a menu item to switch to VS Code Insiders. You can try that out and let me know if you are still able to reproduce the issue. Thank you!
Thank you. Tested with the GitHub Codespaces + VSCode insiders [1], the issue can still be reproduced. Interestingly, if I change the to and then to again, the "Source control" pane essentially freeze: the "Incoming/Outgoing" section doesn't comeback, and further changes to the working directory is not shown anymore (like, if you add another file, it doesn't show up, even after I click "Refresh" button). [1]
thanks for trying this out. Could you please confirm that this indeed can only be reproduce in Firefox and everything works as expected in a Chromium based browser (ex: Chrome, Edge, etc)? Could you please the developer tools console and see if there are any relevant errors there? Could you also invoke the "Git: Show Git Output" command and send me the contents of it?
Yes. This only happens in Firefox. It doesn't happen in Chromium [1], and Gnome Web (WebKit-based) [2]. <details[1] <preVersion: 1.86.0-insider Commit: Date: 2024-01-23T06:18:07.155Z Browser: Mozilla/5.0 (X11; Linux x8664) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 </pre[2] <preVersion: 1.86.0-insider Commit: Date: 2024-01-23T06:18:07.155Z Browser: Mozilla/5.0 (X11; Ubuntu; Linux x8664) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15 </pre</detailsThere seems to be.


Question: return 1; } <del> if (isSCMViewSeparator(one)) { if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } return 0; } </del> if (isSCMResourceGroup(one)) { <del> if (!isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } </del> <ins> return isSCMResourceGroup(other) ? 0 : -1; } </ins> <del> return 0; </del> <ins> if (isSCMViewSeparator(one)) { return isSCMResourceGroup(other) ? 1 : -1; </ins> } if (isSCMHistoryItemGroupTreeElement(one)) { <del> if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other) && !isSCMViewSeparator(other)) { throw new Error('Invalid comparison'); } return 0; </del> <ins> return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1; </ins> } if (isSCMHistoryItemTreeElement(one)) {

As soon as I change to , this error pops up in the brower's console. And it seems to pop up every time I press "Refresh" in the source control pane too. <details<preUncaught (in promise) Error: Invalid comparison compare K K z w F E D C B z updateChildren Cc a promise callbackqueue Cc queue Cc W y fire z y z fire Lb wb reloadLocalUserConfiguration Hb updateValue updateValue Pc Mc b promise callbacktrigger Mc Lc ge y </pre</detailsHere it is. Although, I'm not sure how useful it is. <details<pre2024-01-23 10:40:31.442 [info] Log level: Info 2024-01-23 10:40:31.442 [info] Validating found git in: "git" 2024-01-23 10:40:31.442 [info] Using git "2.43.0" from "git" 2024-01-23 10:40:31.442 [info] git rev-parse --show-toplevel [126ms] 2024-01-23 10:40:31.442 [info] git rev-parse --git-dir --git-common-dir [9ms] 2024-01-23 10:40:31.442 [info] Open repository: /workspaces/core-base 2024-01-23 10:40:31.442 [info] git config --get commit.template [78ms] 2024-01-23 10:40:31.442 [info] git rev-parse --show-toplevel [65ms] 2024-01-23 10:40:31.481 [info] git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/main refs/remotes/main [22ms] 2024-01-23 10:40:31.483 [info] git rev-parse --show-toplevel [5ms] 2024-01-23 10:40:31.501 [warning] ENOENT: no such file or directory,


Question: return 1; } <del> if (isSCMViewSeparator(one)) { if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } return 0; } </del> if (isSCMResourceGroup(one)) { <del> if (!isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } </del> <ins> return isSCMResourceGroup(other) ? 0 : -1; } </ins> <del> return 0; </del> <ins> if (isSCMViewSeparator(one)) { return isSCMResourceGroup(other) ? 1 : -1; </ins> } if (isSCMHistoryItemGroupTreeElement(one)) { <del> if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other) && !isSCMViewSeparator(other)) { throw new Error('Invalid comparison'); } return 0; </del> <ins> return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1; </ins> } if (isSCMHistoryItemTreeElement(one)) {

open '/workspaces/core-' 2024-01-23 10:40:31.523 [info] git rev-parse --show-toplevel [5ms] 2024-01-23 10:40:31.523 [info] git rev-parse refs/remotes/origin/main [23ms] 2024-01-23 10:40:31.630 [info] git status -z -uall [89ms] 2024-01-23 10:40:31.631 [info] git rev-parse --show-toplevel [70ms] 2024-01-23 10:40:31.674 [info] git rev-parse --show-toplevel [18ms] 2024-01-23 10:40:31.675 [info] git config --get commit.template [4ms] 2024-01-23 10:40:31.716 [info] git rev-parse --show-toplevel [26ms] 2024-01-23 10:40:31.718 [info] git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/main refs/remotes/main [12ms] 2024-01-23 10:40:31.736 [warning] ENOENT: no such file or directory, open '/workspaces/core-' 2024-01-23 10:40:31.755 [info] git rev-parse refs/remotes/origin/main [20ms] 2024-01-23 10:40:31.784 [info] git merge-base refs/heads/main refs/remotes/origin/main [30ms] 2024-01-23 10:40:31.855 [info] git status -z -uall [84ms] 2024-01-23 10:40:31.863 [info] git rev-list --count --left-right [17ms] 2024-01-23 10:40:33.111 [info] git config --local [138ms] 2024-01-23 10:40:33.


Question: return 1; } <del> if (isSCMViewSeparator(one)) { if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } return 0; } </del> if (isSCMResourceGroup(one)) { <del> if (!isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } </del> <ins> return isSCMResourceGroup(other) ? 0 : -1; } </ins> <del> return 0; </del> <ins> if (isSCMViewSeparator(one)) { return isSCMResourceGroup(other) ? 1 : -1; </ins> } if (isSCMHistoryItemGroupTreeElement(one)) { <del> if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other) && !isSCMViewSeparator(other)) { throw new Error('Invalid comparison'); } return 0; </del> <ins> return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1; </ins> } if (isSCMHistoryItemTreeElement(one)) {

111 [warning] git config failed: Failed to execute git 2024-01-23 10:40:49.678 [info] git config --get commit.template [2ms] 2024-01-23 10:40:49.709 [info] git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/main refs/remotes/main [5ms] 2024-01-23 10:40:49.732 [warning] ENOENT: no such file or directory, open '/workspaces/core-' 2024-01-23 10:40:49.733 [info] git rev-parse refs/remotes/origin/main [1ms] 2024-01-23 10:40:49.768 [info] git status -z -uall [9ms] 2024-01-23 10:40:49.854 [info] git merge-base refs/heads/main refs/remotes/origin/main [2ms] 2024-01-23 10:40:49.873 [info] git rev-list --count --left-right [2ms] 2024-01-23 10:41:41.011 [info] git config --get commit.template [15ms] 2024-01-23 10:41:41.012 [info] git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) refs/heads/main refs/remotes/main [3ms] 2024-01-23 10:41:41.026 [warning] ENOENT: no such file or directory, open '/workspaces/core-' 2024-01-23 10:41:41.029 [info] git rev-parse refs/remotes/origin/main [2ms] 2024-01-23 10:41:41.049 [info] git status -z -uall [7ms] 2024-01-23 10:41:41.


Question: return 1; } <del> if (isSCMViewSeparator(one)) { if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } return 0; } </del> if (isSCMResourceGroup(one)) { <del> if (!isSCMResourceGroup(other)) { throw new Error('Invalid comparison'); } </del> <ins> return isSCMResourceGroup(other) ? 0 : -1; } </ins> <del> return 0; </del> <ins> if (isSCMViewSeparator(one)) { return isSCMResourceGroup(other) ? 1 : -1; </ins> } if (isSCMHistoryItemGroupTreeElement(one)) { <del> if (!isSCMHistoryItemGroupTreeElement(other) && !isSCMResourceGroup(other) && !isSCMViewSeparator(other)) { throw new Error('Invalid comparison'); } return 0; </del> <ins> return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1; </ins> } if (isSCMHistoryItemTreeElement(one)) {

112 [info] git merge-base refs/heads/main refs/remotes/origin/main [2ms] 2024-01-23 10:41:41.131 [info] git rev-list --count --left-right [3ms] </pre</details


Question: if (lens.command) { const title = renderLabelWithIcons(lens.command.title.trim()); if (lens.command.id) { <del> children.push(dom.$('a', { id: String(i) }, ...title)); </del> <ins> children.push(dom.$('a', { id: String(i), title: lens.command.tooltip }, ...title)); </ins> this._commands.set(String(i), lens.command); } else { <del> children.push(dom.$('span', undefined, ...title)); </del> <ins> children.push(dom.$('span', { title: lens.command.tooltip }, ...title)); </ins> } if (i + 1 < lenses.length) { children.push(dom.$('span', undefined, 'u00a0|u00a0'));


Question: this.root.children = this.root.children .filter(child => child instanceof SettingsTreeSettingElement && child.matchesAllTags(this._viewState.tagFilters) && child.matchesScope(this._viewState.settingsTarget, isRemote) && child.matchesAnyExtension(this._viewState.extensionFilters) && child.matchesAnyId(this._viewState.idFilters) && child.matchesAnyFeature(this._viewState.featureFilters) && child.matchesAllLanguages(this._viewState.languageFilter)); <del> if (this.newExtensionSearchResults && this.newExtensionSearchResults.filterMatches.length) { const resultExtensionIds = this.newExtensionSearchResults.filterMatches </del> <ins> if (this.newExtensionSearchResults?.filterMatches.length) { let resultExtensionIds = this.newExtensionSearchResults.filterMatches </ins> .map(result => (<IExtensionSetting>result.setting)) .filter(setting => setting.extensionName && setting.extensionPublisher) .map(setting => `${setting.extensionPublisher}.${setting.extensionName}`); <ins> resultExtensionIds = arrays.distinct(resultExtensionIds); </ins> <del> const newExtElement = new SettingsTreeNewExtensionsElement('newExtensions', arrays.distinct(resultExtensionIds)); newExtElement.parent = this._root; this._root.children.push(newExtElement); </del> <ins> if (resultExtensionIds.length) { const newExtElement = new SettingsTreeNewExtensionsElement('newExtensions', resultExtensionIds); newExtElement.parent = this._root; this._root.children.push(newExtElement); } </ins> } }

Testing settings UI for " fontsize" "Show matching extensions" blue button no it - no effect fyi !
It shouldn't show up when the filter is present, I guess


Question: if (--existing.refcount <= 0) { existing.value.then(tunnel => tunnel.dispose()); this._tunnels.delete(tunnel.tunnelRemotePort); <del> this._onTunnelClosed.fire(tunnel.tunnelRemotePort); </del> } <ins> } else { tunnel.dispose(); this._onTunnelClosed.fire(tunnel.tunnelRemotePort); </ins> } } };

Refs: x, open our in a docker container with node10 install, open debug viewlet create a by clicking on the launch gear and press debug start a port 3000 to your localhost 3000. Hit the port locally and notice how you get the application Forwarding port 3000 a port localy and notice that you still get the application even though you stopped the forwarding :bug:


Question: https-proxy-agent "^5.0.0" proxy-from-env "^1.1.0" <del> "@vscode/ripgrep@^1.15.4": version "1.15.4" resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.15.4.tgz#ca8946b5580bbea1e706ed8d3b1eed5f0d551ab6" integrity sha512-+EPIS2aoD95MFLrgGHd/D2fck42aMRV2cBrT7BiNvKBeSyCTybSaTJ+PGQf6zV/95AhaXHHYqYPVRk3DZoGU9w== </del> <ins> "@vscode/ripgrep@^1.15.5": version "1.15.5" resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.15.5.tgz#26025884bbc3a8b40dfc29f5bda4b87b47bd7356" integrity sha512-PVvKNEmtnlek3i4MJMaB910dz46CKQqcIY2gKR3PSlfz/ZPlSYuSuyQMS7iK20KL4hGUdSbWt964B5S5EIojqw== </ins> dependencies: https-proxy-agent "^5.0.0" proxy-from-env "^1.1.0"

From Probably a regression from making aarch64-linux ripgrep build statically compiled to fix We might need to dynamically compile ripgrep instead of using musl, and find a container to compile it in. related // cc
Looks like jemalloc just needs to be configured with to support 16K page size. This can be achieved by setting the environment variable: (16K page size) Or to support 64K page size as well: (64K page size) In either case, it'd still work for 4K/16K(/64K) page sizes.
Do we have any good news on this? I found the similar thing happened before on other application like , probably we can use the same approach to solve this one?
Any update on this issue ?
Temporary Workaround: To address the issue until it is fixed, follow these steps: Install ripgrep and obtain its path. For Rocky Linux or any RHEL-based Linux distribution, run the following command with root privileges: For Ubuntu, use the following command: Alternatively, you can install ripgrep using Cargo: Verify the installation and retrieve the path by running: Replace the broken rg with a symlink by executing the following script. Please note that you should remove the echo commands to commit the changes: This workaround should help resolve the issue temporarily.
This should be fixed in tomorrow's VS Code Insiders. Please try it out and let me know if it works for you!
I tried but it seems not fixed or not included the fix. execute from the remote server(aarch64) and got <jemalloc: Unsupported system page size <jemalloc: Unsupported system page size memory allocation of 5 bytes failed find: ‘.vscode-server-insiders/bin//nodemodules/ terminated by signal 6 (after resetting the remote environment by deleting .vscode-server-insiders folder on the remote, and vscode reloaded. - 'Developer: Reload Window')
Are you running 16K page size or 64K?
I got $ getconf PAGESIZE on the aarch64 remote (Rocky Linux 8, aws r7g instance/Graviton3 processors).


Question: https-proxy-agent "^5.0.0" proxy-from-env "^1.1.0" <del> "@vscode/ripgrep@^1.15.4": version "1.15.4" resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.15.4.tgz#ca8946b5580bbea1e706ed8d3b1eed5f0d551ab6" integrity sha512-+EPIS2aoD95MFLrgGHd/D2fck42aMRV2cBrT7BiNvKBeSyCTybSaTJ+PGQf6zV/95AhaXHHYqYPVRk3DZoGU9w== </del> <ins> "@vscode/ripgrep@^1.15.5": version "1.15.5" resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.15.5.tgz#26025884bbc3a8b40dfc29f5bda4b87b47bd7356" integrity sha512-PVvKNEmtnlek3i4MJMaB910dz46CKQqcIY2gKR3PSlfz/ZPlSYuSuyQMS7iK20KL4hGUdSbWt964B5S5EIojqw== </ins> dependencies: https-proxy-agent "^5.0.0" proxy-from-env "^1.1.0"

Meanwhile, executing the same command above on x86-64 remote, I got the normal rg help print out as like error: The following required arguments were not provided: and correcting the hand typed typo above of vscode insider version info Version: 1.79.0-insider (user setup) Commit: Date: 2023-05-19T20:39:14.598Z Electron: 22.5.2 Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: WindowsNT x64 10.0.
Hmm ok. I tried setting the env variable to increase max page size for jemalloc, but it seems to not be working. I'll try another approach.
If you let me know what you are attempting, I can also try out some stuff. Page size here is
Is this fixed in the latest release version of VScode? I just check on my arm64 container but it seems not working. VScode Version: 1.79.0 (Universal)
Same with Switched to newest insider build. . Problem not solved. Went to server, killed and deleted . Tried again to bootstrap. Problem is still NOT resolved. Search is still limited to open files.
!
Here is some useful link detailing what I think is the problem. Not sure if it is resolved by now. But if info from the discussion is current, I think you will have to either compile on the target system, or ship different precompiled versions of binary and select the correct one depending on the system specs (see ).
We do cross-compile for different systems for ripgrep I'll have to take another look.
So, my interpretation is, that the page-size is hard-coded into jemalloc. When the system page size at runtime differs from the one it is compiled for, it will fail. In other words, the one shipped right now fails out of the box: From your linked repo, I understand that you now focus on 16k page size. That would also not help me (if my suspicion is right), as my system's page size is: 64k
: Temporary fix. Bootstrap on target ARM system. You should have a directory called now. That is where the vscode server lives.