jiebi/CodeConvo huggingface dataset:
Change:
I'm using Light+. ! Could this be caused by bundling issues?
I also see this in oss. Seems like a somewhat recent regression

Discussion:
} .action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled) { <del> background-color: var(--vscode-quickInputList-focusBackground); </del> <ins> background-color: var(--vscode-quickInputList-focusBackground) !important; </ins> color: var(--vscode-quickInputList-focusForeground); outline: 1px solid var(--vscode-menu-selectionBorder, transparent); outline-offset: -1px; } .action-widget .monaco-list-row.group-header { <del> color: var(--vscode-pickerGroup-foreground); </del> <ins> color: var(--vscode-pickerGroup-foreground) !important; </ins> font-weight: 600; }
Change:
commit action button is doing “Commit & Sync” is a conflicting change on the remote the file, write a commit message, and CTRL + ENTER succeeded, but the sync operation results in a merge conflict

Discussion:
*/ this.telemetryReporter.sendTelemetryEvent('git.command', { command: id }); <del> return result.catch(async err => { </del> <ins> return result.catch(err => { </ins> const options: MessageOptions = { modal: true };

return; } <del> let result: string | undefined; const allChoices = Array.from(choices.keys()); switch (type) { case 'error': result = await window.showErrorMessage(message, options, ...allChoices); break; case 'warning': result = await window.showWarningMessage(message, options, ...allChoices); break; case 'information': result = await window.showInformationMessage(message, options, ...allChoices); break; } if (result) { const resultFn = choices.get(result); resultFn?.(); } </del> <ins> // We explicitly do not await this promise, because we do not // want the command execution to be stuck waiting for the user // to take action on the notification. this.showErrorNotification(type, message, options, choices); </ins> }); };

return result; } <ins> private async showErrorNotification(type: 'error' | 'warning' | 'information', message: string, options: MessageOptions, choices: Map<string, () => void>): Promise<void> { let result: string | undefined; const allChoices = Array.from(choices.keys()); switch (type) { case 'error': result = await window.showErrorMessage(message, options, ...allChoices); break; case 'warning': result = await window.showWarningMessage(message, options, ...allChoices); break; case 'information': result = await window.showInformationMessage(message, options, ...allChoices); break; } if (result) { const resultFn = choices.get(result); resultFn?.(); } } </ins> private getSCMResource(uri?: Uri): Resource | undefined { uri = uri ? uri : (window.activeTextEditor && window.activeTextEditor.document.uri);
Change:
going to keep track of examples here to see if there's a pattern <img width="1112" alt="Screenshot 2023-01-23 at 2 12 18 PM" src="https://user-"
far right terminal <img width="1120" alt="Screenshot 2023-01-23 at 3 07 17 PM" src="https://user-"
middle terminal !
far right terminal !
far right terminal <img width="1076" alt="Screenshot 2023-01-24 at 1 59 40 PM" src="https://user-"
right terminal <img width="1644" alt="Screenshot 2023-01-24 at 2 22 27 PM" src="https://user-"
right terminal !
here are the lines when there's not a quick fix result - it contains after which we don't account for here !
Seeing this frequently: <img width="726" alt="image" src="https://user-"
I think we just need to include the to fix this
or better yet, remove and just look for the link
ok I see the issue. when lines are wrapped a lot, we need to search more lines - setting the length to 10/15 fixes it even when the terminal is quite narrow
I see it on non-wrapped lines, I'm not sure I understand what you mean with the To?
The to comment above was actually wrong. What's happened in the screen shot above is we abort the search early - after looking at only 5 lines. When it's actually on line 9
this goes wrong when we break before reaching the content IE when line count length
I tried pushing up a new branch using pwsh in the integrated terminal on Windows, and the lightbulb did not show. !
you have shell integration disabled, it won't work at all there.
also make sure to not move issues to the next milestone, this one was marked important
Working much better now, but just reproduced !
Just happened and captured the trace log (escape sequence log would be better): <img width="806" alt="image" src="https://user-"
I've seen this not work twice today already for create PR !
even though the lightbulb didn't appear here, there was a match found !
the match always happens, the lightbulb doesn't show up though until I resize the terminal
this happens when the have not yet been resolved by the time occurs ! !
I think we should be calling at the end of
have seen the create PR not show up 3 times today. resizing doesn't cause it to show up, which means our match range is wrong/ there isn't a match
this says unreleased, but was merged before the current version of insider's (5 hours ago) was released. create with PR still failing !
insider's is based on the release branch, so I was confused
<!-- UNABLETOLOCATECOMMITMESSAGE issue --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased

Discussion:
lineMatcher: GitPushOutputRegex, anchor: 'bottom', offset: 0, <del> length: 5 </del> <ins> length: 15 </ins> }, commandExitResult: 'error', getQuickFixes: (matchResult: ITerminalCommandMatchResult) => {

lineMatcher: GitCreatePrOutputRegex, anchor: 'bottom', offset: 0, <del> length: 5 </del> <ins> length: 15 </ins> }, commandExitResult: 'success', getQuickFixes: (matchResult: ITerminalCommandMatchResult) => {
Change:
Steps to Reproduce: a repository on GitHub the repository locally and open it in VS Code Insiders a file on the remote through the same file locally to cause a conflict and commit the changes the "Sync Changes" action button, which will result in a failure Expected behaviour: Resource groups should be updated Actual behaviour: Resource groups are not updated

Discussion:
this.state = RepositoryState.Disposed; } <ins> if (!operation.readOnly) { await this.updateModelState(); } </ins> throw err; } finally { this._operations.end(operation);
Change:
Steps to Reproduce: the repository the "Tasks: Run Build Task" to the "Debug" view, select the "VS Code" launch configuration and press "Start" CodeOSS starts open the process explorer Expected behaviour: fileWatcher process is running Actual behaviour: fileWatcher process is not running //cc
I am not able to reproduce, but I think sometimes sees it too. Maybe a race condition with the thing.
I think this is what I experienced in
If someone can experience this consistently, it'd be useful to stick a in the "Attach to Shared Process" launch config and share the resulting log file, the location of which is written to the Debug Console (may need to select the specific session in the dropdown)
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
[adding message to avoid auto-close]
This issue has been closed automatically because it needs more information and has not had recent activity. See also our guidelines. Happy Coding!
This was actually a bug in the process explorer: it didn't update its pid/name mapping correctly so it showed the file watcher as a generic "utility-process" in some cases
Is there a way to verify? Seems that the original steps only triggered the issue sometimes.
VS Code the process explorer. Note there is a file watcher process the window, keeping the process explorer open that you see the new file watcher process appear

Discussion:
this.setEventHandlers(data); ipcRenderer.on('vscode:pidToNameResponse', (event: unknown, pidToNames: [number, string][]) => { <del> this.mapPidToName = new Map<number, string>(); </del> <ins> this.mapPidToName.clear(); </ins> for (const [pid, name] of pidToNames) { this.mapPidToName.set(pid, name);
Change:
Testing Given this code: I was expecting my event handlers not to fire since the logger is disposed, but they still fire.
This still repros for me <img width="1210" alt="image" src="https://user-"

Discussion:
this._oldTelemetryEnablement = this.getTelemetryConfiguration(); this._level = level; const telemetryDetails = this.getTelemetryDetails(); // Loop through all loggers and update their level this._telemetryLoggers.forEach(logger => { logger.updateTelemetryEnablements(telemetryDetails.isUsageEnabled, telemetryDetails.isErrorsEnabled);

} } <del> private readonly _sender: vscode.TelemetrySender; </del> private readonly _onDidChangeEnableStates = new Emitter<vscode.TelemetryLogger>(); private readonly _ignoreBuiltinCommonProperties: boolean; private readonly _additionalCommonProperties: Record<string, any> | undefined;

private _telemetryEnablements: { isUsageEnabled: boolean; isErrorsEnabled: boolean }; private _apiObject: vscode.TelemetryLogger | undefined; <ins> private _sender: vscode.TelemetrySender | undefined; </ins> constructor( sender: vscode.TelemetrySender,

} private logEvent(eventName: string, data?: Record<string, any>): void { <ins> // No sender means likely disposed of, we should no-op if (!this._sender) { return; } </ins> // If it's a built-in extension (vscode publisher) we don't prefix the publisher and only the ext name if (this._extension.publisher === 'vscode') { eventName = this._extension.name + '/' + eventName;

} data = this.mixInCommonPropsAndCleanData(data || {}); if (!this._inLoggingOnlyMode) { <del> this._sender.sendEventData(eventName, data); </del> <ins> this._sender?.sendEventData(eventName, data); </ins> } this._logger.trace(eventName, data); }

} logError(eventNameOrException: Error | string, data?: Record<string, any>): void { <del> if (!this._telemetryEnablements.isErrorsEnabled) { </del> <ins> if (!this._telemetryEnablements.isErrorsEnabled || !this._sender) { </ins> return; } if (typeof eventNameOrException === 'string') {

dispose(): void { if (this._sender?.flush) { <del> this._sender.flush(); </del> <ins> // Disposed of so now we set it to undefined Promise.resolve(this._sender.flush()).then(this._sender = undefined); this._apiObject = undefined; </ins> } } }
Change:
Testing Given this code: I was expecting my event handlers not to fire since the logger is disposed, but they still fire.
This still repros for me <img width="1210" alt="image" src="https://user-"

Discussion:
this._oldTelemetryEnablement = this.getTelemetryConfiguration(); this._level = level; const telemetryDetails = this.getTelemetryDetails(); <ins> // Remove all disposed loggers this._telemetryLoggers.forEach((logger, key) => { if (logger.isDisposed) { this._telemetryLoggers.delete(key); } }); </ins> // Loop through all loggers and update their level this._telemetryLoggers.forEach(logger => { logger.updateTelemetryEnablements(telemetryDetails.isUsageEnabled, telemetryDetails.isErrorsEnabled);

onExtensionError(extension: ExtensionIdentifier, error: Error): boolean { const logger = this._telemetryLoggers.get(extension.value); <ins> if (logger && logger.isDisposed) { this._telemetryLoggers.delete(extension.value); return false; } </ins> if (!logger || logger.ignoreUnhandledExtHostErrors) { return false; }

return this._apiObject; } <ins> get isDisposed(): boolean { return !this._sender; } </ins> dispose(): void { if (this._sender?.flush) { <del> // Disposed of so now we set it to undefined Promise.resolve(this._sender.flush()).then(this._sender = undefined); </del> <ins> let tempSender: vscode.TelemetrySender | undefined = this._sender; this._sender = undefined; Promise.resolve(tempSender.flush!()).then(tempSender = undefined); </ins> this._apiObject = undefined; <ins> } else { this._sender = undefined; </ins> } } }
Change:
Testing Version: 1.75.0-insider Commit: Date: 2023-01-24T05:22:50.699Z Electron: 19.1.9 Chromium: 102.0.5005.194 16.14.2 V8: 10.2.154.23-electron.0 OS: Linux x64 5.15.0-56-generic Sandboxed: Yes Export a profile to a file Confirmation dialog shows a question mark, but there's no question here !
It's better on Windows: !
We can change all dialogs from to use instead of type. This only seems to have an impact on Linux and changes the icon to an info icon.

Discussion:
const { options, buttonIndexMap } = this.massageMessageBoxOptions({ message, buttons, <del> type: (severity === Severity.Info) ? 'question' : (severity === Severity.Error) ? 'error' : (severity === Severity.Warning) ? 'warning' : 'none', </del> <ins> type: (severity === Severity.Info) ? 'info' : (severity === Severity.Error) ? 'error' : (severity === Severity.Warning) ? 'warning' : 'none', </ins> cancelId: dialogOptions ? dialogOptions.cancelId : undefined, detail: dialogOptions ? dialogOptions.detail : undefined, checkboxLabel: dialogOptions?.checkbox?.label ?? undefined,
Change:
Testing <img width="574" alt="image" src="https://user-"

Discussion:
const always = l10n.t('Always'); const never = l10n.t('Never'); <del> const choice = await window.showWarningMessage(message, yes, always, never); </del> <ins> const choice = await window.showInformationMessage(message, yes, always, never); </ins> if (choice === yes) { // Open Parent Repositories commands.executeCommand('git.openRepositoriesInParentFolders');
Change:
Testing When invoked from the command palette, should this either and show a terminal and show the menu be shown in the command palette unless a terminal is already open
It shouldn't be shown unless a terminal is open and focused
The first option might be better? We can just run get active or create like a bunch of other terminal commands.
My argument against doing so is the command palette is already overloaded and you have to know what to search for to get it to show up, which means it's unlikely 1) to be discovered or 2) to increase discoverability.
my argument is if you search for "accessibility", the results are quite small and this is a valuable addition to discover terminal accessibilty features: <img width="304" alt="image" src="https://user-"Up to you, let's do this in Feb though.
Should Show Terminal Accessibility Help be showing the dialog inside a terminal that's running a task? !
Good question, but yes I think we should show it in whatever the active instance is.

Discussion:
} showTerminalAccessibilityHelp(): void { <del> this.activeInstance?.showAccessibilityHelp(); </del> <ins> this.getActiveOrCreateInstance().then((instance) => { this._terminalGroupService.showPanel(); instance.showAccessibilityHelp(); }); </ins> } requestStartExtensionTerminal(proxy: ITerminalProcessExtHostProxy, cols: number, rows: number): Promise<ITerminalLaunchError | undefined> {
Change:
Testing Windows path separator issue? <img width="509" alt="image" src="https://user-"<img width="643" alt="image" src="https://user-"

Discussion:
this._handleResourceOpening(data.href); } else { // uri with scheme <del> this._openUri(URI.parse(data.href)); </del> <ins> if (osPath.isAbsolute(data.href)) { this._openUri(URI.file(data.href)); } else { this._openUri(URI.parse(data.href)); } </ins> } break; }
Change:
Testing <img width="449" alt="image" src="https://user-"

Discussion:
enum: ['always', 'never', 'whenTriggerCharacter', 'whenQuickSuggestion'], enumDescriptions: [ nls.localize('suggest.insertMode.always', "Always activate the suggest widget when triggering IntelliSense automatically."), <del> nls.localize('suggest.insertMode.never', "Never activate the suggest when when triggering IntelliSense automatically."), </del> <ins> nls.localize('suggest.insertMode.never', "Never activate the suggest widget when triggering IntelliSense automatically."), </ins> nls.localize('suggest.insertMode.whenTriggerCharacter', "Activate the suggest widget only when triggering IntelliSense from a trigger character."), nls.localize('suggest.insertMode.whenQuickSuggestion', "Activate the suggest widget only when triggering IntelliSense as you type."), ],
Change:
Testing a new profile to the profile VS Code Keeps switching me back to the default profile
Are you on empty window?
Yes
I assume it works for folders/workspaces
It does seem to work with a folder open, yes.

Discussion:
import { ILifecycleMainService, } from 'vs/platform/lifecycle/electron-main/lifecycleMainService'; import { ICodeWindow, LoadReason } from 'vs/platform/window/electron-main/window'; import { IUserDataProfilesMainService } from 'vs/platform/userDataProfile/electron-main/userDataProfile'; <del> import { IAnyWorkspaceIdentifier, isEmptyWorkspaceIdentifier, toWorkspaceIdentifier } from 'vs/platform/workspace/common/workspace'; </del> <ins> import { IAnyWorkspaceIdentifier, toWorkspaceIdentifier } from 'vs/platform/workspace/common/workspace'; </ins> import { RunOnceScheduler } from 'vs/base/common/async'; import { IWindowsMainService } from 'vs/platform/windows/electron-main/windows';

private async unsetProfileForWorkspace(window: ICodeWindow): Promise<void> { const workspace = this.getWorkspace(window); const profile = this.userDataProfilesService.getProfileForWorkspace(workspace); <del> if (profile && (isEmptyWorkspaceIdentifier(workspace) || profile.isTransient)) { </del> <ins> if (profile?.isTransient) { </ins> this.userDataProfilesService.unsetWorkspace(workspace, profile.isTransient); if (profile.isTransient) { await this.userDataProfilesService.cleanUpTransientProfiles();
Change:
Testing a notebook in a new workspace run on a cell, this should pop-up the kernel selection the kernel selection quickpick without selecting anything :bug: cell appears to be running, and cannot be stopped or run again
works correctly when cancelling on the initial quickpick, but not when cancelling in a later stage: !
the cell never ends up running in that gif

Discussion:
disposables.add(quickPick.onDidAccept(async () => { resolve(quickPick.selectedItems[0]); })); <ins> disposables.add(quickPick.onDidHide(() => { resolve(undefined); })); </ins> this._calculdateKernelSources(editor).then(quickPickItems => { quickPick.items = quickPickItems;
Change:
re open process explorer open context menu for an entry :bug: no keybindings are rendered, tho some are bound <img width="421" alt="Screenshot 2023-01-25 at 14 33 33" src="https://user-"

Discussion:
if (isLocal) { items.push({ <ins> accelerator: 'Alt+E', </ins> label: localize('killProcess', "Kill Process"), click: () => { this.nativeHostService.killProcess(pid, 'SIGTERM');
Change:
Steps: Clone VS Code Repo or open with GitHub Repos Install GHIN (make sure you haven't logged in to it) Open a notebook like the my- notebook Run See "log in" prompt and go through login flow Run notebook again See this: ! Possibly related... further up in the file, I notice some bad formatting of issues: ! Not sure if this is GHIN or Notebooks issue.
I think the previous output was not cleared when you rerun, when it's not the same mime type. A regression introduced recently. Good catch!
! another example
It looks much worse. It seems we are not even picking the right mime type.
Verifier, with the next Insiders Open endgame notebook Run all cells from the top toolbar On the first cell which has outputs, click the icon -Change Presentation -Choose Markdown Run all cells again Scroll the notebook to the end, there should be no outputs overlapped on each other (or output overlapping with markdown cell )

Discussion:
resolveMimeTypes(textModel: NotebookTextModel, kernelProvides: readonly string[] | undefined): [readonly IOrderedMimeType[], number] { const mimeTypes = this._notebookService.getOutputMimeTypeInfo(textModel, kernelProvides, this.model); <del> let index = -1; if (this._pickedMimeType) { index = mimeTypes.findIndex(mimeType => mimeType.rendererId === this._pickedMimeType!.rendererId && mimeType.mimeType === this._pickedMimeType!.mimeType && mimeType.isTrusted); } // there is at least one mimetype which is safe and can be rendered by the core if (index === -1) { index = mimeTypes.findIndex(mimeType => mimeType.rendererId !== RENDERER_NOT_AVAILABLE && mimeType.isTrusted); } </del> <ins> const index = mimeTypes.findIndex(mimeType => mimeType.rendererId !== RENDERER_NOT_AVAILABLE && mimeType.isTrusted); </ins> return [mimeTypes, Math.max(index, 0)]; }
Change:
Type: <bBug</bFound while verifying to light V2 theme extensions view and click on a verified extension Bug The verification checkmark goes white, making it difficult to see ! VS Code version: Code - Insiders 1.75.0-insider (Universal) (, 2023-01-25T05:23:34.922Z) OS version: Darwin x64 22.2.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<!-- generated by issue reporter --

Discussion:
"keybindingLabel.foreground": "#000000e4", "list.activeSelectionBackground": "#e8e8e8", "list.activeSelectionForeground": "#000000", <ins> "list.activeSelectionIconForeground": "#000000", </ins> "list.hoverBackground": "#f2f2f2", "menu.border": "#D4D4D4", "notebook.cellBorderColor": "#E8E8E8",
Change:
<!-- 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: OS Version: Steps to Reproduce: Configure ! Settings and OK ! Configure again is unchecked ! Logs imply the Settings are synced: <details<summaryLogs</summary<p</p</details
This seems to be a quick pick bug, because I see the state correctly when I run the command `Settings Sync: Configure...'
other mult-selects do not have the same problem... !
What I can say is that configure settings sync options go through same code path Gear -Settings Sync is On -Settings Sync Configure... F1 Settings Sync: Configure You can repro this when you use mouse to choose the option in both cases. So something is wrong with quick pick when using mouse. If you use keyboard it works.

Discussion:
// Checkbox const label = dom.append(data.entry, $('label.quick-input-list-label')); <ins> data.toDisposeTemplate.push(dom.addStandardDisposableListener(label, dom.EventType.CLICK, e => { if (!data.checkbox.offsetParent) { // If checkbox not visible: e.preventDefault(); // Prevent toggle of checkbox when it is immediately shown afterwards. #91740 } })); </ins> data.checkbox = <HTMLInputElement>dom.append(label, $('input.quick-input-list-checkbox')); data.checkbox.type = 'checkbox'; data.toDisposeTemplate.push(dom.addStandardDisposableListener(data.checkbox, dom.EventType.CHANGE, e => {

this._onKeyDown.fire(event); })); <ins> this.disposables.push(this.list.onMouseDown(e => { if (e.browserEvent.button !== 2) { // Works around / fixes #64350. e.browserEvent.preventDefault(); } })); </ins> this.disposables.push(dom.addDisposableListener(this.container, dom.EventType.CLICK, e => { if (e.x || e.y) { // Avoid 'click' triggered by 'space' on checkbox. this._onLeave.fire();