jiebi/CodeConvo huggingface dataset:
Change:
for (const r of newUnchangedRegions) { for (let i = 0; i < lastUnchangedRegions.regions.length; i++) { <del> if (r.originalUnchangedRange.intersectsStrict(lastUnchangedRegionsOrigRanges[i]) && r.modifiedUnchangedRange.intersectsStrict(lastUnchangedRegionsModRanges[i])) { </del> <ins> if (lastUnchangedRegionsOrigRanges[i] && r.originalUnchangedRange.intersectsStrict(lastUnchangedRegionsOrigRanges[i]!) && lastUnchangedRegionsModRanges[i] && r.modifiedUnchangedRange.intersectsStrict(lastUnchangedRegionsModRanges[i]!)) { </ins> r.setHiddenModifiedRange(lastUnchangedRegions.regions[i].getHiddenModifiedRange(undefined), tx); break; }

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. --The direct symptom is in the site , but the investigation went through (which the site uses) and ends up here. Steps to Reproduce: to This shows the "LLVM Opt Pipeline Viewer" (1) which is a diff pane created by monaco's (2). It's contents change based on the user selection in from the 'passes' list (3). ! see normal operation in action: click in order the passes "SROAPass" (first one) and "Greedy Register Allocator". Diffs are shown properly: ! reproduce the bug, click in order the passes "SROAPass", then "Debug Variable Analysis" (one above Greedy) and finally "Greedy Register Allocator". First, text diffs are not being decorated despite being present: ! and second, a console shows the error: Preliminary investigation directs attention to these lines in 's : In the (not so rare) problematic scenario, and are non-empty but is, so the code enters the loop and crashes immediately. I suspect something broke in PR , but not sure.
A monaco-playground link with a small standalone repro for the problem: This creates a diffView and populates both sides with an offending text (specifically, one with non-empty "unchangedRegions"). After two seconds it sets the left pane to the same text as it currently has, but this time the decorations disappear and a console error message as above appears. Perhaps this tidbit would be helpful: It seems that upon entering , contains ids that were already invalidated - i.e., do not appear in : ! And so returns only nulls and the resulting array is empty. My current guess is these decoration-IDs invalidation is too early, and should be moved to after .
Thank you for the prompt fix!
Please, please, please, include inline diff view in your testing.

I use inline view 99.9% of the time, side by side very rarely. Regardless, I hope this Thank you for your work.
I saw this problem again today.
Can you please share the output of the dev console? Thanks!
Change:
} getWorkspaceRecommendations(): TPromise<string[]> { <del> if (!this.isEnabled) { return TPromise.as([]); } </del> <ins> if (!this.isEnabled()) { return TPromise.as([]); } </ins> return this.fetchCombinedExtensionRecommendationConfig() .then(content => {

Discussion:
I am just interacting with the extensions viewlet.
There is a in place that ensures never gets called if the gallery is not configured, so I don't see how this can happen. I am not able to repro either. Can you provide more details about your setup and what actions you were performing?
Perhaps it has something to do with not being invoked as a function. Perhaps should be at
Thanks That must be it. This got introduced in . This was supposed to cover the case of no gallery service. Can you fix this and see why the test case wasn't failing?
Change:
const argv = parseArgs(args); if (argv.help) { <del> console.log(helpMessage); </del> <ins> console.log(buildHelpMessage(pkg.version)); </ins> } else if (argv.version) { console.log(pkg.version); } else if (shouldSpawnCliProcess(argv)) {

Discussion:
cc Standard sized (80 width) terminal: ! This is what is was like before: !
do you have any reason against using a community lib for this if I get the deps approved?
Not at all... I just think that the hard 80 column wrap is an unnecessary remnant of the past, given the resizing capabilities of terminal emulators of today.
yeah, I believe the community libs like yargs size the column dynamically but keep formatting similar to what it was like before.
Change:
const extensions: typeof vscode.extensions = { getExtension(extensionId: string, includeFromDifferentExtensionHosts?: boolean): vscode.Extension<any> | undefined { <ins> if (equalsIgnoreCase(extensionId, 'ms-vscode.references-view')) { extHostApiDeprecation.report(`The extension 'ms-vscode.references-view' has been renamed.`, extension, `Use 'vscode.references-view' instead.`); extensionId = 'vscode.references-view'; } </ins> if (!isProposedApiEnabled(extension, 'extensionsAny')) { includeFromDifferentExtensionHosts = false; }

Discussion:
Ah, sorry for the breakage... I believe asking for both is the best option for now but I can also add a "migration" path into the implementation, e.g use when seeing Originally posted by in
Change:
getAgentByFullyQualifiedId(id: string): IChatAgentData | undefined { throw new Error('Method not implemented.'); } registerAgentCompletionProvider(id: string, provider: (query: string, token: CancellationToken) => Promise<IChatAgentCompletionItem[]>): IDisposable { throw new Error('Method not implemented.'); } getAgentCompletionItems(id: string, query: string, token: CancellationToken): Promise<IChatAgentCompletionItem[]> { throw new Error('Method not implemented.'); } <ins> agentHasDupeName(id: string): boolean { throw new Error('Method not implemented.'); } </ins> } class TestSpeechService implements ISpeechService {

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:
this._matchesCount = document.createElement('div'); this._matchesCount.className = 'matchesCount'; this._findInput.domNode.insertAdjacentElement('afterend', this._matchesCount); <del> this._register(this._findInput.onDidChange(() => { this.updateResultCount(); this.updateButtons(this._foundMatch); </del> <ins> this._register(this._findInput.onDidChange(async () => { await this.updateResultCount(); </ins> })); this._register(this._findInput.onDidOptionChange(async () => { this._foundMatch = this._onInputChanged(); await this.updateResultCount(); <del> this.updateButtons(this._foundMatch); </del> this.focusFindBox(); this._delayedUpdateHistory(); }));

Discussion:
vscode project run open find widget and search for "RawSearchService" at one point there is a match "1 of 1" :bug: arrow keys stay disabled, arrow keys work https://user-
I can't reproduce. What theme is that and does inspecting the buttons show something off?
It's unrelated to the theme - I do see them enabled at times
I cannot reproduce either
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
I have given precise steps, did you follow them the exact way? https://user-
It's not researching on Windows <img width="1578" alt="image" src="https://user-"But I think the part I was missing was doing the search before the term exists, bug is likely not re-evaluating button state after a research triggered by buffer change
I still managed to get into this state after messing around with the find widget for a little while: ! Here's what seemed to repo it for me: a large folder, run for a common character like should see a find widget that shows arrows but doesn't have a find result count on the arrows in the find widget :bug: Now the arrows are disabled but still clickable
I also have if that's relevant
I can see this too, also it shows before disappearing if you do the search before running ls -lr
<img width="289" alt="image" src="https://user-"<img width="356" alt="image" src="https://user-"
This is happening because we behave a little differently when there are more than 1000 results: We can improve this but it's a separate problem, opened To verify this just verify the steps above, with either a specific term like "RawSearchService" or with a small scrollback value.
I can verify this works, however given the fact that was unable to repro at some point, its possible that I too am running into the same situtation Probably best if and/or also tested this. Either way, marking as verified
Change:
import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite'; import { IPathService } from 'vs/workbench/services/path/common/pathService'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; <ins> import { IDisposable } from 'xterm'; </ins> interface ITerminalData { terminal: ITerminalInstance;

Discussion:
When having a launch config for debugging extensions which uses a task which uses a missing problem matcher (like ), the extension host development window no longer pops up. This used to work in the past. This apparently used to work until recently. cc
I'm not sure what a missing problem matcher is - if you mean as the problem matcher, we used to create the even when there was no problem matcher provided and that changed here wasn't around for that change, so it's possible I broke this then
I think means that if your task refers to a problem matcher that isn't installed.
In our case it was:
thanks for that info. Pretty sure the cause is . Did this repro in insider's for you?
Not sure what you mean here. I haven't installed the mentioned extension (watcher), used insiders, our run stoped working.
I can reproduce - have a with a that's either invalid or non-existent IE and . Debug and the window doesn't open
Thanks a lot!
Change:
focus?: number; editorFocused?: boolean; contributionsState?: { [id: string]: unknown }; <ins> selectedKernelId?: string; </ins> } export interface ICellModelDecorations {

Discussion:
Testing microsoft/vscode-jupyter untitled ipynb cells export commands are available in command palette the untitled notebook as ipynb and give it a title command palette :bug: all the export commands are now hidden
I think this is because technically the cells were run in the context of the previous notebook, so I now need to run them again after saving the notebook, which is a rather nasty limitation...
I think this is because after saving we don't have a kernel connected to the newly saved notebook. There is no kernel session transfer (from untitled to saved notebook) currently.
Save As is handled by core. Need to transfer current controller to new ipynb.
Seems related to
Not sure - we are handling this the same way we persist selection and other view state. But the editor still gets reopened with a new model. Dunno how this concept works in custom editors.
Custom editors have one the untitled editor closed and a new one with another URI open, I want a signal that a custom editor can handle to upgrade it so no close/open needs to happen
Steps: Open an untitled jupyter notebook Select a kernel Save the notebook The same kernel should be selected The "Set kernel as default" gear icon in the kernel picker was also removed.
Verified with this "kernel"
Change:
return new FileSystemError(messageOrUri, FileSystemProviderErrorCode.Unavailable, FileSystemError.Unavailable); } <ins> readonly code?: string; </ins> constructor(uriOrMessage?: string | URI, code: FileSystemProviderErrorCode = FileSystemProviderErrorCode.Unknown, terminator?: Function) { super(URI.isUri(uriOrMessage) ? uriOrMessage.toString(true) : uriOrMessage); <ins> this.code = terminator?.name; </ins> // mark the error as file system provider error so that // we can extract the error code on the receiving side markAsFileSystemProviderError(this, code);

Discussion:
<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --Add an method to the interface. The current options are: trying to stat the and seeing if it fails — we have no way to tell why it failed; reading a parent directory — we may not have read access to the parent directory; using node's — only works for the local filesystem.
I see s are spec'd to thow on when the file doesn't exist, but does not spec such errors.
We have no plans for adding and instead should be used (this goes along the deprecated to NodeJS's -deprecation). Still, I do agree that we should spec the error
Would be a passable solution?
Re-open for API proposal/finalization. Proposal is to add a field to the -class
should I rename the issue to better reflect the proposal?
Reactions during the API meeting were positive, so I am confident that we can finalize this during the current milestone. One feedback item was to always have a value for , e.g. let its default value be something like or
I did a quick search of the codebase, and it looks like is usually used for such cases in the various error code enums.
This is now in and will be stable API with the next relase. thanks for the help
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { Promises } from 'vs/base/node/pfs'; </del> import * as cp from 'child_process'; <del> import * as stream from 'stream'; import * as nls from 'vs/nls'; </del> import * as net from 'net'; <del> import * as path from 'vs/base/common/path'; import * as strings from 'vs/base/common/strings'; </del> <ins> import * as stream from 'stream'; </ins> import * as objects from 'vs/base/common/objects'; <ins> import * as path from 'vs/base/common/path'; </ins> import * as platform from 'vs/base/common/platform'; <del> import { ExtensionsChannelId } from 'vs/platform/extensionManagement/common/extensionManagement'; import { IOutputService } from 'vs/workbench/services/output/common/output'; import { IDebugAdapterExecutable, IDebuggerContribution, IPlatformSpecificAdapterContribution, IDebugAdapterServer, IDebugAdapterNamedPipeServer } from 'vs/workbench/contrib/debug/common/debug'; </del> <ins> import * as strings from 'vs/base/common/strings'; import { Promises } from 'vs/base/node/pfs'; import * as nls from 'vs/nls'; </ins> import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'; <ins> import { IDebugAdapterExecutable, IDebugAdapterNamedPipeServer, IDebugAdapterServer, IDebuggerContribution, IPlatformSpecificAdapterContribution } from 'vs/workbench/contrib/debug/common/debug'; </ins> import { AbstractDebugAdapter } from '../common/abstractDebugAdapter'; /**

Discussion:
Just wondering whether the "Extensions" output channel is actually used for anything? I have checked it when troubleshooting extensions many times and don't think I've ever actually seen any output in there
This is being used by debug adapter Feel free to remove it if you are not using.
Oh, wow No clue about that
I guess it was introduced in , previously showed errors from all extensions, now I think those errors go to other general logs, and probably just this one usage got left behind. any idea if there was some discussion about this in the past? Or I will remove it
not aware of anyone using it. I think we can go ahead and remove it. fyi
bit off-topic here but I was looking around for an issue around a "combined" log (showing the channel inline) - is there such a thing and I'm just missing it? that way I wouldn't have to click around into various logs when I'm trying to figure out what's going on with vscode - I realize I could tail the various files and write a script to make that more convenient I was also thinking maybe an extension could fill that need but then I saw
I think there is an issue to open multiple output channels at once. Please search into our issues.
there are only 10 open issues tagged output - altho this issue is about output and got labeled debug instead - I looked at the debug tagged issues too and didn't see it - should I create one?
Here is the similar request -
Change:
} } <del> createInstance(ctorOrDescriptor: any | SyncDescriptor<any>, ...rest: any[]): any; // Comment out this line to fix type issues </del> createInstance<T>(descriptor: SyncDescriptor0<T>): T; createInstance<Ctor extends new (...args: any[]) => any, R extends InstanceType<Ctor>>(ctor: Ctor, ...args: GetLeadingNonServiceArgs<ConstructorParameters<Ctor>>): R; createInstance(ctorOrDescriptor: any | SyncDescriptor<any>, ...rest: any[]): any {

Discussion:
Due to an oversight, does not enforce arguments or its return type. Fixing this exposes around 80 typings errors in our codebase that should be addressed To fix this issue in your code: , comment out the . (Do not check in this change. I will check in the change to the signature once all error have been fixed) look at the file assigned to you and fix the type error (you may need to restart the compile since we are changing such a core type) [x] — [x] — [x] — [x] — [x] — [x] — [x] — [ ] — [ ] — [ ] — [ ] — [x] — [x] — [x] — [x] — [x] — [x] — [ ] — [x] —
Change:
return { events: [ { <del> cols: this._xterm.getOption('cols'), rows: this._xterm.getOption('rows'), </del> <ins> cols: this._xterm.cols, rows: this._xterm.rows, </ins> data: serialized } ],

Discussion:
Repro on Windows: some commands the height of the terminal the terminal to it again !
Seems to be happening because the resized lines that get deleted upon resize are getting restored (but duplicating the lines that move up): !
Oh a resize adjustment happens upon replaying old events, that seems wrong !
Change:
{ 'data-done-step-id': step.id, 'x-dispatch': 'toggleStepCompletion:' + step.id, <ins> 'role': 'checkbox', 'tabindex': '0', </ins> }); const container = $('.step-description-container', { 'x-step-description-for': step.id });

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.73.0-insider OS Version: macOS 12.6 Steps to Reproduce: VSCode, click on the Getting Started walkthrough Voice Control with Hints Able to focus on the options, but unable to click on the checkbox ! with the Accessibility Inspector: Looks like the checkbox is a rather than a button: !
Change:
return { actionName: (matchResult: ContextualMatchResult) => matchResult.outputMatch ? `Create PR for ${matchResult.outputMatch[1]}` : '', commandLineMatcher: GitPushCommandLineRegex, <del> outputMatcher: { lineMatcher: GitCreatePrOutputRegex, anchor: 'bottom' }, </del> <ins> outputMatcher: { lineMatcher: GitCreatePrOutputRegex, anchor: 'bottom', offset: 0, length: 5 }, </ins> exitStatus: true, getActions: (matchResult: ContextualMatchResult, command?: ITerminalCommand) => { if (!command) {

Discussion:
Open terminal and run command After it finishes, there is a freeze. Some times I see window is not responding dialog Now type command Freezes again Here is the profile that is captured while running command Here is the profile that is captured while running command I have set to
getOutputMatch can be too expensive: ! Is some quick fix not working on just a small line range?
The second one: !
Oh none of the quick fixes use offset or length currently. We should force that, otherwise the regex will run on every line.
Change:
let testObject = new ExtensionManifestPropertiesService(TestProductService, new TestConfigurationService(), new TestWorkspaceTrustEnablementService(), new NullLogService()); <del> test('declarative with extension dependencies => workspace', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionDependencies: ['ext1'] }), ['workspace']); </del> <ins> test('declarative with extension dependencies', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionDependencies: ['ext1'] }), ['workspace', 'web']); </ins> }); <del> test('declarative extension pack => workspace', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionPack: ['ext1', 'ext2'] }), ['workspace']); </del> <ins> test('declarative extension pack', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionPack: ['ext1', 'ext2'] }), ['workspace', 'web']); </ins> }); <del> test('declarative extension pack and extension dependencies => workspace', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionPack: ['ext1', 'ext2'], extensionDependencies: ['ext1', 'ext2'] }), ['workspace']); </del> <ins> test('declarative extension pack and extension dependencies', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionPack: ['ext1', 'ext2'], extensionDependencies: ['ext1', 'ext2'] }), ['workspace', 'web']); </ins> }); test('declarative with unknown contribution point => workspace, web', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ contributes: <any>{ 'unknownPoint': { something: true } } }), ['workspace', 'web']); }); <del> test('declarative extension pack with unknown contribution point => workspace', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionPack: ['ext1', 'ext2'], contributes: <any>{ 'unknownPoint': { something: true } } }), ['workspace']); </del> <ins> test('declarative extension pack with unknown contribution point', () => { assert.deepStrictEqual(testObject.getExtensionKind(<IExtensionManifest>{ extensionPack: ['ext1', 'ext2'], contributes: <any>{ 'unknownPoint': { something: true } } }), ['workspace', 'web']); </ins> }); test('simple declarative => ui, workspace, web', () => {

Discussion:
Allow installing extension packs those without code CC
To verify: Open Go to extensions view Browse for extension pack Make sure you can install this extension pack
Can you please verify this?
Verified on insiders: Version: 1.60.0-insider Commit: Date: 2021-09-01T01:33:58.665Z Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4544.0 Safari/537.36 Edg/93.0.933.1
Change:
if (!this._pattern) { this._matchCount++; <del> return { data: FuzzyScore.Default, visibility: true }; </del> <ins> return { data: FuzzyScore.Default, visibility }; </ins> } const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(element);

Discussion:
Type: <bBug</bFilter tests for the current doc is no longer working. is doing nothing in the test explorer. It seems that all filter are broken. For example is also not possible. <img width="344" alt="CleanShot 2022-07-25 at 11 14 38 src="https://user-"VS Code version: Code - Insiders 1.70.0-insider (Universal) (, 2022-07-25T05:27:27.755Z) OS version: Darwin x64 21.5.0 Modes: <details<summarySystem Info</summary </detailsExtensions disabled<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
/assign