jiebi/CodeConvo huggingface dataset:
Change:
}; const [[settingsContent], standAloneConfigurationContents] = await Promise.all([ <del> resolveContents([this.settingsResource]), </del> <ins> donotResolveSettings ? Promise.resolve([undefined]) : resolveContents([this.settingsResource]), </ins> resolveContents(this.standAloneConfigurationResources.map(([, resource]) => resource)), ]); return [settingsContent, standAloneConfigurationContents.map((content, index) => ([this.standAloneConfigurationResources[index][0], content]))]; } <del> async loadConfiguration(): Promise<ConfigurationModel> { </del> <ins> async loadConfiguration(settingsConfiguration?: ConfigurationModel): Promise<ConfigurationModel> { </ins> <del> const [settingsContent, standAloneConfigurationContents] = await this.resolveContents(); </del> <ins> const [settingsContent, standAloneConfigurationContents] = await this.resolveContents(!!settingsConfiguration); </ins> // reset this._standAloneConfigurations = [];

Discussion:
apply the patch that logs fs calls which is included below run open a folder and open a single css file don't modify it (i.e. avoid hot exit) and reload the window <details<summaryPatch</summary</detailsObserve the following fs calls that occur before the first editor rendering: IMHO the following fs calls should be postponed: [ ] [ ] [ ] [x] I also noticed that we read the following files twice: [ ]
I have no clue what we use install source for, but lots of digging reveals this commit:
Updating the list - is only read once.
is read twice because First time during initialising configuration without user tasks User tasks is read later when there is an idle time - by reloading user configuration - during which settings and tasks files are read.
Install source is a common telemetry property. It can be set after installing VS Code. It came as an ask from Anaconda, to know how many installations came from them. We decided to go with creating a new file rather than updating existing files, to avoid scenarios where we'd break important files (eg or ). I don't have great ideas to work around this other than refactoring the code until the first telemetry event gets submitted, which is still pretty early. Will ask around to learn whether this common telemetry property is still in use.
is gone!
Tasks and Launches are part of Config and they are accessed sync from config service. In order to prevent reading these files during start up we should loading them until they are needed. (probably workbench restored phase) an assertion to make sure no component is reading them until then
This needs considerable refactoring and I do not think it is worth a change for the gain given that these files are resolved in parallel. Hence marking this as no fix.
Change:
const closeButton = dom.append(innerDiv, $('.button' + ThemeIcon.asCSSSelector(registerIcon('color-picker-close', Codicon.close, localize('closeIcon', 'Icon to close the color picker'))))); closeButton.classList.add('close-icon'); <del> this._button.onclick = () => { </del> <ins> this._register(dom.addDisposableListener(this._button, dom.EventType.CLICK, () => { </ins> this._onClicked.fire(); <del> }; </del> <ins> })); </ins> } }

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- 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.84.2 OS Version: Ubuntu 23.04 a text editor the command palette the command the color picker is visible, press to hide the color picker that two click event listeners have been , but not been removed:
Good catch, thanks a lot for the PR
Change:
const result: HTMLElement = renderMarkdown({ value: `![image](http://example.com/cat.gif|height=200,width=100 'caption')` }).element; assertNodeEquals(result, `<div><p><img height="200" width="100" title="caption" alt="image" src="http://example.com/cat.gif"></p></div>`); }); <ins> test('image with file uri should render as same origin uri', () => { const result: HTMLElement = renderMarkdown({ value: `![image](file:///images/cat.gif)` }).element; assertNodeEquals(result, '<div><p><img src="vscode-file://vscode-app/images/cat.gif" alt="image"></p></div>'); }); </ins> }); suite('Code block renderer', () => {

Discussion:
Version: 1.62.0-insider (Universal) Commit: Date: 2021-10-28T05:14:00.367Z Electron: 13.5.1 Chrome: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin arm64 20.6.0 Setting , on the markdown document of a completion item, an tag cannot load a PNG file if the path given as a URI with . If the path given as the path of a local filesystem, it can load the file. Steps to Reproduce: one of images cannot be loaded. !
Can I pick this up?
Sure, the relevant code where we fix image paths is:
For the markdown syntax images, if the URI schema is , that's being changed to . For the HTML tag images, the file URI remains as is. The HTML image with URI doesn't load due to CSP violation.
Yes uris are blocked for security reasons. The problem is that raw html tags don't go through the transform that I linked to One thing to try would be to look for image nodes in the rendered markdown and then transform their uris instead of relying on the markdown parser to handle the transform. Try looking at for that
/verified
Change:
} // Handle empty to restore <del> if (emptyToRestore.length > 0) { emptyToRestore.forEach(emptyWindowBackupInfo => { </del> <ins> const allEmptyToRestore = arrays.distinct(emptyToRestore, info => info.backupFolder); // prevent duplicates if (allEmptyToRestore.length > 0) { allEmptyToRestore.forEach(emptyWindowBackupInfo => { </ins> const remoteAuthority = emptyWindowBackupInfo.remoteAuthority; const fileInputsForWindow = (fileInputs && fileInputs.remoteAuthority === remoteAuthority) ? fileInputs : undefined;

Discussion:
Open a folder Create untitled file with some content Quit vscode Open vscode Two windows are opened, one has the folder +untitled file, other is an empty window + untitled file. So the same untitled file is opened in two windows.
I could only repro this with an empty window: Code via finder all files/folders an untitled file, add changes +q Code via finder <img width="490" alt="screen shot 2019-03-07 at 5 42 14 pm" src="https://user-"
Moving this to as the last who touched this code.
for some reason the  array has multiple entries for the same window?
Temporally until update is not yet, for prevent backup window add to settings "window.restoreWindows": "none"
When set , then every close & start VSCode will multiple windows (1 -2, 2 -4, 4 -6, and so on). Fix is needed ASAP.
this change is not in the recovery build yet pending right?
Pushed.
I saw this by downgrading from 1.32.2 to 1.31.1, then upgrading back. But I don't think we care about that.
I can confirm that this issue is fixed in the latest 1.32.2 release! Thanks! But another one what I noticed: VS Code one existing document Optional: Open a new tab or new window with a new tab and type anything and do NOT save this new file VS Code -Open VS Code Now all tabs are correctly restored! VS Code a File from Windows Explorer with right-click and open in VS Code All tabs should re-opened (Tabs/files from Step 2., 3. and 7.) Only the unsaved file from step 3. and the one from the Windows Explorer, step 7. are opened. And the last session (int this example, file from step 1. is lost! Is this wanted or can this be configured?
Confirm fix and also above bug with 1.32.2 and 1.32.3. Could You report this as new issue? Now session is partially broken :-(
thanks. Please see
Change:
return this.windowService.focusWindow() .then(() => this.open(extension)); } return this.queryGallery({ names: [extensionId], source: 'uri' }, CancellationToken.None).then(result => { if (result.total < 1) { return Promise.resolve(null);

Discussion:
Issue Type: <bBug</bI noticed when I install extension by clicking on the green "Install" button from within the VScode extension page, as opposed to the "Would you like to install..." notification/chat bubble in the lower right corner of the editor, the chat bubble stays there, asking me if I want to install the extension I just installed. Would be great if the state was in sync and the bubble would be dismissed when I installed the extension, no matter how. <details<summaryScreenshot after installation</summary<img width="2032" alt="Screen Shot 2019-05-06 at 17 54 50" src="https://user-"</detailsVS Code version: Code 1.33.1 (, 2019-04-11T08:22:55.268Z) OS version: Darwin x64 18.5.0 <details<summarySystem Info</summary </details<details<summaryExtensions (19)</summaryExtensionVersion ------ project-manager10.5.1 solargraph0.19.6 bracket-pair-colorizer1.0.61 vscode-eslint1.8.2 es7-react-js-snippets2.2.2 gitlens9.7.1 prettier-vscode1.9.0 rails-snippets1.0.8 rest-client0.21.2 vscode-codemetrics1.18.0 vscode-language-babel0.0.22 ruby-rubocop0.8.0 sublime-keybindings4.0.0 debugger-for-chrome4.11.3 JavaScriptSnippets0.2.0 ruby0.22.3 code-settings-sync3.2.9 change-case1.0.0 JavaScriptSnippets1.7.2 </details<!-- generated by issue reporter --
, I would like to try this , Some starter and code pointers would be helpful :)
It depends on how got this notification. can you please let us know how you got this?
It shouldn't depend on that. I got it by clicking install button in VS Code Extension Marketplace website, in the browser.
This notification comes from here -
, I checked the code but just wanted to discuss on one thing .

Is that notification needed in the first place , clicking on install button on top will do the same job , Also removing that notification will keep the two scenarios consistent and same (Normally opening that extension page and opening the extension page from browser) We can remove the notification prompt to fix the inconsistency .
, were you able to look into this ? I can remove the notification bubble and send a PR, please confirm :)
Yeah it look unnecessary for me. Please remove it.
Change:
export class EditorOverrideService extends Disposable implements IEditorOverrideService { readonly _serviceBrand: undefined; <ins> private static readonly configureDefaultID = 'promptOpenWith.configureDefault'; </ins> private _contributionPoints: Map<string | glob.IRelativePattern, ContributionPoints> = new Map<string | glob.IRelativePattern, ContributionPoints>(); private static readonly overrideCacheStorageID = 'editorOverrideService.cache'; private cache: Set<string> | undefined;

Discussion:
When changing the default editor we show a in the quick pick to change this. The gear action by itself is not clear that it will immediately change the default and assume there would be another screen to confirm. ! Change the flow to match how you select different formatters to make it clearer/explicit. In the formatter case, there is a "Configure Default Formatter..." that is clear and indicates that user input is required on the next step. The same can be applied to default editors. ! cc
Change:
const contextKeyService = this.contextKeyService.createOverlay([['editorLineNumber', lineNumber]]); const menu = this.menuService.createMenu(MenuId.EditorLineNumberContext, contextKeyService); <del> const actions: IAction[][] = []; </del> <ins> const allActions: [string, (IAction | MenuItemAction | SubmenuItemAction)[]][] = []; </ins> this.instantiationService.invokeFunction(accessor => { for (const generator of GutterActionsRegistry.getGutterActionsGenerators()) { <del> const collectedActions: IAction[] = []; generator({ lineNumber, editor: this.editor, accessor }, { push: (action: IAction) => collectedActions.push(action) }); actions.push(collectedActions); </del> <ins> const collectedActions = new Map<string, IAction[]>(); generator({ lineNumber, editor: this.editor, accessor }, { push: (action: IAction, group: string = 'navigation') => { const actions = (collectedActions.get(group) ?? []); actions.push(action); collectedActions.set(group, actions); } }); for (const [group, actions] of collectedActions.entries()) { allActions.push([group, actions]); } </ins> } <ins> allActions.sort((a, b) => a[0].localeCompare(b[0])); </ins> const menuActions = menu.getActions({ arg: { lineNumber, uri: model.uri }, shouldForwardArgs: true }); <del> actions.push(...menuActions.map(a => a[1])); </del> <ins> allActions.push(...menuActions); </ins> // if the current editor selections do not contain the target line number, // set the selection to the clicked line number

Discussion:
configure "testing.defaultGutterClickAction": "contextMenu", open a test file and click on a test icon a context menu opens but the test commands aren't atop <img width="356" alt="Screenshot 2023-03-31 at 15 41 37" src="https://user-"
Change:
private _uri: URI | undefined; private _entries: OutlineEntry[] = []; get entries(): OutlineEntry[] { <ins> if (this.delayedOutlineRecompute.isTriggered()) { this.delayedOutlineRecompute.cancel(); this._recomputeState(); } </ins> return this._entries; }

Discussion:
Testing ! This happened when updating the file on disk outside of vscode, I'll try to find a consistent repro
a notebook with several markdown headers in insiders the same notebook in stable and add a header :bug: outline in insiders is not updated (stable does update when doing this in reverse) a different markdown header in insiders :bug: screencheese
!
Thanks I can replicate this issue.
Giving the issue back to Aaron to verify. My Python install's a bit broken.

Testing open show outline and have sticky scroll enabled scroll the cell with "# Header " into view delete the cell :bug: the sticky scroll breaks, the error below is printed <img width="1482" alt="Screenshot 2024-04-23 at 08 51 18" src=""
I'm unable to repro this. Please can you share a screen recording of the steps. Perhaps recoding from opehning the notebook to selecting and deleting. Thanks.
Looking at the stacktrace tells me this is coming here which means the model had been already
following the steps above (empty profile) always reproduce the error (console) for me. The screen cheese shows in sticky scroll and/or other paces of the outline tree
Change:
Dom.addClass(warning, 'task-statusbar-item-label-counter'); warning.innerHTML = '0'; <ins> warning.title = warningIcon.title = warningTitle(0); </ins> label.appendChild(warning); Dom.addClass(infoIcon, 'task-statusbar-item-label-info');

Discussion:
Issue Type: <bFeature Request</bVSCode uses different conventions for the problem counters in the problems view and in the status bar. The problems view displays: 1 2 ... 999 1K 2K ... 10K+ and the tooltip shows the actual number. The status bar displays: for errors/warnings: 1 2 ... 99+ and the tooltip doesn't show the actual number. for infos: 1 2 ... (always the actual number), the tooltip doesn't show the actual number. <img width="118" alt="problems-view" src="https://user-"<img width="108" alt="status-bar" src="https://user-"VS Code version: Code 1.21.0 (, 2018-03-07T10:54:22.798Z) OS version: Darwin x64 17.4.0 <!-- generated by issue reporter --
assigning to you. I personally would adopt the status bar to the problems view. Everything over 99 is not very informative anyways.
Change:
return this.getAgents().filter(a => a.name === name); } <ins> agentHasDupeName(id: string): boolean { const agent = this.getAgent(id); if (!agent) { return false; } return this.getAgentsByName(agent.name) .filter(a => a.extensionId.value !== agent.extensionId.value).length > 0; } </ins> async invokeAgent(id: string, request: IChatAgentRequest, progress: (part: IChatProgress) => void, history: IChatAgentHistoryEntry[], token: CancellationToken): Promise<IChatAgentResult> { const data = this._agents.get(id); if (!data?.impl) {

Discussion:
I removed this to move over to using the agent, which required setting . Chatted with and I should add another agent to support the agent in both places, only making it the default for the terminal location. fyi
Verified that is available in panel chat.
Change:
when: TerminalContextKeys.tabsFocus }, run: async (c, accessor) => { <del> for (const terminal of getSelectedInstances(accessor) ?? []) { c.service.safeDisposeTerminal(terminal); </del> <ins> const disposePromises: Promise<void>[] = []; for (const terminal of getSelectedInstances(accessor, true) ?? []) { disposePromises.push(c.service.safeDisposeTerminal(terminal)); </ins> } <ins> await Promise.all(disposePromises); </ins> c.groupService.focusTabs(); } });

Discussion:
From testing Steps to Reproduce: multiple terminals multiple terminals in the terminal view to change their color to red the terminals still select, select again time run instead Bug Only a single terminal at a time is reset
Change:
import { IStorageService } from 'vs/platform/storage/common/storage'; import { IStringDictionary } from 'vs/base/common/collections'; import { CONTEXT_KEYBINDINGS_EDITOR } from 'vs/workbench/contrib/preferences/common/preferences'; <ins> import { DeprecatedExtensionsChecker } from 'vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker'; </ins> // Singletons registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService, InstantiationType.Eager /* Auto updates extensions */);

Discussion:
Currently if a user has a deprecated extension installed we just render that in the Extensions view. Looking at telemetry we noticed that users this is not a strong signal, and users still have a lot of deprecated extensions installed. Due to that I suggest that we nudge the users more about deprecated extensions. Especially if the deprecated extension has an alternative. As suggests we could show a general depreciation prompt if users have deprecated extensions installed and allowing not to show this prompt again. However I would love if the notification prompt offers the transition to the alternative extension if there is one. So not sure if it would be notification per deprecated extension? What do you think?
I think the notification is a general one guiding users to extensions view to see deprecated extensions. Users can take a necessary action from there.
Ok. It would be nice if the flow is smooth, for example there is an action that opens the correct extension in the Extensions view. But I guess you already have that in mind :)
Yes, there will be an action to list the deprecated extensions.
To verify: Shutdown VS Code Insiders From CLI install extension Open Insiders and wait until you get the prompt <img width="515" alt="image" src="https://user-"
Change:
## Run (with node) <del> yarn run mocha --run src/vs/editor/test/browser/controller/cursor.test.ts </del> <ins> yarn run mocha --ui tdd --run src/vs/editor/test/browser/controller/cursor.test.ts </ins> ## Coverage

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --- VS Code Version: 1.55 OS Version: MacOS Big Sur The unit testing readme instructions for running unit tests from node is missing the --ui tdd flag and doesn't work without it. <!-- 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 direct to the extension publisher. The 'Help Report Issue' dialog can assist with this. --
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.453 --<!-- potentialduplicatescomment --
This is about
Yeah see pull request sorry. I just lumped it into something else.
Change:
if (selection.type === 'toggle') { this.cspArbiter.setShouldDisableSecurityWarning(!this.cspArbiter.shouldDisableSecurityWarnings()); <ins> this.webviewManager.refresh(); </ins> return; } else { await this.cspArbiter.setSecurityLevelForResource(resource, selection.type);

Discussion:
When previewing not secured content - there's a warning. . Choosing the last item - - the warning is still there and requires to close and reopen the preview. VS Code version: Code 1.30.0 (, 2018-12-11T22:29:11.253Z) OS version: Windows_NT x64 10.0.
Does not repo on MacOs or Windows in the current insiders build Does this happen in the current insiders builds (1.31) with all extensions disabled How are you opening the markdown file. Is it in a workspace?
Yes. Preview to the side. It is a workspace. Not multi-root. ! How do I check if it's a workspace or not? I mean, it should be a workspace... the setting is working only it doesn't hide the warning after you pick an option.
Sorry, I misread which you were selecting. Confirmed that selecting the last item does not refresh the preview
, fixing this :)
Change:
if (e.affectsSome(contextKeysToWatch)) { buildStepList(); this.registerDispatchListeners(); <del> this.selectStep(this.editorInput.selectedStep, false, true); </del> <ins> this.selectStep(this.editorInput.selectedStep, false); </ins> } }));

Discussion:
Type: <bBug</bContext changes causes images to flicker and, worse, quick picks to close. Run Open walkthrough Open step or Hit the button Quick pick closes right after clicking and image flashes. VS Code version: Code - Insiders 1.77.0-insider (, 2023-03-08T05:22:25.379Z) OS version: Darwin x64 22.3.0 Modes: Sandboxed: Yes <!-- generated by issue reporter --
Seems as the context changes, which changes focus and closes the quick picks.
I can't repo this on OSS. But used the developer tools on insiders to debug it. fires the context changed event too many times which causes us to reload the media I removed rebuilding step if the step is already open which should fix the issue for the walkthroughs. But there is likely a larger issue to be fixed with the being fired too many times. You can turn off settings sync and try the steps described above - no repro.