jiebi/CodeConvo huggingface dataset:
Change:
if (!this._xterm?.element || !this._wrapperElement || !this._container || !charWidth || !this._fixedCols) { return; } <ins> if (this._fixedCols < this._xterm.buffer.active.getLine(0)!.length) { // no scrollbar needed return; } </ins> this._hasScrollBar = true; this._initDimensions(); this._fixedRows = this.rows;

Discussion:
Testing have fixed with on in a narrow terminal type select , existing text is re-rendered correctly select again, :bug: no effect https://user-
I'm having trouble reproducing this
could be related to the (now fixed) problem of losing terminal focus, since that's a precondition for the action to run
Change:
if (filesToOpen && potentialNewWindowsCount === 0) { // Find suitable window or folder path to open files in <del> const fileToCheck = filesToOpen.filesToOpenOrCreate[0] || filesToOpen.filesToDiff[0] || filesToOpen.filesToMerge[3] /* [3] is the resulting merge file */; </del> <ins> const fileToCheck: IPath<IEditorOptions> | undefined = filesToOpen.filesToOpenOrCreate[0] || filesToOpen.filesToDiff[0] || filesToOpen.filesToMerge[3] /* [3] is the resulting merge file */; </ins> // only look at the windows with correct authority const windows = this.getWindows().filter(window => filesToOpen && isEqualAuthority(window.remoteAuthority, filesToOpen.remoteAuthority));

Discussion:
Insiders the terminal, run new file called should be open in the editor. that tab. The command no longer returns
Thanks! I thought that it was some configuration issue on my side when GitLens Rebase editor didn't release file and later text editors did the same.
<!-- 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!
Worked fine for me for both cases: prompt for commit message update as well as GitLens' Rebase editor. Version: 1.70.0-insider (user setup) Commit: Date: 2022-07-21T05:17:27.580Z OS: Windows_NT x64 10.0.
Change:
} }); <del> const enableTerminalReconnection = this.configHelper.config.enablePersistentSessions; // Connect to the extension host if it's there, set the connection state to connected when // it's done. This should happen even when there is no extension host. this._connectionState = TerminalConnectionState.Connecting; const isPersistentRemote = !!this._environmentService.remoteAuthority && enableTerminalReconnection; if (isPersistentRemote) { this._remoteTerminalsInitPromise = this._reconnectToRemoteTerminals(); } else if (enableTerminalReconnection) { this._localTerminalsInitPromise = this._reconnectToLocalTerminals(); } else { this._connectionState = TerminalConnectionState.Connected; } </del> // Create async as the class depends on `this` timeout(0).then(() => this._instantiationService.createInstance(TerminalEditorStyle, document.head)); }

Discussion:
Also repro's in stable
unsure when this started happening. I don't see any open issues about it, which makes me think this is expected in WSL?
was last working in stable 1.59
and because it was broken in stable 1.60, we can narrow it down - the breaking change happened in August
looks like perhaps a race condition - get layout info is called w the correct workpsaceId, but then set layout info is called so might be wiping out the stored info before the reconnect can occur.
I open a terminal in a Remote-SSH window, reload the window, it is not reconnected
still doesn't work for WSL. based on my investigation, the pty service gets re-created when the window is reloaded, thus losing the and maps
when connected to localhost via ssh, reloading does persist the terminals but I thought this would still be using the ... !
Yep !
Also working for me in codespaces https://user-
It does work in WSL. interestingly, other state isn't persisted that should be though (see the layout change) !
this works on all remote platforms based on my testing. i saw a few times reloading WSL didn't work, but now cannot reproduce
Oh cool, I thought the situation was much worse. I'll reopen to verify on my side since we definitely want to make sure this is working everywhere
All seems to work
verified
Change:
return; } <del> this.listRefreshScheduler.schedule(this.structuralRefreshDelay); </del> <ins> this.listRefreshScheduler?.schedule(this.structuralRefreshDelay); </ins> }; const groupDisposables = new Map<number, IDisposable>(); const addGroupListener = (group: IEditorGroup) => { const groupModelChangeListener = group.onDidModelChange(e => { <del> if (this.listRefreshScheduler.isScheduled()) { </del> <ins> if (this.listRefreshScheduler?.isScheduled()) { </ins> return; } if (!this.isBodyVisible() || !this.list) {

Discussion:
it needs the to work but that only comes in when is called then why is the scheduler not created from and associated code that calls it? the scheduler is never disposed
Change:
instanceOrUri.target = TerminalLocation.Editor; input = this._instantiationService.createInstance(TerminalEditorInput, resource, instanceOrUri); this._registerInstance(inputKey, input, instanceOrUri); <ins> return input.resource; </ins> } else { <del> input = this._instantiationService.createInstance(TerminalEditorInput, instanceOrUri, undefined); this._editorInputs.set(inputKey, input); </del> <ins> return instanceOrUri; } } getInputFromResource(resource: URI): TerminalEditorInput { const input = this._editorInputs.get(resource.path); if (!input) { throw new Error(`Could not get input from resource: ${resource.path}`); </ins> } return input; }

Discussion:
Context: Essentially instead of creating s we will assign URIs to the shell launch configs and only create the terminals when the input is created.
This should also include the fix for splitCwd support in terminal editors:
Change:
this._register(mouseEvents.onContextMenu(this.viewHelper.viewDomNode, (e) => this._onContextMenu(e, true))); <del> this._register(mouseEvents.onMouseMove(this.viewHelper.viewDomNode, (e) => this._onMouseMove(e))); </del> <ins> this._register(mouseEvents.onMouseMove(this.viewHelper.viewDomNode, (e) => { this._onMouseMove(e); // See https://github.com/microsoft/vscode/issues/138789 // When moving the mouse really quickly, the browser sometimes forgets to // send us a `mouseleave` or `mouseout` event. We therefore install here // a global `mousemove` listener to manually recover if the mouse goes outside // the editor. As soon as the mouse leaves outside of the editor, we // remove this listener if (!this._mouseLeaveMonitor) { this._mouseLeaveMonitor = dom.addDisposableListener(document, 'mousemove', (e) => { if (!this.viewHelper.viewDomNode.contains(e.target as Node | null)) { // went outside the editor! this._onMouseLeave(new EditorMouseEvent(e, false, this.viewHelper.viewDomNode)); } }); } })); </ins> this._register(mouseEvents.onMouseUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e)));

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.63.0 OS Version: Windows 11 Steps to Reproduce: a file where breakpoints can be set around the edge of the editor, in and out of the margin until the breakpoint stays even though the mouse is outside of the editor (see GIF below). ! This is important to me because I am using margin decorations in Monaco and running into the same issue there. Internally the event isn't triggered, so the decorations aren't removed. It seems to be specific to decorations in the glyph margin, as without these (e.g. line decorations) it doesn't seem to reproduce.
I can reproduce when moving the mouse quickly. I find it interesting that also the scrollbars suffer form the same problem (the scrollbars listen independently to ). I've also tried locally to replace with the somewhat more modern and I could still reproduce. Basically the browser simply forgets soemtiems to send us a or a event: <img width="538" alt="image" src="https://user-"
Change:
const setupDir = (arch, target) => path.join(repoPath, '.build', `win32-${arch}`, `${target}-setup`); const issPath = path.join(__dirname, 'win32', 'code.iss'); const innoSetupPath = path.join(path.dirname(path.dirname(require.resolve('innosetup-compiler'))), 'bin', 'ISCC.exe'); <ins> const signPS1 = path.join(repoPath, 'build', 'tfs', 'win32', 'sign.ps1'); </ins> function packageInnoSetup(iss, options, cb) { options = options || {};

Discussion:
is from an unknown publisher
!
Oh it really seems like you can't uninstall it... Not good.
Related to

Unlike the VS Code installer for Windows, the VS Code uninstaller for Windows is not signed. You can fix this by using the directive in your Inno Setup script. See For dual signing it's easiest to use Inno Setup 5.5.8 instead of 5.5.6 as you currently use: 5.5.8 allows you to have two SignTool directives, one for the sha-1 signing and another for the sha-256 signing.
To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed. Thanks for your understanding. Happy coding!
Change:
import { renderMarkdown } from 'vs/base/browser/markdownRenderer'; import { alert } from 'vs/base/browser/ui/aria/aria'; <del> import { TimeoutTimer } from 'vs/base/common/async'; </del> <ins> import { Event } from 'vs/base/common/event'; </ins> import { IMarkdownString, isMarkdownString } from 'vs/base/common/htmlContent'; import { KeyCode } from 'vs/base/common/keyCodes'; import { DisposableStore, IDisposable, MutableDisposable } from 'vs/base/common/lifecycle';

Discussion:
Testing Tiniest of nits, and perhaps this is inherited from all hovers, but I felt like the hover disappeared too quickly. If I was reading particularly slowly or looked away and then back at the message, I might've missed it.
felt the same, I think using the workbench hover infra would help.
Also, it disappears when you still hover on it: !
I think given the new complexity of this hover and the actions we should do a tactical fix here. I suggest to remove the timer that removes the message automatically after 3 seconds: There are still other listeners in place to hide the message, so I think we are good.
makes sense.
trying to verify: "readonly hover" means "hover in readonly files" ?
best to verify would be in repo open a file from folder and try to edit in such a file. You should see a hover with a link.

Testing This would benefit from an underline instead of the bold treatment to match the rendering we use in the workspace banner links (e.g. restricted mode) <img width="490" alt="CleanShot 2023-06-26 at 21 53 54 src=""
I also think its hard to discover, but I think we are not using underline for links in hovers so far?
We also do not show underlines in other places we show markdown in hovers: <img width="485" alt="image" src=""I used bold because the blue background of the hover made the contrast poor with our usual blue link color. We could use another color instead though.
I think the intent of the blue color in the message widget is to draw more attention, i.e. giving the signal of an information message vs. just being a normal tooltip. But maybe we can make the background color of the widget the same as hovers and then user blue color for links. I think that way we can still keep the blue border but it will not collide with the links.
Sample with a mix of hover colors and info colors for border: <img width="764" alt="image" src=""
And in dark theme: ! Changes I did: use hover colors use the same border radius of as in editor hovers allow to tab into the message with keyboard to invoke the link within
Change:
const commit = await repository.getCommit('HEAD'); <ins> if (commit.parents.length > 1) { const yes = localize('undo commit', "Undo merge commit"); const result = await window.showWarningMessage(localize('merge commit', "The last commit was a merge commit. Are you sure you want to undo it?"), yes); if (result !== yes) { return; } } </ins> if (commit.parents.length > 0) { await repository.reset('HEAD~'); } else {

Discussion:
Several developers in our team have encountered problem because of accidentally undoing last merge commit. I think it would be nice to prompt if the last commit is a merge commit.
Works great, but it might be good to make it a modal dialog since action is required.
I like that
Change:
protected _unDisposedFileMatches: ResourceMap<FileMatch>; protected _unDisposedFolderMatches: ResourceMap<FolderMatchWithResource>; private _replacingAll: boolean = false; <ins> // if this is compressed in a node with other FolderMatches, then this is set to the parent where compression starts public compressionStartParent: FolderMatch | undefined; </ins> constructor( protected _resource: URI | null, private _id: string,

Discussion:
Testing Open in VS Code Insiders Search for "containers" Exploring results and collapsing/uncollapsing works for a while :bug: Then "Collapse All" does nothing !
It seems I'm able to repro by: Reload window from above state Search for "containers" again, works correctly "Collapse All," works correctly Uncollapse, works correctly Try "Collapse All" again, stuck in unresponsive state above
Actually seems I misread the button - I guess it's always "Collapse All" and doesn't become an option to uncollapse. I was confused since hitting collapse two times in a row changes the search results, so I assumed it was collapsing and then uncollapsing. Not sure if this is expected: ! I've renamed the issue to be reflective of what I actually experienced. If this is expected, please feel free to close. Sorry for confusion!
No, that's totally a bug , it shouldn't get stuck like that. Thanks for catching that!
Change:
readMore.style.width = lineHeightPx; }; <del> configureFont(); disposables.add(this._editor.onDidChangeConfiguration(e => { if (e.hasChanged(EditorOption.fontInfo) || e.hasChanged(EditorOption.suggestFontSize) || e.hasChanged(EditorOption.suggestLineHeight)) { configureFont(); } })); return { root, left, right, icon, colorspan, iconLabel, iconContainer, parametersLabel, qualifierLabel, detailsLabel, readMore, disposables }; </del> <ins> return { root, left, right, icon, colorspan, iconLabel, iconContainer, parametersLabel, qualifierLabel, detailsLabel, readMore, disposables, configureFont }; </ins> } renderElement(element: CompletionItem, index: number, data: ISuggestionTemplateData): void { <ins> data.configureFont(); </ins> const { completion } = element; data.root.id = getAriaId(index); data.colorspan.style.backgroundColor = '';

Discussion:
or VS Code Desktop something to make the autocompletion menu appear. the dash key (-) multiple times to zoom in a lot. Only the text in the menu gets larger while the html elements stay the same size. ! The html should resize with the text appropriately. Zooming in first and then revealing the menu produces the correct sizes on everything. It's possible that "" is the incorrect command to call in this case. Perhaps a list of commands could be provided?
To verify bind a keybinding to Editor Zoom In/out trigger suggest while it shows, use the editor zoom keybindings
Change:
private timer: NodeJS.Timer | undefined; private markdownIt: MarkdownItType.MarkdownIt | undefined; private parse5: typeof import('parse5') | undefined; <ins> private textDecoder = new TextDecoder(); </ins> constructor() { this.disposables.push(

Discussion:
Type: <bBug</bClose all editor windows/processes In any arbitrary directory that does not contain , start vscode to create , e.g. Objserve that an empty tag named is also opened. VS Code version: Code 1.75.1 (, 2023-02-08T21:32:34.589Z) OS version: WindowsNT x64 10.0. Modes: Restricted Sandboxed: No <details<summarySystem Info</summary </detailsExtensions disabled<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This originates from here: The editor just makes sure that dirty documents are made visible.
Change:
if (description || this.descriptionNode) { const descriptionNode = this.getOrCreateDescriptionNode(); if (descriptionNode instanceof HighlightedLabel) { <del> descriptionNode.set(description || '', options ? options.descriptionMatches : undefined); </del> <ins> descriptionNode.set(description || '', options ? options.descriptionMatches : undefined, undefined, options?.labelEscapeNewLines); </ins> this.setupHover(descriptionNode.element, options?.descriptionTitle); } else { <del> descriptionNode.textContent = description || ''; </del> <ins> descriptionNode.textContent = description && options?.labelEscapeNewLines ? HighlightedLabel.escapeNewLines(description, []) : (description || ''); </ins> this.setupHover(descriptionNode.element, options?.descriptionTitle || ''); descriptionNode.empty = !description; }

Discussion:
Type: <bBug</brust-analyzer 0.3.1293 or a similar version a new file containing the source , which causes rust-analyzer to generate a with newline characters to show call hierarchy on the function Expected: Call hierarchy shows function name and signature as normal: ! Actual: Call hierarchy shows only the middle line of the signature: ! This occurs because: are not stripped from the detail CSS for includes CSS for includes I do not believe this is a rust-analyzer extension bug because the description of this field in the does not prohibit characters, and the problem is clearly caused by the CSS that VSCode uses to render the text. VS Code version: Code 1.73.1 (, 2022-11-09T02:08:38.961Z) OS version: Darwin x64 18.7.0 Modes: Sandboxed: No <!-- generated by issue reporter --
Thank you for the quick turnaround on this fix!
<!-- 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!
Change:
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.36.tgz#460f80829a78c979a448d5b764699af3f0366ff1" integrity sha512-sgX7OHSGZQZE5b4xtPqd/5NEcll0Z+00tnTVxKZlXf5XEENcG0tnBF4I4f+k9K3cmjE1UIUVG2yYPrqWlYCdpA== <del> xterm@4.19.0-beta.49: version "4.19.0-beta.49" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.49.tgz#96d0d748c97a2f0cfa4c6112bc4de8b0d5d559fe" integrity sha512-qPhOeGtnB357mZOvfDckVlPDR7EDkSASQrB3aujhjgJlOiBBqcNRJcuSvF7v1DOho7xdEI9UQxiSiT5diHhMlg== </del> <ins> xterm@4.19.0-beta.52: version "4.19.0-beta.52" resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.19.0-beta.52.tgz#21c7ad0bd905f3fddaa0583951514c8271dcd822" integrity sha512-2itY6dyiimOEkgVwc31TngYQ6npHt7or1wxU0Flbv4PjH4ke8K26NDB7KAi0YYkn2g0/qzIjQc7ykdrrTaEgMg== </ins>

Discussion:
Issue Type: <bBug</bIn the regular MacOS terminal (outside Visual Studio Code), option+click will move the cursor to a given point in the text. This is nice for editing the middle of a long command line, or for moving around vim. However, when the MacOS Terminal is being run inside Visual Studio Code, when I option+click text, the cursor moves close to where I clicked, but it's off by about 3 characters. VS Code version: Code 1.63.2 (, 2021-12-15T09:38:17.605Z) OS version: Darwin arm64 21.1.0 Restricted Mode: No Remote OS version: Linux x64 5.4.0-105-generic <details<summarySystem Info</summary </details<details<summaryExtensions (4)</summaryExtensionVersion ------ remote-ssh0.70.0 python2022.4.1 vscode-pylance2022.4.2 references-view0.0.89 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Guessing this is related to padding on
Does not reproduce in the demo
VS Code uses padding but the demo doesn't, try adding to
shouldn't the padding be on the cursor layer? nvm made the change in the wrong
I think this rule is the problem but haven't looked into it: ! We recently moved the padding from to I think which would explain the regression
Change:
*  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { $, addDisposableListener, append, asCSSUrl, EventType, ModifierKeyEmitter, prepend } from 'vs/base/browser/dom'; </del> <ins> import { $, addDisposableListener, append, asCSSUrl, EventType, ModifierKeyEmitter, prepend, reset } from 'vs/base/browser/dom'; </ins> import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { ActionViewItem, BaseActionViewItem, SelectActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems'; import { DropdownMenuActionViewItem, IDropdownMenuActionViewItemOptions } from 'vs/base/browser/ui/dropdown/dropdownActionViewItem';

Discussion:
To reproduce: install GitLens setopen an editor ! Originally posted by in
is an example how to apply a color to an icon from URL
Sorry for sending back, but there are many things to report here and I feel that doing a one-off fix in editor toolbar is wrong and just a band aid. Inconsistencies It looks like is not applied consistently everywhere. Notice how the view toolbars do not change, while the editor toolbar does change (these 2 are essentially the same part toolbars): <img width="1008" alt="Screenshot 2023-08-22 at 11 10 35" src=""I think the underlying reason is this CSS rule: Missing Adoptions The editor header really just uses a standard and imho should not be responsible for making this color work for entries, rather the component should do that: You can see that the same issue applies to other toolbars, such as the view toolbars, which is not surprising. Code Duplication There seems to be code involved to make the color work for SVG icons, but that code is heavily duplicated and should be reused:
I don't think assigning this issue to me and David is useful. I'm not familiar with toolbars.
I hear about this issue quite often from extension authors. They want to either add the CSS vars to the SVG code itself and have it respond to themes, or just have us do it automatically.
its unlikely a thing to fix in toolbars but more a thing to fix where we allow icons from extensions to enter our world, because in the end we only use Codicons and nothing else. I believe this is happening from where menus are being created based on : Which I think is the place to add the mask, but might know better.
I can help to get this working with the MenuEntryActionItem things. Those are created for contributed commands/menus and we do support SVG via this path.
thanks for the mask trick <img width="1139" alt="Screenshot 2023-08-31 at 12 10 56" src=""
I just updated to 1.83.0 and found this update has broken the ability for versionlens to show if its enabled or disabled via its icon. With previous versions of vscode it showed as enabled ! in 1.83.0 when the icon is enabled it is now masked !

I understand that theming icons is preferable but how can we specify enableddisable state with theme styles? For instance the icon for showing diff whitespaces has the ability to be enabled or disabled ! How do we implement the same behaviour for extensions?