jiebi/CodeConvo huggingface dataset:
Change:
Testing a process listening on a conflicting port you get a notification that persists until you choose to close it Since terminal prompts often live right on the bottom of the window, this can be particularly annoying as it can get in the way of the prompt, which then requires a click I'm not sure the best fix for this, I think some indicator of success is useful but I don't think the loudness of a notification is appropriate
The notification is just a placeholder until we come up with some good feedback probably through the UX sync. I think removing it outright without an alternative would be a bad idea since we're killing a process. !

Discussion:
async freePortKillProcess(port: string): Promise<void> { try { if (this._process?.freePortKillProcess) { <del> const result = await this._process?.freePortKillProcess(port); this._notificationService.notify({ message: localize('killportsuccess', 'Killed process with PID {0} listening on port {1}', result.processId, result.port), severity: Severity.Info }); </del> <ins> await this._process?.freePortKillProcess(port); </ins> } } catch (e) { this._notificationService.notify({ message: localize('killportfailure', 'Could not kill process listening on port {0}, command exited with error {1}', port, e), severity: Severity.Warning });
Change:
have a merge conflict have multiple repos open open a file with conflicts :bug: depending on which repo was refreshed last the blue button shows/hides
This is because the command runs in the scope of a single  and thereby competes with others. I have copied an here and I am unsure where the good place to set context keys is
Which blue button are you describing and how is it supposed to act? (just trying to verify)

Discussion:
.forEach(p => this.eventuallyScanPossibleGitRepository(p)); }; <del> const statusListener = repository.onDidRunGitStatus(checkForSubmodules); </del> <ins> const updateMergeChanges = () => { // set mergeChanges context const mergeChanges: Uri[] = []; for (const { repository } of this.openRepositories.values()) { for (const state of repository.mergeGroup.resourceStates) { mergeChanges.push(state.resourceUri); } } commands.executeCommand('setContext', 'git.mergeChanges', mergeChanges); }; const statusListener = repository.onDidRunGitStatus(() => { checkForSubmodules(); updateMergeChanges(); }); </ins> checkForSubmodules(); const dispose = () => {

const openRepository = { repository, dispose }; this.openRepositories.push(openRepository); <ins> updateMergeChanges(); </ins> this._onDidOpenRepository.fire(repository); }

// set count badge this.setCountBadge(); <del> // set mergeChanges context commands.executeCommand('setContext', 'git.mergeChanges', merge.map(item => item.resourceUri)); </del> this._onDidChangeStatus.fire(); this._sourceControl.commitTemplate = await this.getInputTemplate();
Change:
If I hover over a path in TypeScript and hold Ctrl, and empty line appears at the bottom of the tooltip where the preview would normally be (because presumably, the definition being used to support go-to-definition returns a range of line 0, col 0 to line 0 col 0): https://user- In the case where there's no normal hover text, this can result in an "empty hover" instead, as seen here in Dart (top left of "example"): !
Are you saying that you have a go-to-definition provider for that path but no hover provider (or no hover provider result) Please provide repo steps and a minimal code sample that allows to reproduce this.
the first example above is using TypeScript, but here's some code to repro in an extension: The important thing here is that the definition provider is returning an empty range for the . This is what TypeScript is doing for a definition on an Import filename (because it wants to provide a Cmd+Click, but there is no actual symbol definition). If you hover over something in an untitled file with the code above, hold hold Cmd and move the mouse, you'll see an extra "empty" area to the hover. https://user- If there is no hover at all (comment out the hover provider) then you get just an empty box. when holding Cmd: https://user-

Discussion:
const languageId = this.languageService.guessLanguageIdByFilepathOrFirstLine(textEditorModel.uri); this.addDecoration( linkRange, <del> new MarkdownString().appendCodeblock(languageId ? languageId : '', previewValue) </del> <ins> previewValue ? new MarkdownString().appendCodeblock(languageId ? languageId : '', previewValue) : undefined </ins> ); ref.dispose(); });

return new Range(startLineNumber, 1, endLineNumber + 1, 1); } <del> private addDecoration(range: Range, hoverMessage: MarkdownString): void { </del> <ins> private addDecoration(range: Range, hoverMessage: MarkdownString | undefined): void { </ins> const newDecorations: IModelDeltaDecoration = { range: range,
Change:
When creating a new profile, the input has no margins: ! Compare that with the rename one: !
I am using the quick pick in the same way for both and I do not know how they are rendered differently. So moving to for his insights.
Ah so the difference seems to be that the first one isn't the first quickpick that is shown... first we see: ! Then we see the first input box you've shared. So I'm thinking theres some CSS class bleeding through

Discussion:
if (!this.visible) { return; } <ins> this.ui.container.classList.remove('hidden-input'); </ins> const visibilities: Visibilities = { title: !!this.title || !!this.step || !!this.buttons.length, description: !!this.description || !!this.step, inputBox: true, message: true }; this.ui.setVisibilities(visibilities); super.update(); if (this.ui.inputBox.value !== this.value) {

if (this.ui.inputBox.password !== this.password) { this.ui.inputBox.password = this.password; } } }
Change:
Testing microsoft/vscode-jupyter 1) Open 1) Install Jupyter and Python extensions 1) Create a new untitled jupyter notebook 1) Create a markdown cell 1) Paste image 1) <kbdCtrl</kbd+<kbdEnter</kbd-I get a prompt for installing kernels from the market place. <img width="925" alt="image" src="https://user-"This is wrong for two reasons: 1) Since the Jupyter extension is installed I should be able to connect the notebook to a kernel on a remote server. Also see 1) This is a markdown cell. No kernel needed for rendering a markdown cell.
I'm not seeing this locally but I can reproduce with Not sure where is the best place to check whether the cells are markdown cells.

Discussion:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import * as nls from 'vs/nls'; </del> import { CancellationTokenSource } from 'vs/base/common/cancellation'; import { IDisposable } from 'vs/base/common/lifecycle'; <ins> import * as nls from 'vs/nls'; </ins> import { ICommandService } from 'vs/platform/commands/common/commands'; <ins> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </ins> import { ILogService } from 'vs/platform/log/common/log'; import { IWorkspaceTrustRequestService } from 'vs/platform/workspace/common/workspaceTrust'; import { SELECT_KERNEL_ID } from 'vs/workbench/contrib/notebook/browser/controller/coreActions';

import { INotebookExecutionService } from 'vs/workbench/contrib/notebook/common/notebookExecutionService'; import { INotebookCellExecution, INotebookExecutionStateService } from 'vs/workbench/contrib/notebook/common/notebookExecutionStateService'; import { INotebookKernel, INotebookKernelService } from 'vs/workbench/contrib/notebook/common/notebookKernelService'; <del> import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; </del> export class NotebookExecutionService implements INotebookExecutionService, IDisposable { declare _serviceBrand: undefined;

} async executeNotebookCells(notebook: INotebookTextModel, cells: Iterable<NotebookCellTextModel>, contextKeyService: IContextKeyService): Promise<void> { <del> const cellsArr = Array.from(cells); </del> <ins> const cellsArr = Array.from(cells) .filter(c => c.cellKind === CellKind.Code); if (!cellsArr.length) { return; } </ins> this._logService.debug(`NotebookExecutionService#executeNotebookCells ${JSON.stringify(cellsArr.map(c => c.handle))}`); const message = nls.localize('notebookRunTrust', "Executing a notebook cell will run code from this workspace."); const trust = await this._workspaceTrustRequestService.requestWorkspaceTrust({ message });

const cellExecutions: [NotebookCellTextModel, INotebookCellExecution][] = []; for (const cell of cellsArr) { const cellExe = this._notebookExecutionStateService.getCellExecution(cell.uri); <del> if (cell.cellKind !== CellKind.Code || !!cellExe) { </del> <ins> if (!!cellExe) { </ins> continue; } cellExecutions.push([cell, this._notebookExecutionStateService.createCellExecution(notebook.uri, cell.handle)]);
Change:
<img width="1054" alt="image" src="https://user-"I opened an old merge conflict and I saw that things looked a little funky in the merge editor. The text for "Accept Current" and "No Changes Accepted" are overlapped. Also, I see some symbols before the branch names that I'm not sure where it's from? I was thinking that this might be due to the super long branch name that is part of this merge conflict Feel free to close if you can't repro, not too sure what caused this.
This only happens for conflicts that start with line 1.

Discussion:
} getPosition(): IContentWidgetPosition | null { <ins> // We cannot put the content widget after line 0, as line 0 gets normalized to line 1. // Thus, we put the content widget before line 1 to make it slightly less buggy. // TODO: Fix this properly. if (this.lineNumber === 0) { return { position: { lineNumber: 1, column: 1, }, preference: [ContentWidgetPositionPreference.ABOVE], }; } </ins> return { position: { lineNumber: this.lineNumber, column: 1, }, preference: [ContentWidgetPositionPreference.BELOW],
Change:
Refs Looks like there are two items that need investigation, 1) The long tasks reported by the auto profiler 2) Does the profiler output interact negatively with integration tests 3) Unrelated: should the auto profiler be enabled in CI ? Will it create noise in the telemetry ? If we want to keep the profiler enabled in CI should we then store the generated cpuprofile as pipeline artifacts.
Yeah I think the profiler should probably not run in our CI and/or tests. What is more interesting is megabytes of logs being created as part of the run all containing this exception: <img width="1499" alt="image" src="https://user-"But it is hard to say if its caused by profiling or not.
There is a forgotten but the rest is using the log service and should be proper. I kinda like that idea. I haven't seen an impact on runtime performance from profiling. Given we can store them as artifacts and given we can signal to the outside that this happened I see value in find issues quickly
Also note that we will disable automatic profiling for stable again
We store pipeline artefacts in the folder relative to the source root (logs, crash reports), so profiles could go there too, provided profiling does not make the CI more flaky. A task to publish artefacts looks like this:
Another run hitting the root issue.
i plead innocent, my changes are out: no more renderer profiling, no more lone
Same ton of in the logs
sorry, my PR to disable profiling go stuck in the pipeline (). Second attempt is on its way
I believe the EPIPE error is happening because // is writing to a closed or a closed stream. I was having a similar error in my application () and solved it by attaching error listeners to and : This NodeJS issue helped me track down the problem:
Is this issue still valid after got merged in?
Haven't seen this in while, can be closed.

Discussion:
callstack: callstack.join('n') }; this._telemetryService.publicLog2<TelemetrySampleData, TelemetrySampleDataClassification>('prof.freeze.sample', data); <del> console.log(data); </del> } } }
Change:
Something went very wrong with the asset of the build: , exact size: 111,116,638 bytes. Manually downloading that confirms the app is OK. , exact size: 4,751,360 bytes. This is what got published to the CDN and is completely broken. This blob shares much of the same bytes as the correct full asset, but looking closer around the end of the 4MB I found the bytes are actually different (as in corrupted). I suspect something went wrong in the , after downloading the asset. There's a chance something went wrong in the but the likelihood of that happening and still producing a valid ZIP archive that wouldn't trip on is very low. What's ugly about this failure is that it wasn't a failure at all, the build was full green and happily pushed that thing to the CDN.
So bizarre. So the it's really The doesn't actually do what it's supposed to do and fails silently The stores some corrupted/incorrect data in and the is convinced it's ok and 'unzips' it Both of the bullet points All of these seem incredibly unlikely... I wonder how we could be "better at failing" here... docs: Ok trying out the API it looks like we have something here: ! namely . I'll try comparing the value of that with the actual asset downloaded. Also what's nice about this check is that is the size of the thing inside of the zip. In otherwords, it's the size of thing after we Expand-Archive.
To fix this, I'll have this check the artifact size: I'm waiting on this build to confirm this warning doesn't show up when it shouldn't
Yup it was some Twilight Zone stuff. Very cool, I was hoping there would be some metadata like this we could check against! Good job!

Discussion:
$null,$product,$os,$arch,$type = $artifactName -split '_' $asset = Get-ChildItem -rec "$env:AGENT_TEMPDIRECTORY/$artifactName" <ins> if ($asset.Size -ne $_.resource.properties.artifactsize) { Write-Warning "Artifact size mismatch for '$artifactName'. Expected: $($_.resource.properties.artifactsize). Actual: $($asset.Size)" $set.Remove($artifactName) | Out-Null continue } </ins> Write-Host "Processing artifact with the following values:" # turning in into an object just to log nicely @{
Change:
As part of chromium a runtime feature called AutoDisableAccessibility and it works like this: We should try out this flag to see how it affects our accessibility detection on macOS.
thanks a lot for this. Just as a refresh, this only affects macOS? fyi this change might affect our telemetry numbers - since now we might auto disable accessibility when chrome decides it is actually not being needed.
I have enabled it for all OS since there is no downside. As part of this, I also redid the accessibility event that gets fired from the runtime to work well with this feature flag. So, in endgame it would be good to have test plan that ensures our accessibility detection continues works fine on all OS.
ok, I can create a test plan item for that today with complexity 3. fyi
Created test plan item Feel free to edit it if you think I did not cover some scenario. Thanks!

Discussion:
disturl "https://electronjs.org/headers" <del> target "19.1.3" </del> <ins> target "19.1.6" </ins> runtime "electron" build_from_source "true"

"git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", <del> "commitHash": "83077e9b97c55cd4f9f641530442bcfd1c2ab949" </del> <ins> "commitHash": "165d5a2547bfc5ff22cd98950bca7fcddb7dea9d" </ins> } }, "isOnlyProductionDependency": true, "license": "MIT", <del> "version": "19.1.3" </del> <ins> "version": "19.1.6" </ins> }, { "component": {

"cssnano": "^4.1.11", "debounce": "^1.0.0", "deemon": "^1.8.0", <del> "electron": "19.1.3", </del> <ins> "electron": "19.1.6", </ins> "eslint": "8.7.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-jsdoc": "^39.3.2",

*/ app.commandLine.appendSwitch('disable-features', 'CalculateNativeWinOcclusion'); <ins> /* Following features are enabled from the runtime. * `AutoDisableAccessibility` - https://github.com/microsoft/vscode/issues/162331#issue-1390744354 */ app.commandLine.appendSwitch('enable-features', 'AutoDisableAccessibility'); </ins> // Support JS Flags const jsFlags = getJSFlags(cliArgs); if (jsFlags) {

resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.207.tgz#9c3310ebace2952903d05dcaba8abe3a4ed44c01" integrity sha512-piH7MJDJp4rJCduWbVvmUd59AUne1AFBJ8JaRQvk0KzNTSUnZrVXHCZc+eg+CGE4OujkcLJznhGKD6tuAshj5Q== <del> electron@19.1.3: version "19.1.3" resolved "https://registry.yarnpkg.com/electron/-/electron-19.1.3.tgz#90a2b6c3d738789d657477d87d1539f008be6536" integrity sha512-P2kfFc8UqVvPHE1w9qTZSPNpfOqd+CK34K3wBqJwokzYdVBLsVkbIoLxyByjJ/cU35WaeCL5bsI8kXALfPvebw== </del> <ins> electron@19.1.6: version "19.1.6" resolved "https://registry.yarnpkg.com/electron/-/electron-19.1.6.tgz#32443cd293d3d877cd3d224e45880e3fbf264e49" integrity sha512-bT6Mr7JbHbONpr/U7R47lwTkMUvuAyOfnoLlbDqvGocQyZCCN3JB436wtf2+r3/IpMEz3T+dHLweFDY5i2wuxw== </ins> dependencies: "@electron/get" "^1.14.1" "@types/node" "^16.11.26"
Change:
Type: <bBug</ba new profile from empty "Perferences: Open Keyboard Shortcuts (JSON)" command suggestions in opened editor Only word-based suggestions shown. VS Code version: Code - Insiders 1.72.0-insider (, 2022-09-29T08:07:23.017Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes Remote OS version: Linux x64 5.15.62.1-microsoft-standard-WSL2 Remote OS version: Linux x64 5.15.62.1-microsoft-standard-WSL2 <details<summarySystem Info</summary </details<details<summaryExtensions (29)</summaryExtensionVersion ------ Bookmarks13.3.1 vscode-eslint2.2.6 gitlens12.2.2 prettier-vscode9.9.0 copilot-nightly1.47.6893 remotehub0.43. rest-client0.25.1 vscode-env0.1.0 search-node-modules1.3.0 fluent-icons0.0.18 vscode-docker1.22.1 vscode-edge-devtools2.1.1 remote-containers0.254.0 remote-ssh0.87. remote-ssh-edit0.84.0 remote-wsl0.72.0 js-debug-nightly2022.9.2717 remote-explorer0.1. remote-repositories0.20.0 vscode-typescript-next4.9. abracadabra6.15.3 material-icon-theme4.20.0 prisma4.4.0 vscode-yaml1.10. reveal1.2.7 code-spell-checker2.8.0 luna-paint0.16.0 markdown-all-in-one3.4.3 material-theme3.15.5 </details<!-- generated by issue reporter --
Works for me !
! It's , not
Looks like the JSON schema is not registered for in profiles (unlike below). has different schema for default profile vs others, not sure what should happen with
Oh, my bad, keybindings, not settings. Got it!

Discussion:
"url": "vscode://schemas/keybindings" }, { <ins> "fileMatch": "%APP_SETTINGS_HOME%/profiles/*/keybindings.json", "url": "vscode://schemas/keybindings" }, { </ins> "fileMatch": "vscode://defaultsettings/*.json", "url": "vscode://schemas/settings/default" },

"url": "vscode://schemas/snippets" }, { <ins> "fileMatch": "%APP_SETTINGS_HOME%/profiles/*/snippets/.json", "url": "vscode://schemas/snippets" }, { </ins> "fileMatch": "%APP_SETTINGS_HOME%/sync/snippets/preview/*.json", "url": "vscode://schemas/snippets" },
Change:
! I personally find it a bit strange to have no primary action and only secondary actions hidden behind "...". What is the rationale? //cc
We are looking at pulling these out as primary actions like so. See . <img width="1015" alt="CleanShot 2022-10-03 at 09 11 23 src="https://user-"
!
!

Discussion:
shortTitle: localize('mergeEditor.compareWithBase', 'Compare With Base'), f1: true, precondition: ctxIsMergeEditor, <del> menu: { id: MenuId.MergeInput1Toolbar } </del> <ins> menu: { id: MenuId.MergeInput1Toolbar, group: 'primary' }, icon: Codicon.compareChanges, </ins> }); }

shortTitle: localize('mergeEditor.compareWithBase', 'Compare With Base'), f1: true, precondition: ctxIsMergeEditor, <del> menu: { id: MenuId.MergeInput2Toolbar } </del> <ins> menu: { id: MenuId.MergeInput2Toolbar, group: 'primary' }, icon: Codicon.compareChanges, </ins> }); }

}, f1: true, precondition: ctxIsMergeEditor, <del> menu: [ { id: MenuId.MergeInput1Toolbar, } ] </del> <ins> menu: { id: MenuId.MergeInput1Toolbar, group: 'primary' }, icon: Codicon.checkAll, </ins> }); }

}, f1: true, precondition: ctxIsMergeEditor, <del> menu: [ { id: MenuId.MergeInput2Toolbar, } ] </del> <ins> menu: { id: MenuId.MergeInput2Toolbar, group: 'primary' }, icon: Codicon.checkAll, </ins> }); }

shortTitle: localize('mergeEditor.resetResultToBaseAndAutoMerge.short', 'Reset'), f1: true, precondition: ctxIsMergeEditor, <del> menu: { id: MenuId.MergeInputResultToolbar } </del> <ins> menu: { id: MenuId.MergeInputResultToolbar, group: 'primary' }, icon: Codicon.discard, </ins> }); }

const toolbar = instantiationService.createInstance(MenuWorkbenchToolBar, targetHtmlElement, menuId, { menuOptions: { renderShortTitle: true }, <del> toolbarOptions: { primaryGroup: () => false } </del> <ins> toolbarOptions: { primaryGroup: (g) => g === 'primary' } </ins> }); this._store.add(toolbar); }
Change:
Was verifying an issue Disabled settings sync Reenabled it but on the Stable service Changed profiles a few times Disabled Settings sync Got an error poupup, here is the stack from the window log
Do you have settings sync views enabled?
Turn on Settings Sync Open Synced Data views (F1 Show Synced Data) Turn off Settings Sync Above error is shown It is a regression and after looking at the root cause, it seems this can also impact other settings sync scenarios. Hence tagging this as candidate.
Can you please verify this on latest insiders?

Discussion:
type ManualSyncTaskEvent<T> = { manualSyncTaskId: string; data: T }; <del> function reviewSyncResource(syncResource: IUserDataSyncResource, userDataProfilesService: IUserDataProfilesService) { return { ...syncResource, profie: reviveProfile(syncResource.profile, userDataProfilesService.profilesHome.scheme) }; </del> <ins> function reviewSyncResource(syncResource: IUserDataSyncResource, userDataProfilesService: IUserDataProfilesService): IUserDataSyncResource { return { ...syncResource, profile: reviveProfile(syncResource.profile, userDataProfilesService.profilesHome.scheme) }; </ins> } export class UserDataSyncChannel implements IServerChannel {