jiebi/CodeConvo huggingface dataset:
Change:
hoverDelegate.onDidHideHover?.(); hoverWidget = undefined; } <ins> htmlElement.removeAttribute('custom-hover-active'); </ins> }; const triggerShowHover = (delay: number, focus?: boolean, target?: IHoverDelegateTarget) => {

Discussion:
macOS, VS Code Insiders into explorer focus via keyboard hover does not show. There is no command to trigger the custom hover to show Like the activity bar, we have to make sure that the custom hover can be accessed in the tree/list only with the keyboard.
Would you suggest adding a keybinding to toggle the visibility of the custom hover of the html element which has focus?
Yeah, ideally it is . The same shortcut that we use in the editor for showing the hover. So it is consistent and easy for user to understand that there is one shortcut which does the right thing everywhere.
Isn't this a duplicate of ? Btw we seem to be having this support for extension provided trees at least:
I think it's good to have this one separate to .
Solving this for all trees/lists is pretty hard as the tree/list does not know anything about the underlying elements being rendered. For extension trees it is much easier as they all consist of a label which the creates and controls.
One option could be to utilize the to get the tooltip. Currently it already provides
After further discussions we came to the conclusion that we would use the DOM tree to figure out if there is any custom hovers available and trigger the hover by dispatching a mouse event on the HTMLElement. This might seem rather hacky but it ensures the consumers of the tree only have to support hover once and lets the tree handle keyboard triggers. Handling focus is still tricky and a open problem. Until this focus problem is properly fixed the treeview will keep it's own implementation which directly uses the hover service and moves the focus into the hover. The treeview implementation of this has it's own flaws but will b kept for the meantime to not cause regressions.
Change:
readonly position: number; } <ins> function stickyScrollNodeStateEquals<T, TFilterData>(node1: StickyScrollNode<T, TFilterData>, node2: StickyScrollNode<T, TFilterData>) { return node1.position === node2.position && stickyScrollNodeEquals(node1, node2); } </ins> function stickyScrollNodeEquals<T, TFilterData>(node1: StickyScrollNode<T, TFilterData>, node2: StickyScrollNode<T, TFilterData>) { <del> return node1.position === node2.position && node1.node.element === node2.node.element && </del> <ins> return node1.node.element === node2.node.element && </ins> node1.startIndex === node2.startIndex && node1.height === node2.height && node1.endIndex === node2.endIndex; } <del> class StickyScrollState<T, TFilterData, TRef> extends Disposable { </del> <ins> class StickyScrollState<T, TFilterData, TRef> { </ins> constructor( readonly stickyNodes: StickyScrollNode<T, TFilterData>[] = [] <del> ) { super(); } </del> <ins> ) { } </ins> get count(): number { return this.stickyNodes.length; } equal(state: StickyScrollState<T, TFilterData, TRef>): boolean { <del> return equals(this.stickyNodes, state.stickyNodes, stickyScrollNodeEquals); </del> <ins> return equals(this.stickyNodes, state.stickyNodes, stickyScrollNodeStateEquals); </ins> } lastNodePartiallyVisible(): boolean {

Discussion:
Tree Sticky Scroll uses caching to make sure that it does not have to rerender often. During the animation each frame/scroll has to be rerendered, which causes DOM elements to be removed and reconstructed. This could be improved by reusing the DOM elements and just adapting their heights.
Change:
decoration.onRender(target => { if (target && !this._decorations.get(decoration.marker.id)) { const disposables = command.exitCode === undefined ? [] : [this._createContextMenu(target, command), ...this._createHover(target, command)]; <del> this._decorations.set(decoration.marker.id, { decoration, disposables }); </del> <ins> this._decorations.set(decoration.marker.id, { decoration, disposables, exitCode: command.exitCode }); </ins> } if (target.clientWidth! > 0) { <del> this._applyStyles(target); if (command.exitCode === undefined) { target.classList.add(DecorationSelector.DefaultColor); target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationCommandIconDefault)}`); } else if (command.exitCode) { target.classList.add(DecorationSelector.ErrorColor); target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationCommandIconError)}`); } else { target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationCommandIcon)}`); } </del> <ins> this._applyStyles(target, command.exitCode); </ins> } }); return decoration; } <del> private _applyStyles(target: HTMLElement): void { target.classList.add(DecorationSelector.CommandDecoration); target.classList.add(DecorationSelector.Codicon); </del> <ins> private _applyStyles(target: HTMLElement, exitCode?: number): void { </ins> // must be inlined to override the inlined styles from xterm target.style.width = '16px'; target.style.height = '16px'; <ins> for (const classes of target.classList) { target.classList.remove(classes); } target.classList.add(DecorationSelector.CommandDecoration, DecorationSelector.Codicon); if (exitCode === undefined) { target.classList.add(DecorationSelector.DefaultColor); target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationDecorationIcon)}`); } else if (exitCode) { target.classList.add(DecorationSelector.ErrorColor); target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationDecorationIconError)}`); } else { target.classList.add(`codicon-${this._configurationService.getValue(TerminalSettingId.ShellIntegrationDecorationIconSuccess)}`); } </ins> } private _createContextMenu(target: HTMLElement, command: ITerminalCommand): IDisposable {

Discussion:
Currently you can disable them via: But this is not particularly easy and the decorations still end up rendering. We should have a switch that disables them outright, including adding them to xterm.
<img width="1111" alt="Screen Shot 2022-02-23 at 5 04 01 PM" src="https://user-"It is enabled even though shell integration is off... But thanks for the fix, now i can go back to using the integrated terminal! EDIT: the fix doesn't work, guess i'm stuck with iterm2 for now...
they're rectangles so you're probably on a pretty old build (1 week+?), updating will probably fix it for you.
are there any verification steps?
It's still unreleased, but use to disable them.
Change:
import { WhitespaceOverlay } from 'vs/editor/browser/viewParts/whitespace/whitespace'; import { GlyphMarginWidgets } from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin'; import { GlyphMarginLane } from 'vs/editor/common/model'; <ins> import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; </ins> export interface IContentWidgetData {

Discussion:
Type: <bBug</bWhen accessibility mode is off and focus is in the editor, pressing Alt +F1 produces the following announcement to screen reader users: "The editor is not accessible at this time. Press Alt+F1 for options.". If one is a new user of the product and screen reader mode doesn't turn on automatically, pressing the command which is supposed to help one get started just repeats the same announcement inviting the user to use Alt +F1 to obtain help. VS Code version: Code - OSS Dev 1.81.0 (Commit unknown, Date unknown) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.80.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I filed the bug while running VS Code from source. That's why version information doesn't reflect that I'm using the latest. Correct version information: Version: 1.81.0-insider (user setup) Commit: Date: 2023-07-18T05:36:41.526Z Electron: 22.3.14 ElectronBuildId: Chromium: 108.0.5359.215 16.17.1 V8: 10.8.168.25-electron.0 OS: Windows_NT x64 10.0.
Since the help menu is not accessible with that off, instead of we should say to enable screen reader mode.
Change:
ShowLanguageDialog=auto ArchitecturesAllowed={#ArchitecturesAllowed} ArchitecturesInstallIn64BitMode={#ArchitecturesInstallIn64BitMode} <ins> SignTool=esrp </ins> #if "user" == InstallTarget DefaultDirName={userpf}{#DirName}

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:
}); }; <del> function focusFirstFocusableOrContainerInOutput(cellId: string) { const cellOutputContainer = document.getElementById(cellId); </del> <ins> function focusFirstFocusableOrContainerInOutput(cellOrOutputId: string) { const cellOutputContainer = document.getElementById(cellOrOutputId); </ins> if (cellOutputContainer) { if (cellOutputContainer.contains(document.activeElement)) { return;

Discussion:
follow up after a notebook cell that displays multiple images down and select 'copy output to clipboard' on the last image :bug: the first image is selected and the notebook scrolls to reveal it
Change:
UnicodeVersion = 'terminal.integrated.unicodeVersion', ExperimentalLinkProvider = 'terminal.integrated.experimentalLinkProvider', LocalEchoLatencyThreshold = 'terminal.integrated.localEchoLatencyThreshold', <ins> LocalEchoEnabled = 'terminal.integrated.localEchoEnabled', </ins> LocalEchoExcludePrograms = 'terminal.integrated.localEchoExcludePrograms', LocalEchoStyle = 'terminal.integrated.localEchoStyle', EnablePersistentSessions = 'terminal.integrated.enablePersistentSessions',

Discussion:
There are too many issues with local echo and can really degrade the experience right now for local workspaces. We should add an on/off/auto setting where auto is disabled in local workspaces, so opt-in ssh in local terminal support is there.
what steps would we take to verify? Looks like there's a new setting?
I tested the setting
Change:
const detectHCSchemeSettingSchema: IConfigurationPropertySchema = { type: 'boolean', default: true, <del> markdownDescription: nls.localize('autoDetectHighContrast', "If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. The high contrast theme to use is specified by `#{0}#` and `#{1}#`.", ThemeSettings.PREFERRED_HC_DARK_THEME, ThemeSettings.PREFERRED_HC_LIGHT_THEME), </del> <ins> markdownDescription: nls.localize({ key: 'autoDetectHighContrast', comment: ['{0} and {1} will become links to other settings.'] }, "If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. The high contrast theme to use is specified by {0} and {1}", formatSettingAsLink(ThemeSettings.PREFERRED_HC_DARK_THEME), formatSettingAsLink(ThemeSettings.PREFERRED_HC_LIGHT_THEME)), </ins> scope: ConfigurationScope.APPLICATION };

Discussion:
open the settings, in the filter box enter . Check the settings description. It should contain links. The links use a special syntax: that must not be changed. The translated string has a message mentioning that. !
Thank you for your feedback. We are currently reviewing it (reference ).
could you please lock the placeholders with these annotations? I'll fix the local translation meanwhile.
I've got a fix out ^^
Verified in code while the translation is in work.
Change:
use crate::{constants::APPLICATION_NAME, util::errors::CodeError}; use async_trait::async_trait; use std::path::{Path, PathBuf}; <ins> use std::pin::Pin; use std::task::{Context, Poll}; </ins> use tokio::io::{AsyncRead, AsyncWrite}; use tokio::net::TcpListener; use uuid::Uuid;

Discussion:
It doesn't look like this new CLI supports serving on a UNIX domain socket. Could we please get that in too, like in We're going to need it in order to handle auth in a proxy. (I'm happy to open a new issue for that if you need) Originally posted by in
Nice, thanks!
I can do this what now?
Also is it an issue that the socket file wasn't release/deleted after a ctrl+C? or do I clean that up manually?
We should probably automatically delete the file if it exists You can do a to make sure it's actually working . Without extra stuff you won't be able to open it in the browser, but verifying the connection should be enough.
Change:
if (!jsonValue) { return null; } try { return JSON.parse(jsonValue); } catch (err) {

Discussion:
Originally posted by in
This is a great idea: !
Previously, extensions that patched VSCode like would occasionally result in a notification only after VSCode was updated. After this change, this banner appears every time VSCode is opened, even if it was previously dismissed for the same version. This feels very obtrusive. Was that an intended part of this change? !
Banner will be removed again in , I think it will cause more harm than being useful.
Change:
// if it's clearing all outputs, or outputs are all rendered synchronously // shrink immediately as the final output height will be zero. // if it's rerun, then the output clearing might be temporary, so we don't shrink immediately <del> this._validateFinalOutputHeight(false || (context === CellOutputUpdateContext.Other && this.viewCell.outputsViewModels.length === 0)); </del> <ins> this._validateFinalOutputHeight(context === CellOutputUpdateContext.Other && this.viewCell.outputsViewModels.length === 0); </ins> } private _generateShowMoreElement(disposables: DisposableStore): HTMLElement {

Discussion:
This is a weird statement that seem to do nothing. I am creating this bug to accompany a PR to fix it. If there is an actual reason I am also happy to add a comment for it.
Thanks for the fix
Change:
(this.showIncomingChanges() === 'auto' && (historyItemGroupDetails.incoming.count ?? 0) > 0))) { children.push({ ...historyItemGroupDetails.incoming, <ins> ariaLabel: localize('incomingChangesAriaLabel', "Incoming changes from {0}", historyItemGroupDetails.incoming.label), </ins> repository: element, type: 'historyItemGroup' });

Discussion:
Testing a screenreader. to the Incoming/Outgoing part of the SCM viewlet. Actual: "Incoming/Outgoing". Expected: something like "Incoming and outgoing changes" screenreader reads origin/some-branch-name for the incoming changes. Expected: "origin/some-branch-name incoming" or "incoming changes from origin/some-branch-name" screenreader reads some-branch-name for the outgoing changes. Expected: "some-branch-name outgoing" or "outgoing changes from some-branch-name" CC for alternative suggestions
Great point, we should lead with the info, so place "outgoing" or "incoming" before the branch name in this case.
I have confirmed that the titles show up upon hovering over the entries, but that NVDA still reads the text as-is rather than reading the title text. Reopening.
That's interesting given that I am using the IconLabel widget's property to set the aria label.
Change:
throw new Error(`Call not found: ${command}`); } <del> if (arg) { const uri = URI.revive(arg); </del> <ins> if (Array.isArray(arg) && arg.length > 0) { const uri = URI.revive(arg[0]); </ins> this.logService.trace('URLHandlerRouter#routeCall() with URI argument', uri.toString(true));

Discussion:
start the GH auth flow from window1 focus window2. This step is not necessary if you use multiple screens and the browser is on the same screen as window2. But because I couldn't easily record both screens I manually focus here. continue the GH auth flow in the browser the flow returns to window2 instead of the originating window I grabbed the URL and it has a windowId in it: But perhaps the windowId gets lost somewhere along the way or perhaps there is a bug on the main process. Anyways, here is the recording: https://user-
Alex and I talked about this and based on what I'm seeing, I don't think it's an auth issue and seems to be a Uri Handler issue. If it was an auth bug, I would expect the to be missing from the URL but that doesn't seem to be the case here.
logging revealed something that I then was able to verify in code: the change in changed the kind. When previously a was passed, now it is a . So the code here needs to be adjusted: I think the code could get some type love and not use for that matter. The full value I get logging in the router is:
Hm, I am actually not a 100% sure if that commit caused the regression because I also see you changed the receiving end, but the problem is still the of and being passed in when previously it was just the
Great catch, that's exactly right! I did not adopt the serialization format in the router. I'm open to suggestions, though I'm not sure there is anything that can be done here. The whole point of these implementations is to (de)serialize live objects into opaque JSON things. You can add a bunch of interfaces that lock things in, but in the end we still need the generic and methods, so I'm not sure we'd gain anything.
Basically what  does by avoiding having to code out the underlying raw methods of the IPC flow and have just a typed interface for both sender and receiver. Yes, in the end you cannot know for sure what data is sent because we cannot enforce it, but (or something similar) at least allows to only have 1 place for types and when changing something, it would show an error on both ends.
How would you adopt that in the router?
So I've never been able to repro this bug... are there some steps that really focus on this fix?
Change:
. $USER_ZDOTDIR/.zshrc ZDOTDIR=$VSCODE_ZDOTDIR fi <ins> if [[ -f $USER_ZDOTDIR/.zsh_history ]]; then HISTFILE=$USER_ZDOTDIR/.zsh_history fi </ins> fi # Shell integration was disabled by the shell, exit without warning assuming either the shell has

Discussion:
<!-- 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.66.0-insider OS Version: MacOS 12.3 In iterm2: <img width="810" alt="image" src="https://user-"In VSCode terminal when enable shellIntegration: ! If I disable shellIntegration, everything goes ok: !
related to
I believe this is already fixed, can you see if you can reproduce in the ? /"needs-more-info"
Not quite yet... this is why I personally have shell integration disabled btw. !
This is working for me ! Here's what I did ! from
Looks like suggestion text does show up, but it uses a different history file. So it will suggest entries you have made with shell integration enabled, but not those made in normal terminals.
should it be using the same history file?
is this fine now because we revert to the original? We definitely want to share the zsh history file.
it's using the history from within VS Code only - when should it get refreshed and also suggest things from the broad shell history? tried reloading the window <img width="464" alt="Screen Shot 2022-06-30 at 11 37 34 AM" src="https://user-"
also does not pull from history of terminals that did not have shell integration enabled
it depends when zsh flushes history to , not sure if it's when the shell closes or a command is run.
hmm history is correct for terminals without shell integration, but not in ones w shell integration - even when I reload the window and create a new one <img width="971" alt="Screen Shot 2022-06-30 at 12 37 19 PM" src="https://user-"
what's set to?
<img width="978" alt="Screen Shot 2022-06-30 at 12 45 40 PM" src="https://user-"
I'm guessing we need to fix up as well to point at ?
would you think my error is related to the above discussion?

(Cc <img width="847" alt="image" src="https://user-"After a my prompt looks normal again: <img width="846" alt="image" src="https://user-"I believe this usually happens when vscode is updated ...? EDIT: I just found a pre-existing issue in the mcfly repo .
we expect this to be fixed in the upcoming version, see Sorry about the hassle, please let us know if it's not fixed in 1.71
Change:
"sql": "_db", "swift": "_swift", "typescript": "_typescript", <del> "typescriptreact": "_react", </del> <ins> "typescriptreact": "_typescript", </ins> "xml": "_xml", "yaml": "_yml", "argdown": "_argdown",

Discussion:
accepted a couple of update PRs recently. Can you please sync extensions/theme-seti/icons? Meanwhile, I noticed that file was falsely classified as type file. I am not sure if that's a real issue in the latest vscode release candidate, or just a non-reproducible problem caused by some peculiarity in my vscode dev env. Can you please take a look?
Also something worth mentioning is that WebP images lack the image icon whereas WebM videos does indeed have the video icon. Adding lines: and does indeed solves the issue.
can you please file a separate issue? Thanks.
NP sir .
thanks! While testing your PR, can you also please check the icon for file? There shouldn't be no icon assigned to it. Otherwise, that's a regression and I am happy to file an issue.
we don't have any references to files in our seti-ui directory and nearly all of our code is pulled directly from the seti repo, so i'm unsure where this is coming from. Please file a separate issue and can look into it. EDIT: after looking into this, it appears that files are : ! And we have refs for mod files in our built-in xml extension: So there is a clash there. I'd suggest you make a request on the seti-ui theme to set files to a go icon so there are no conflicts.
Verification steps: ensure that the following updates are reflected in the file explorer for file icons: use the new logo files point to the R icon files point to the TypeScript icon !
Change:
import { transformWebviewThemeVars } from 'vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping'; import { MarkupCellViewModel } from 'vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel'; import { CellUri, INotebookRendererInfo, NotebookSetting, RendererMessagingSpec } from 'vs/workbench/contrib/notebook/common/notebookCommon'; <del> import { INotebookExecutionStateService } from 'vs/workbench/contrib/notebook/common/notebookExecutionStateService'; </del> import { INotebookKernel } from 'vs/workbench/contrib/notebook/common/notebookKernelService'; import { IScopedRendererMessaging } from 'vs/workbench/contrib/notebook/common/notebookRendererMessagingService'; import { INotebookService } from 'vs/workbench/contrib/notebook/common/notebookService';

Discussion:
Run this code: Click on the 'Save as' button on the plot ! Throws an error: !
This works now, looks like what ever the issue was it has been fixed. Marking as closed for april so it gets validated.
I hit this on Insiders. Currently using the latest pre-release of Jupyter and Python . Let me know if there's any additional I can get for you. !
looks like a bug in Interactive window. It was marked as a mild regression at our end. Note: from what I can tell users will not be able to download and save images from interactive window as a result of this bug.
The problem seems to be with the class. We're unable to download files thats associated with Interactive Windows which has a custom scheme of (which doesn't have any file system providers).
Related issue
not sure if you know there is an easy fix for it. We generate from , which is interactive notebook in this case, and using that as default dir for save dialog will lead to this exception.
Seems similar to this case, like we should resolve it with the document path and the workspace URI