jiebi/CodeConvo huggingface dataset:
Change:
Repro: a (TS) debug session (F5) on "Restart extensions" button in Extensions explorer - :bug: <img width="483" alt="image" src=""Expected behavior options: ideal: resume debug session ask the user if it's okay for them to interrupt debug session and not show error notification ?
We can't generally do this because the debug session can be owned+managed by stateful code in the extension. Resuming the debug session requires starting it anew which would launch any program again, behavior that could be surprising to users.
In core, you can also veto restarting extensions if there is a live debug session
Thanks, I'll have the session gracefully shut down when the extension host is restarted. Will tackle in debt week.

Discussion:
@ICommandService private readonly commandService: ICommandService, @IQuickInputService private readonly quickInputService: IQuickInputService, @IWorkspaceTrustRequestService private readonly workspaceTrustRequestService: IWorkspaceTrustRequestService, <del> @IUriIdentityService private readonly uriIdentityService: IUriIdentityService </del> <ins> @IUriIdentityService private readonly uriIdentityService: IUriIdentityService, </ins> ) { this.breakpointsToSendOnResourceSaved = new Set<URI>();

} })); <ins> this.disposables.add(extensionService.onWillStop(evt => { evt.veto( this.stopSession(undefined).then(() => false), nls.localize('stoppingDebug', 'Stopping debug sessions...'), ); })); </ins> this.initContextKeys(contextKeyService); }
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 <!-- 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. --Version: 1.89.0-insider (user setup) Commit: Date: 2024-04-15T05:50:22.934Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. Steps to Reproduce: Git Bash with shell integration enabled a command to split the terminal !
I can work on fixing this since I created the issue adding git bash shell integration
Hi this issue still happens on the stable(1.89.1) and insider build(1.90.0). System info: Version: 1.89.1 (user setup) Commit: Date: 2024-05-07T05:13:33.891Z Electron: 28.2.8 ElectronBuildId: Chromium: 120.0.6099.291 18.18.2 V8: 12.0.267.19-electron.0 OS: Windows_NT x64 10.0. !

Discussion:
# Send the IsWindows property if the environment looks like Windows if [[ "$(uname -s)" =~ ^CYGWIN*|MINGW*|MSYS* ]]; then builtin printf 'e]633;P;IsWindows=Truea' <ins> __vsc_is_windows=1 else __vsc_is_windows=0 </ins> fi # Allow verifying $BASH_COMMAND doesn't have aliases resolved via history when the right HISTCONTROL

} __vsc_update_cwd() { <del> builtin printf 'e]633;P;Cwd=%sa' "$(__vsc_escape_value "$PWD")" </del> <ins> if [ "$__vsc_is_windows" = "1" ]; then __vsc_cwd="$(cygpath -m "$PWD")" else __vsc_cwd="$PWD" fi builtin printf 'e]633;P;Cwd=%sa' "$(__vsc_escape_value "$__vsc_cwd")" </ins> } __vsc_command_output_start() {
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 <!-- 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.85.1 (system setup) OS Version: Windows_NT x64 10.0. In this snippet the major table related tags have border set to none with !important which makes it so that jupyter notebook tables can't have a border without jumping through hoops to override that !important tag. On my own installation, I patched out the !important and now my jupyter notebook tables can have borders and I'm not seeing any ill effects. It'd be nice if the next VSC update wouldn't revert that change.
verification steps: run this code in a python cell in a notebook, it should output a table with a border.

Discussion:
} table, thead, tr, th, td, tbody { <del> border: none !important; </del> <ins> border: none; </ins> border-color: transparent; border-spacing: 0; border-collapse: collapse;
Change:
Can these not be trace: <img width="1046" alt="image" src=""

Discussion:
if (!fakeProviders.has(agent.id)) { fakeProviders.set(agent.id, _inlineChatService.addProvider(_instaService.createInstance(AgentInlineChatProvider, agent))); <del> this._logService.info(`ADDED inline chat provider for agent ${agent.id}`); </del> <ins> this._logService.debug(`ADDED inline chat provider for agent ${agent.id}`); </ins> } } for (const [id] of fakeProviders) { if (!providersNow.has(id)) { fakeProviders.deleteAndDispose(id); <del> this._logService.info(`REMOVED inline chat provider for agent ${id}`); </del> <ins> this._logService.debug(`REMOVED inline chat provider for agent ${id}`); </ins> } } }));
Change:
Can these not be trace: <img width="1046" alt="image" src=""

Discussion:
if (otherEditorAgent) { bridgeStore.clear(); <del> _logService.info(`REMOVED bridge agent "${agentData.id}", found "${otherEditorAgent.id}"`); </del> <ins> _logService.debug(`REMOVED bridge agent "${agentData.id}", found "${otherEditorAgent.id}"`); </ins> } else if (!myEditorAgent) { bridgeStore.value = this._chatAgentService.registerDynamicAgent(agentData, this._instaService.createInstance(BridgeAgent, agentData, this._sessions, data => { this._lastResponsesFromBridgeAgent.set(data.id, data.response); })); <del> _logService.info(`ADDED bridge agent "${agentData.id}"`); </del> <ins> _logService.debug(`ADDED bridge agent "${agentData.id}"`); </ins> } };
Change:
a screen reader the command. are always read as "unchecked"
bisected this to can you take a look?
Oops, next time we meet I owe you a drink! ;)

Discussion:
export interface IValueWithChangeEvent<T> { readonly onDidChange: Event<void>; <del> readonly value: T; </del> <ins> get value(): T; </ins> } export class ValueWithChangeEvent<T> implements IValueWithChangeEvent<T> {

} return { <del> value: element.checked, </del> <ins> get value() { return element.checked; }, </ins> onDidChange: e => element.onChecked(() => e()), }; }
Change:
Open a workspace with multiple git repositories In the "Source Control Repositories" view select the third repository Reload the window multiple times and notice the following error in the dev tools console

Discussion:
private createTree(container: HTMLElement, viewState?: IAsyncDataTreeViewState): void { const overflowWidgetsDomNode = $('.scm-overflow-widgets-container.monaco-editor'); <del> this.inputRenderer = this.instantiationService.createInstance(InputRenderer, this.layoutCache, overflowWidgetsDomNode, (input, height) => { this.tree.updateElementHeight(input, height); }); </del> <ins> this.inputRenderer = this.instantiationService.createInstance(InputRenderer, this.layoutCache, overflowWidgetsDomNode, (input, height) => { try { // Attempt to update the input element height. There is an // edge case where the input has already been disposed and // updating the height would fail. this.tree.updateElementHeight(input, height); } catch { } }); </ins> this.actionButtonRenderer = this.instantiationService.createInstance(ActionButtonRenderer); this.listLabels = this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility });
Change:
Testing Add a git pre-commit hook that sleeps for 120 seconds Make a change to a file, and commit the change Switch to another VS Code window Expected behaviour: Window should be active while the source control operation running Actual behaviour: Window becomes inactive even though the source control operation is still running
Can this be adopted in SCM? Holding an activity lock is fairly easy, just call this method
these commands are being contributed by the git extension. Should be wired into the so that in case there is an on-going progress indicator the window is considered active?
Yea, I think that's reasonable, thanks for the suggestion. Will take care of it

Discussion:
import { stripIcons } from 'vs/base/common/iconLabels'; import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaultInputBoxStyles } from 'vs/platform/theme/browser/defaultStyles'; import { ResultKind } from 'vs/platform/keybinding/common/keybindingResolver'; <ins> import { IUserActivityService } from 'vs/workbench/services/userActivity/common/userActivityService'; </ins> export class ProgressService extends Disposable implements IProgressService {

@INotificationService private readonly notificationService: INotificationService, @IStatusbarService private readonly statusbarService: IStatusbarService, @ILayoutService private readonly layoutService: ILayoutService, <del> @IKeybindingService private readonly keybindingService: IKeybindingService </del> <ins> @IKeybindingService private readonly keybindingService: IKeybindingService, @IUserActivityService private readonly userActivityService: IUserActivityService, </ins> ) { super(); } <del> async withProgress<R = unknown>(options: IProgressOptions, task: (progress: IProgress<IProgressStep>) => Promise<R>, onDidCancel?: (choice?: number) => void): Promise<R> { </del> <ins> async withProgress<R = unknown>(options: IProgressOptions, originalTask: (progress: IProgress<IProgressStep>) => Promise<R>, onDidCancel?: (choice?: number) => void): Promise<R> { </ins> const { location } = options; <ins> const task = (progress: IProgress<IProgressStep>) => { const activeLock = this.userActivityService.markActive(); return originalTask(progress).finally(() => activeLock.dispose()); }; </ins> const handleStringLocation = (location: string) => { const viewContainer = this.viewDescriptorService.getViewContainerById(location); if (viewContainer) {
Change:
! I checked-out an old commit from 7 years ago (). The SCM view got stuck displaying the "busy" badge and showed many file changes, along with a warning about too many changes. When I changed views, the warning stuck around even on top of other view containers. Eventually, it moved into the top right corner. The SCM view now appears to be permanently busy.
That does not look good. I am also able to reproduce in Stable so I believe that this was broken last milestone. It's very easy to reproduce by setting to and then making changes to 4 files.
Adding and to see if this rings a bell for them as the made changes to recently. Based on my tests, this worked fine in but it's broken with . I stepped through the SCM code and it seems that no changes in execution there.
I didn't do any crazy changes there AFAIK, I feel like was maybe more in there so could you take a look first?
Found the culprit . Fix it with
It turns out the fix actually breaks hovers entirely. you turned the disposable into a which I believe does not work in this context. I think we should revert
I can drive reverting that commit but think this should be revisited in debt week as we have disposables there not getting disposed of.
Thank you and
I had a closer look at the code. The concept of using disposables for this case was flawed from the start. I created a fix for it.
Thanks for doing that

Discussion:
this.contextView.show(delegate); const disposable = toDisposable(() => { <del> if (this.currentViewDisposable === disposable) { </del> <ins> if (this.currentViewDisposable.value === disposable) { </ins> this.hideContextView(); } });
Change:
Testing When running when there are no staged changes doesn't do anything. That's a but confusing. E.g. in the case of multi-folder workspace, I first get prompted for the repo, I select an entry, but then nothing happens It could show a notification, but IMO it would be better to show the empty multi-editor. An empty multi-editor is already shown when you stage all entries in it
I also agree it would be better to show a empty multi-editor this happened to me when I binding different keys to these command and I kept getting confused that I wasn't using the right keyboard shortcuts because nothing would happen when I did them.
Decided to go with notifications as that is consistent with the other commands contributed by the git extension.

Discussion:
private async _viewResourceGroupChanges(repository: Repository, resourceGroup: GitResourceGroup): Promise<void> { if (resourceGroup.resourceStates.length === 0) { <ins> switch (resourceGroup.id) { case 'index': window.showInformationMessage(l10n.t('The repository does not have any staged changes.')); break; case 'workingTree': window.showInformationMessage(l10n.t('The repository does not have any changes.')); break; case 'untracked': window.showInformationMessage(l10n.t('The repository does not have any untracked changes.')); break; } </ins> return; }
Change:
Testing I have set to while my workbench color theme is set to a light theme. My native dialogs are no in dark mode. Other values are working as expected.
I'm not seeing as a setting value for "window.systemColorTheme": "default","
I think that the options in the settings UI still has instead of . ! I think that the contribution needs to be updated.
Sorry, yesterday I changed the option name from to so as not to break existing users. What's new is that is ignored when is enabled
I verified this works in Version: 1.89.0-insider (user setup) Commit: Date: 2024-04-26T00:56:34.034Z

Discussion:
} private updateSystemColorTheme(): void { <del> switch (this.configurationService.getValue<'default' | 'auto' | 'light' | 'dark'>(SYSTEM_COLOR_THEME)) { </del> <ins> switch (this.configurationService.getValue<'default' | 'matchColorTheme' | 'light' | 'dark'>(SYSTEM_COLOR_THEME)) { </ins> case 'dark': nativeTheme.themeSource = 'dark'; break; case 'light': nativeTheme.themeSource = 'light'; break; <del> case 'auto': </del> <ins> case 'matchColorTheme': </ins> switch (this.getBaseTheme()) { case 'vs': nativeTheme.themeSource = 'light'; break; case 'vs-dark': nativeTheme.themeSource = 'dark'; break;
Change:
Launch VS Code Insiders Set to or Confirm that the "Git: Show Untracked Changes" command is not in the command palette Set to Confirm that the "Git: Show Untracked Changes" command is not in the command palette

Discussion:
"when": "config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled" }, { <ins> "command": "git.viewChanges", "when": "config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled" }, { "command": "git.viewStagedChanges", "when": "config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled" }, { "command": "git.viewUntrackedChanges", "when": "config.git.enabled && !git.missing && config.multiDiffEditor.experimental.enabled && config.git.untrackedChanges == separate" }, { </ins> "command": "git.viewCommit", "when": "false" },
Change:
Testing Send a request to This participant shows 3 progress messages The screen reader reads them but they get read multiple times in random order I'm not scrolling or anything, this is just what happens as the response renders normally. I'm assuming this is due to progress messages being re-rendered, and the screenreader hooking into the rendering flow
I cannot reproduce (at least on macOS), I am only seeing the progress messages once and they occur when I expect them to. Can you provide a gif?
They each appear once, it's just that the screenreader reads them multiple times
I don't see the screen reader reading them multiple times. Can you make a gif?
It reads them once as they come in, and a second time when it reads the content of the response when the response is done. Pushing a change to not consider the progress message part of the 'content', which I think is correct since the progress messages disappear from the view once more content has loaded. This also fixes the fact that the progress messages appear when I Copy a chat response (never noticed that before)

Discussion:
return part.command.title; } else if (part.kind === 'textEditGroup') { return ''; <ins> } else if (part.kind === 'progressMessage') { return ''; </ins> } else { return part.content.value; }
Change:
Followup from The icons for a breakpoint with stackframe is . Currently, the code uses . On codicons that's the same icon, on other product icon theme that could be a separate icon.
To verify: download , rename to install, switch to the Product icon theme VS Code 1.0 icons create a python program ` set breakpoint at hello world run to the breakpointthe breakpoint icon should turn into a smiley
fyi

Discussion:
.codicon-debug-breakpoint-conditional.codicon-debug-stackframe::after, .codicon-debug-breakpoint.codicon-debug-stackframe-focused::after, .codicon-debug-breakpoint.codicon-debug-stackframe::after { <del> content: var(--vscode-icon-circle-small-filled-content); font-family: var(--vscode-icon-circle-small-filled-font-family); </del> <ins> content: var(--vscode-icon-debug-stackframe-dot-content); font-family: var(--vscode-icon-debug-stackframe-dot-font-family); </ins> position: absolute; }
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 <!-- 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: Version: 1.88.1 OS Version: Windows 10 Enterprise 22H2 Steps to Reproduce: to to to location to which should switch to the (Hamburger menu) in the don't do so now, possibly due to the switching of the position of to the item and you'll see that the context menu opened is misaligned with the current position of the , this doesn't seem to be an issue when the location is to the only on the . Image: !
Hello! This has been bugging me for a while now (I use the sidebar to the right and the activity bar on top), so I decided to go ahead and try and fix this. I realized the underlying issue is that when the is to the left and you hide the , the hamburger button is placed to the left regardless of the position of the , but when the is to the right, its inconsistent (top right when both bars are to the right, but not when is right and is top), so my proposed fix is to move the hamburger button to the far right in the latter case, so its position is more consistent. ! ! ! ! Let me know what you think and I'll create the PR.
I fixed to position of the menu bar when the side bar is to the right. I check regarding alt moving focus to the compact menu and saw it does work, but we just don't show any indication that focus is there. Which we need to fix

Discussion:
color: var(--vscode-activityBar-foreground); } <ins> .monaco-workbench .activitybar .menubar.compact > .menubar-menu-button:focus { background-color: var(--vscode-menubar-selectionBackground); } </ins> .monaco-workbench .menubar.inactive:not(.compact) > .menubar-menu-button, .monaco-workbench .menubar.inactive:not(.compact) > .menubar-menu-button .toolbar-toggle-more  { color: var(--vscode-titleBar-inactiveForeground);
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 (N/A) <!-- 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.88.1 OS Version: macOS Steps to Reproduce: the shell, run , UPDATE: the system need to have a existing tunnel already running that the machine name is always inferred from Hostname instead of the machine name set through <img width="931" alt="image" src=""
Update: I noticed the "Connected to an existing tunnel..." line, and if I kill the tunnel first using and run the same command, it would correctly set the machine name. I'll update the issue description to reflect that.
Yea, if there's an existing tunnel we just connect to it and never enter the process in which the name would be set. Renaming a running tunnel is also possible but could lead to unpredictable side effects. We should just log a warning in this case.
I'm not seeing any warning:
still no warning. I made sure I was on the latest !
in your screenshot you can see the warning which is what I for this.

Discussion:
match acquire_singleton(&paths.tunnel_lockfile()).await { Ok(SingletonConnection::Client(stream)) => { debug!(log, "starting as client to singleton"); <ins> if gateway_args.name.is_none() || !gateway_args.install_extension.is_empty() || gateway_args.tunnel.tunnel_id.is_some() { warning!( log, "Command-line options will not be applied until the existing tunnel exits." ); } </ins> let should_exit = start_singleton_client(SingletonClientArgs { log: log.clone(), shutdown: shutdown.clone(),