jiebi/CodeConvo huggingface dataset:
Change:
getHeight: element => element.kind === ActionListItemKind.Header ? this._headerLineHeight : this._actionLineHeight, getTemplateId: element => element.kind }; <del> this._list = this._register(new List(user, this.domNode, virtualDelegate, [new ActionItemRenderer<IListMenuItem<IActionItem>>(preview, this._keybindingService), new HeaderRenderer()], { </del> <ins> this._list = this._register(new List(user, this.domNode, virtualDelegate, [ new ActionItemRenderer<IListMenuItem<IActionItem>>(preview, this._keybindingService), new HeaderRenderer(), ], { </ins> keyboardSupport: false, accessibilityProvider: { getAriaLabel: element => {

Discussion:
<!-- Do Not Delete This! bugreporttemplate --Helo! I use the code spell checker extension which provides quick fixes for spelling "error"s. Often these are just terms that I've adopted as standard in the repo and don't aim to change. However, with the recent change to use custom context menus instead of the native ones the list of spelling quick fixes causes the refactorings I actually want to use to be out of the window, with no way to scroll them into view. With spell checker extension enabled: <img width="590" alt="image" src="https://user-"Without: <img width="610" alt="image" src="https://user-"Ideally the menu would support scroll. I'd accept an option to use native menus instead (the icons are nice to have but not critical). Alternatively, at minimum perhaps the refactorings could be sorted above quick fixes?
We should also limit the height of the menu. Not very pleasant to have it take up the entire height of the window
Works great, thanks!
Change:
confirmDeleteRunningCell: 'notebook.confirmDeleteRunningCell', remoteSaving: 'notebook.experimental.remoteSave', gotoSymbolsAllSymbols: 'notebook.gotoSymbols.showAllSymbols', <del> scrollToRevealCell: 'notebook.scrolling.revealCellBehavior', </del> <ins> scrollToRevealCell: 'notebook.scrolling.revealNextCellOnExecute', </ins> anchorToFocusedCell: 'notebook.scrolling.experimental.anchorToFocusedCell' } as const;

Discussion:
Testing The setting description is as follows: I'm not sure what the exhaustive list of actions is, but if it's only on execution the name should include that. For example this does not control revealing when navigating by symbol which always reveals the cell in the center. !

Testing ! Also the use of e.g. there doesn't flow nicely to me. it would be better to spell out imo
Change:
showContextView(delegate: IContextViewDelegate, container?: HTMLElement, shadowRoot?: boolean): IDisposable { let domPosition: ContextViewDOMPosition; if (container) { <del> domPosition = shadowRoot ? ContextViewDOMPosition.FIXED_SHADOW : ContextViewDOMPosition.FIXED; </del> <ins> if (container === this.layoutService.getContainer(getWindow(container))) { domPosition = ContextViewDOMPosition.ABSOLUTE; } else if (shadowRoot) { domPosition = ContextViewDOMPosition.FIXED_SHADOW; } else { domPosition = ContextViewDOMPosition.FIXED; } </ins> } else { domPosition = ContextViewDOMPosition.ABSOLUTE; }

Discussion:
!
If this is in an aux window, then I don't think there's access to GitLens? Verified that I couldn't repro in a normal window.
Change:
} export class DropdownWithPrimaryActionViewItem extends BaseActionViewItem { <del> private _primaryAction: MenuEntryActionViewItem; </del> <ins> private _primaryAction: ActionViewItem; </ins> private _dropdown: DropdownMenuActionViewItem; private _container: HTMLElement | null = null; constructor( <del> primaryAction: MenuItemAction, dropdownAction: MenuItemAction, </del> <ins> primaryAction: IAction, dropdownAction: IAction, </ins> dropdownMenuActions: IAction[], private readonly _className: string, <del> @IContextMenuService private readonly _contextMenuService: IContextMenuService, @IKeybindingService private readonly _keybindingService: IKeybindingService, @INotificationService private readonly _notificationService: INotificationService, </del> <ins> private readonly _contextMenuProvider: IContextMenuProvider, </ins> dropdownIcon?: string ) { super(null, primaryAction); <del> this._primaryAction = new MenuEntryActionViewItem(primaryAction, this._keybindingService, this._notificationService); this._dropdown = new DropdownMenuActionViewItem(dropdownAction, dropdownMenuActions, _contextMenuService, { menuAsChild: true, classNames: ['codicon', dropdownIcon || 'codicon-chevron-down'] }); </del> <ins> this._primaryAction = new ActionViewItem(undefined, primaryAction, { icon: true, label: false }); this._dropdown = new DropdownMenuActionViewItem(dropdownAction, dropdownMenuActions, this._contextMenuProvider, { menuAsChild: true, classNames: ['codicon', dropdownIcon || 'codicon-chevron-down'] }); </ins> } override render(container: HTMLElement): void {

Discussion:
For reuse by other code areas
Also polish styling including a hover over the joint buttons
Mockup: !
Fixed in
Change:
} public set input(input: string) { <del> this.entries = this.extensions </del> <ins> this.entries = this.installedExtensions </ins> .map(extension => ({ extension, highlights: getHighlights(input.trim(), extension) })) .filter(({ highlights }) => !!highlights) <del> .map(({ extension, highlights }) => ({ extension, highlights, state: ExtensionState.Installed })) </del> <ins> .map(({ extension, highlights }: { extension: IExtension, highlights: IHighlights }) => { const [outdatedExt] = this.outdatedExtensions.filter(outdatedExt => extensionEquals(outdatedExt, extension)); return { extension, highlights: getHighlights(input.trim(), extension), state: outdatedExt ? ExtensionState.Outdated : ExtensionState.Installed }; }) </ins> .sort(extensionEntryCompare); } }

Discussion:
from If you select "Show Installed Extensions" you won't see the update button but if you select "Install Extension" and search for an already installed extension that has a newer version available, the update button is visible. Is this part of this bug or is this something else? Install Extension: ! Show Installed Extensions: !
Change:
text: trusted ? `$(shield)` : `$(shield) ${text}`, ariaLabel: ariaLabel, tooltip: toolTip, <del> command: 'workbench.trust.manage', </del> <ins> command: MANAGE_TRUST_COMMAND_ID, </ins> backgroundColor, color };

Discussion:
The recently remote indicate tooltip helps users to learn about the limited extension functionality when in virtual workspaces. That allows us to reserve the banner for information on the restricted mode and avoid the complicated sentences when restricted mode and virtual workspaces are on at the same time. While it is interesting information that is limited extension functionality when in virtual workspaces, it's IMO not that crucial to warrant a banner. Also there's nothing the user can do about it.
FYI
Change:
} } const [localUser, application] = await Promise.all(promises); <del> await this.loadConfiguration(application ?? this._configuration.applicationConfiguration, localUser, this._configuration.remoteUserConfiguration); </del> <ins> await this.loadConfiguration(application ?? this._configuration.applicationConfiguration, localUser, this._configuration.remoteUserConfiguration, true); </ins> })()); }

Discussion:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: not applicable <!-- 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.79.0-insider OS Version: Windows 11 x64 Steps to Reproduce: an extension that implements a FileSystemProvider and serves a file containing a setting. a workspace that uses this FSP. that the setting has no effect until the workspace is reloaded. I will prepare a branch of fsprovider-sample to demonstrate the issue.
Repro steps: project () and VSIX (). an empty profile and install the VSIX into it. no folder or workspace open, run . Explorer find and open that though this specifies a font size of 24 it is displayed in the default font size. and observe that the font size is now correct. !
/assign I will submit a PR to fix this.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
/verified
Change:
return this._context.viewModel.modifyPosition(position, offset); } }; <del> return PagedScreenReaderStrategy.fromEditorSelection(simpleModel, this._primarySelection, accessibilityPageSize, this._accessibilitySupport === AccessibilitySupport.Unknown); </del> <ins> return PagedScreenReaderStrategy.fromEditorSelection(simpleModel, this._primarySelection, this._accessibilityPageSize, this._accessibilitySupport === AccessibilitySupport.Unknown); </ins> } private _setSelectionOfScreenReaderContent(selectionOffsetStart: number, selectionOffsetEnd: number): void {

Discussion:
Enable the setting which enabled the native edit context adoption Copy some code which is more than 3 lines long Paste the code. The code that is pasted does not correspond to the code that is copied
After some investigation, I have noticed the following curious points. In the following, please note that to fix the long-press-E chromium issue, we essentially always write the screen reader content which means we always change the document selection. When screen reader is toggled off: When we read the copied text from the the electron clipboard in order to paste, it is incorrect When we remove the logic that sets the document selection for the screen reader content, the pasted text is correct When screen reader is toggled on: Text that is read from electron clipboard is always correct In fact interestingly when we revert the changes we have made for the long-press E issue, then this copy-paste issue no longer occurs! Since the long-press E issue is not important, and copy pasting is much more important, I believe that we should revert that fix. From this I believe this could be somehow related to a chromium bug. cc
I have made the following PR to revert the long press E fix : This fixed copy-pasting too.
Change:
"inputOption.activeBackground": "#2489db82", "inputOption.activeBorder": "#2488db", "keybindingLabel.foreground": "#cccccc", <del> "list.activeSelectionBackground": "#ffffff0f", </del> <ins> "list.activeSelectionBackground": "#323232", </ins> "list.activeSelectionIconForeground": "#ffffff", "list.activeSelectionForeground": "#ffffff", "menu.background": "#1f1f1f",

Discussion:
Type: <bBug</bdark v2 theme files from the explorer and drag then in to an editor bug There's no background to the dragged element label so it blends into the editor text ! VS Code version: Code - Insiders 1.78.0-insider (Universal) (, 2023-04-17T12:50:42.586Z) OS version: Darwin x64 22.4.0 Modes: Sandboxed: Yes <details<summarySystem Info</summary </details<details<summaryExtensions (51)</summaryExtensionVersion ------ tsl-problem-matcher0.6.2 comment-tagged-templates0.3.2 docs-view0.0.11 emojisense0.9.1 folder-source-actions0.2.1 markdown-mermaid1.18.1 vscode-eslint2.4.0 kusto0.4.3 typescript-notebook2.0.6 EditorConfig0.16.4 codespaces1.14.5 copilot-nightly1.82.24 vscode-pull-request-github0.63. vscode-drawio1.6.6 vscode-postfix-ts1.12.1 search-editor-apply-changes0.1.1 latex-workshop9.8.2 vscode-tree-sitter-query0.0.1 vscode-position1.1.2 template-string-converter0.6.1 vscode-docker1.25.0 vscode-language-pack-de1.77. vscode-language-pack-zh-hans1.77. isort2023.9. python2023.7. vscode-pylance2023.4.21 jupyter2023.4. jupyter-keymap1.1.0 jupyter-renderers1.0.15 vscode-jupyter-cell-tags0.1.8 vscode-jupyter-slideshow0.1.5 remote-containers0.290.0 remote-ssh0.101. remote-ssh-edit0.84.0 azure-account0.11.3 cpptools1.15.2 hexeditor1.9.11 js-debug-nightly2023.4.1317 live-server0.5. remote-explorer0.5. remote-server1.1.

test-adapter-converter0.1.7 vscode-github-issue-notebooks0.0.128 vscode-js-profile-flame1.0.5 vscode-marketplace-extension-browser0.0.7 vsliveshare1.0.5857 code-spell-checker2.20.4 ayu1.0.5 luna-paint0.16.0 sort-lines1.9.1 fast-arrow1.0.8 (2 theme extensions excluded) </details<!-- generated by issue reporter --
I believe the background normally comes from this line:
Change:
readonly onDidChangeOrphaned = Event.None; readonly onDidChangeReadonly = Event.None; <ins> readonly onDidRevertUntitled = Event.None; </ins> private readonly _onDidChangeContent = this._register(new Emitter<void>()); readonly onDidChangeContent: Event<void> = this._onDidChangeContent.event;

Discussion:
a new notebook (or new image with Luna editor) and also a new text file all the editors dirty hotexit is off the window, selecting "don't save" when prompted to revert all working copies -open the window - the text editor is gone (closed during shut down), but the other editors are open and blank.
This is why I thought the revert behavior was broken in I think it would be much better if an interactive window closed when it was reverted.
this is really up to the editor itself to decide whether to close the editor when the underlying working copy is reverted or not. Generally working copies try to stay as agnostic as possible to editors. There is only very few exceptions when it comes to restoring backups. Untitled editors listen to working copies getting reverted to self-dispose: This in turn, will close the editor. I suggest you go down a similar path. fyi for custom editors
fixed for notebook/Interactive window editor. - did you want another issue to track this for custom editors?
Yes that would be great
Change:
export class ChatListDelegate implements IListVirtualDelegate<ChatTreeItem> { constructor( <ins> private readonly defaultElementHeight: number, </ins> @ILogService private readonly logService: ILogService ) { }

Discussion:
See how the padding is ~double that on top than on the side ! It looks particularly bad imo when a response is in progress: ! It's also ~half on bottom: ! Could we make the padding consistent on all sides?
Padding also looks pretty bad in terminal: !
When showing a result the chat widget height is off by 3px, e.g its reported content height is small then the height takes... <img width="1411" alt="Screenshot 2024-03-22 at 16 22 35" src=""
Should be looking better now <img width="1277" alt="Screenshot 2024-03-26 at 20 58 39" src=""
Much better Does it look wrong with this part gone too? !
Yeah, I had played with that and wasn't happy. The different radii (from the input and zone) get close enough to make it look weird. Also, the focus border makes it appear as too narrow
Change:
private readonly _onDidLayout = this._register(new Emitter<Dimension>()); readonly onDidLayout = this._onDidLayout.event; <del> private readonly _onDidClose = this._register(new Emitter<void>()); readonly onDidClose = this._onDidClose.event; </del> <ins> private readonly _onWillClose = this._register(new Emitter<void>()); readonly onWillClose = this._onWillClose.event; </ins> private readonly _onWillDispose = this._register(new Emitter<void>()); readonly onWillDispose = this._onWillDispose.event;

Discussion:
Testing It would be great if we can have a command to bring back those editors to the main window.
I think that should actually be the default behaviour when you just close the window. That will prevent ugly confirmation dialogs for dirty editors when you attempt to close the floating window.
Verification: open a floating window with some editors (e.g. by dragging an editor tab out of the window) close the floating window, e.g. from the X window button verify all editors of the floating window are moved back to the main window
Change:
this._attachBarrier.open(); <del> this.xterm?.attachToElement(container); </del> // Attach has not occurred yet if (!this._wrapperElement) { return this._attachToElement(container); } <ins> this.xterm?.attachToElement(this._wrapperElement); </ins> // The container changed, reattach this._container = container;

Discussion:
I do not see the notification toast when I select "New Terminal" from command palette. But I see this issue that the OP reported I think: ! ! Originally posted by in
I see this problem: Start a new terminal - full screen Drag to bottom or right = non-functional If you split the panel right, it is fine
Reproes only when you have more than one terminal in the editor area
Can do it with a single terminal, clean open of VSCode (mac), no other windows. !
Thanks, I specifically meant when dragging and dropping into the panel.
/verified second terminal is no longer blank

<!-- 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.64.0-insider (Universal) Commit: Date: 2021-12-10T05:13:44.798Z (11 hrs ago) Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 or Version: 1.63.0 (Universal) Commit: Date: 2021-12-07T05:15:48.091Z Electron: 13.5.2 Chromium: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Darwin x64 20.6.0 OS Version: macOS Big Sur 11.6.1 Remote OS Version: Ubuntu 20.04.3 Steps to Reproduce: to remote machine. terminal in editor area. Open another editor in editor area. Switch between terminals. I've seen this problem happening on a local window. I think it starts happening in local windows as soon as you open one remote. Not sure if its related, but I am using fish shell on both local and remote machines. Attaching reproduction gif. !
likely a /duplicate
Just saw this happen - occurs after dragging and dropping them in the editor area/rearranging
I'm not sure whether I'm repro'ing the original issue correctly. What are some confirmation/verification steps for this issue?

Just following the op's steps were enough. They were really broken.
try on a remote machine: terminal in editor area command a command terminal in editor area command between them Also: in terminal panel to editor area a command in terminal panel to editor area between them
Change:
throw new Error(`Cannot get canonical URI because no extension is installed to resolve ${getRemoteAuthorityPrefix(remoteAuthority)}`); } <ins> private async _resolveAuthorityInitial(remoteAuthority: string): Promise<ResolverResult> { const MAX_ATTEMPTS = 5; for (let attempt = 1; ; attempt++) { const sw = StopWatch.create(false); this._logService.info(`[attempt ${attempt}] Invoking resolveAuthority(${getRemoteAuthorityPrefix(remoteAuthority)})`); try { const resolverResult = await this._resolveAuthority(remoteAuthority); this._logService.info(`[attempt ${attempt}] resolveAuthority(${getRemoteAuthorityPrefix(remoteAuthority)}) returned '${resolverResult.authority.host}:${resolverResult.authority.port}' after ${sw.elapsed()} ms`); return resolverResult; } catch (err) { this._logService.error(`[attempt ${attempt}] resolveAuthority(${getRemoteAuthorityPrefix(remoteAuthority)}) returned an error after ${sw.elapsed()} ms`, err); if (RemoteAuthorityResolverError.isNoResolverFound(err)) { // There is no point in retrying if there is no resolver found throw err; } if (attempt >= MAX_ATTEMPTS) { // Too many failed attempts, give up throw err; } } } } </ins> private async _resolveAuthorityAgain(): Promise<void> { const remoteAuthority = this._environmentService.remoteAuthority; if (!remoteAuthority) {

Discussion:
When connecting to a remote, if the initial connection fails, we will give up. The idea was that retrying would be useless, since the initial setup might have failed. But it is possible that perhaps it was an intermittent network error.
One of the annoyances I have is all my open editors tabs are closed. I have to try and remember what editor tabs I had open which often leads to lost time and effort trying to recall. I did create a ticket for this, which is how I found this as it was suggested, Ideally, even if can't connect need the ability to save/restore the prior editor tabs that were open or currently opened.
This can be verified running from source with the test resolver, using a change like the following: Then, run and from the bottom left open the test resolver. The resulting window should connect despite the resolver returning errors or resolving with an address which leads to a connection error.
Change:
} protected override _shouldRenderHint(): boolean { <ins> // TODO@rebornix, remove this when we have a better way to present the editor hints in empty cells if (this.productService.quality === 'stable') { return false; } </ins> const shouldRenderHint = super._shouldRenderHint(); if (!shouldRenderHint) { return false;

Discussion:
Testing 1 Create New Jupyter Notebook what I see (image below). There is only one line visible and it is covered by the hint, the notebook does not have focus. do not have any space where I can click just to pass focus inside the notebook to start typing If I click below, the focus is passed to this weird mini status bar (image 2) imho this is a ux bug. The point of the hint is not to be in your way. It works better in the regular VS Code editor because there are more lines visible. If there is only one line, it is very much in user's face. ! ! fyi
Makes good sense to me. I pushed a change to disable this for Stable first. I'd like to provide a non-clickable editor hint in empty cell once the main is open for business/Insiders again.
We disabled mouse clicking now <img width="1187" alt="image" src=""