jiebi/CodeConvo huggingface dataset:
Change:
return [text, metadata]; } <del> if ((<any>window).clipboardData) { e.preventDefault(); const text: string = (<any>window).clipboardData.getData('Text'); return [text, null]; } </del> throw new Error('ClipboardEventUtils.getTextData: Cannot use text data!'); }

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/No --- <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: --- OS Version: --- monaco-editor version: 0.28.0 Hi. I have an issue with part of code inside monaco-editor's build code inside this particular file: I opened issue here (rather that monaco-editor's repository) because I found the code inside vscode's source code. There is a code snippet that goes like . (inside as ) Which is probably there because of IE-support reasons. But as you may know there is a security vulnerability reported for that small code snippet. is an alert. My problem arises from the point that I deployed my web application which included monaco-editor. It was all perfect, until I received a message that said the page that includes monaco-editor is not loading. I double checked my website, it was fine everywhere. It worked. For debugging, I went to the organization that I received the message from. It did not work inside the organization. After hours of debugging I found out the IPS of the organization is preventing the file from arriving into the company's network. My issue was resolved with simply removing every usage of from the build code and serving it from my server (instead of using a CDN), because my web application did not need IE support. Later I found that doing simply like this would trick that particular IPS too: That particular IPS may let this code through; but other IPSs may not! So I'm here with this issue maybe you can do something about it to prevent further problems like this for anyone else to happen.

You can gain more information about the security vulnerability by searching this message: HTTP BROWSER Microsoft Internet Explorer improper copy buffer access information disclosure attempt And here is the problematic code inside vscode's source code:
According to this: What about IE 11 support? The Monaco Editor no longer supports IE 11. The last version that was tested on IE 11 is 0.18.1. So I think it would be safe to remove everything that uses . I would be happy to do it if confirmed.
verified in code
Change:
import { ShowAccessibilityAnnouncementHelp, ShowSignalSoundHelp } from 'vs/workbench/contrib/accessibilitySignals/browser/commands'; import { localize } from 'vs/nls'; import { registerAction2 } from 'vs/platform/actions/common/actions'; <del> import { Extensions as ConfigurationExtensions, IConfigurationPropertySchema, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; </del> <ins> import { Extensions as ConfigurationExtensions, ConfigurationScope, IConfigurationPropertySchema, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry'; </ins> import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { Registry } from 'vs/platform/registry/common/platform'; import { Extensions as WorkbenchExtensions, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';

Discussion:
VS Code Version: Version : 1.87.1 Validation : Date : 2024-03-06T00:22:39.156Z Electron : 27.3.2 ElectronBuildId : Chromium : 118.0.5993.159 : 18.17.1 V8 : 11.8.172.18-electron.0 Système d’exploitation : Darwin arm64 23.3.0 Steps to Reproduce: Just launch VS Code and get an error message like in picture joined. I don't know how to not get them <img width="582" alt="Capture d’écran 2024-03-07 à 19 40 25" src=""
any ideas here ? rough translation: "Unable to be described in folder settings because does not support the scope of folder resources"
Repro steps a multi-root workspace. the setting to the files of one of those workspaces. the window. :bug: The dialogs show up.
and what should I do to remove this error message ???
A workaround would be: which root folder in the multi-root workspace has defined in . the multi-root workspace, and open that root folder in a separate VS Code window. The editor should automatically migrate over the outdated setting. the multi-root workspace again.
Hi, i am sorry i don't think that i understood precisely what you meant by: Check which root folder in the multi-root workspace has defined in Close the multi-root workspace, and open that root folder in a separate VS Code window. The editor should automatically migrate over the outdated setting. Open the multi-root workspace again. Can you be clearer please ? I am relatively new to VsCode Thanks
how can I do to get rid off the error message ? Thx
English repro looks like this: <img width="402" alt="Screenshot 2024-04-04 at 6 50 20 AM" src=""
Change:
// Listen for modifier before handing it off to the hover to handle so it gets disposed correctly this._hoverListeners = new DisposableStore(); this._hoverListeners.add(dom.addDisposableListener(document, 'keydown', e => { <del> if (this._isModifierDown(e)) { </del> <ins> if (!e.repeat && this._isModifierDown(e)) { </ins> this._enableDecorations(); } })); this._hoverListeners.add(dom.addDisposableListener(document, 'keyup', e => { <del> if (!this._isModifierDown(e)) { </del> <ins> if (!e.repeat && !this._isModifierDown(e)) { </ins> this._disableDecorations(); } }));

Discussion:
Since we don't know when links are no longer cached by , we cannot drop the objects. Upstream part:
Change:
} registerAction2(class CustomizeLayoutAction extends Action2 { <ins> private _currentQuickPick?: IQuickPick<IQuickPickItem>; </ins> constructor() { super({ id: 'workbench.action.customizeLayout',

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.67 OS Version: macOS 12.3.1 (21E258) using the button the button again to close it but cannot close it3. <img width="1076" alt="a" src="https://user-" Its always running show method, so I think it should have an open/close state to manage it.
Try clicking here: !
Thank you for the comment. Yes, I know I can close it by clicking the button, but it would be nice to close it by clicking the original button.
please improve the issue title, which currently states that you "cannot close" it.
My bad. I'll fix it now
for UX guidance here. when actions open quick picks we don't tend to have an inverse action if its still open. this is not usually the case because it is closed when focus is lost, but not something we can rely on here.
Thank you Even if the focus is lost, the action view won't be closed on Mac. Also, other buttons allow us to open and close by clicking, so it should be consistent. I often click the button by accident and need to move cursor to close the view. That would be nice to have a toggle feature on the button too.
Maybe use the setting which removes the button completely?
We don't currently hide any of the quick picks with other actions or clicking the same action (changing focus would actually close it). I think given that we have the key and the close button in the top right of the quick pick, I don't think we'd be able to do anything else.
Change:
get onMouseClick(): Event<IListMouseEvent<T>> { return this.view.onMouseClick; } get onMouseDblClick(): Event<IListMouseEvent<T>> { return this.view.onMouseDblClick; } <ins> get onMouseMiddleClick(): Event<IListMouseEvent<T>> { return this.view.onMouseMiddleClick; } </ins> get onMouseUp(): Event<IListMouseEvent<T>> { return this.view.onMouseUp; } get onMouseDown(): Event<IListMouseEvent<T>> { return this.view.onMouseDown; } get onMouseOver(): Event<IListMouseEvent<T>> { return this.view.onMouseOver; }

Discussion:
VSCode Version: Version: 1.27.1 (user setup) Commit: Date: 2018-09-06T09:21:18.328Z Electron: 2.0.7 Chrome: 61.0.3163.100 8.9.3 V8: 6.1.534.41 Architecture: x64 OS Version: Windows 10 Pro 64-bit (10.0, Build ) Steps to Reproduce: click item in explorer icon appear ! If you open developers tools works as expected Does this issue occur when all extensions are disabled?: Yes/No Yes
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.478 --- <!-- score: 0.463 --<!-- potentialduplicatescomment --
Hmm strangely I am no longer getting a event when I do a middle mouse click This nicely works in stable. I see we use a different electron 2.0.9 compared to 2.0.7 but not sure if that update includes something which would influence this. Also the middle click nicely works in the tabs title area - how are you handling it there? did we change something in the tree which might effect this?
yeah see I removed  to prepare for Electron 3.0.x. We should probably wire this into the tree so that people can react to it ("onMiddleClick"). Simply forwarding the was resulting in other issues.
ok so the tree should still listen on events but bobble them up in a different way ? I can create a PR for this and you review?
yeah, the thing is, middle-click should not trigger the click, otherwise we might get wrong behaviour where people do not expect middle-click to do anything. Instead we can check clients of the tree (and list?) that want to do something on middle click and update them accordingly. Otherwise every client has to do an extra check for which mouse button was used for click.
currently the only clients of the tree that check something on middle click are explorer and quick open . For the list they are open editors view and the breakpoints view, however this still works for the breakpoints view and does not work for the open editors due to
Change:
.extension-editor > .header.recommended > .details > .recommendation, .extension-editor > .header.recommendation-ignored > .details > .recommendation { <del> display: flex; </del> <ins> display: block; float: left; </ins> margin-top: 0; font-size: 13px; <del> height: 25px; </del> font-style: italic; } .extension-editor > .header.recommended > .details > .recommendation > .monaco-action-bar, .extension-editor > .header.recommendation-ignored > .details > .recommendation > .monaco-action-bar { <del> margin-left: 4px; </del> <ins> float: left; </ins> margin-top: 2px; font-style: normal; } .extension-editor > .header > .details > .recommendation > .recommendation-text { <ins> float:left; </ins> margin-top: 5px; <ins> margin-right: 4px; </ins> } .extension-editor > .header > .details > .recommendation > .monaco-action-bar .action-label { margin-top: 4px; margin-left: 4px; <ins> padding-top: 0; padding-bottom: 2px; </ins> } .extension-editor > .header.recommendation-ignored > .details > .recommendation > .monaco-action-bar .ignore {

Discussion:
Testing In a zoomed in view <img width="1053" alt="screen shot 2018-06-26 at 11 35 55 am" src="https://user-"
The Ignore button is missing top and bottom padding of 1 px, which you can see on the button <img width="904" alt="screen shot 2018-06-26 at 11 39 29 am" src="https://user-"
Change:
: (instance.fixedRows ? `u2195${instance.fixedRows}` : ''), separator: { label: this._terminalConfigurationService.config.tabs.separator } }; <ins> templateProperties.workspaceFolderName = instance.workspaceFolder?.name ?? templateProperties.workspaceFolder; </ins> labelTemplate = labelTemplate.trim(); if (!labelTemplate) { return labelType === TerminalLabelType.Title ? (instance.processName || '') : '';

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --I usually give a meaningful name to my folders in the workspace config file, like this: It would be very useful if the integrated terminal title could show this name instead of the folder name. Currently these variables can be used in the property: ${cwd} ${cwdFolder} ${workspaceFolder} ${local} ${process} ${separator} ${sequence} ${task} The refers to the property of the folder. There could be a new variable, or something like that. Thank you in advance! Keep up the good work!
<!-- -96bd-47a8-a0e8- --This feature request is now a candidate for our backlog. The community has 60 days to the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our . Happy Coding!
If this just needs to point at it should be trivial to add:
Is this still in the backlog for a future release? It would be very useful for accessibility platforms like talon voice where we rely on parsing context information out of the window title.
Change:
const range = modifiedBaseRange.getInputRange(this.inputNumber); if (range && !range.isEmpty) { const blockClassNames = ['merge-editor-block']; const isHandled = model.isHandled(modifiedBaseRange).read(reader); if (isHandled) { blockClassNames.push('handled'); } if (modifiedBaseRange === activeModifiedBaseRange) { <del> blockClassNames.push('active'); </del> <ins> blockClassNames.push('focused'); </ins> } <del> blockClassNames.push('input' + this.inputNumber); </del> <ins> const inputClassName = this.inputNumber === 1 ? 'input1' : 'input2'; blockClassNames.push(inputClassName); </ins> result.push({ range: range.toInclusiveRange()!, options: { isWholeLine: true, blockClassName: blockClassNames.join(' '), <del> description: 'Base Range Projection', </del> <ins> description: 'Merge Editor', </ins> minimap: { position: MinimapPosition.Gutter, color: { id: isHandled ? handledConflictMinimapOverViewRulerColor : unhandledConflictMinimapOverViewRulerColor },

Discussion:
I really like how I can see the word-level change per line now in the merge editor, but shouldn't the colors be identical to the diff editor? !
I agree the new color needs to be tweaked. Would you also use the green background?
I think making this look as close as a diff editor if possible would be nice because I am so used at looking at diffs with their color coding. //cc
Change:
const lineNumber = stackFrame.range.startLineNumber; if (lineNumber >= 1 && lineNumber <= model.getLineCount()) { const lineContent = control.getModel().getLineContent(lineNumber); <del> aria.alert(nls.localize({ key: 'debuggingPaused', comment: ['First placeholder is the stack frame name, second is the line number, third placeholder is the reason why debugging is stopped, for example "breakpoint" and the last one is the file line content.'] }, "{0}:{1}, debugging paused {2}, {3}", stackFrame.source ? stackFrame.source.name : '', stackFrame.range.startLineNumber, thread && thread.stoppedDetails ? `, reason ${thread.stoppedDetails.reason}` : '', lineContent)); </del> <ins> aria.alert(nls.localize({ key: 'debuggingPaused', comment: ['First placeholder is the file line content, second placeholder is the reason why debugging is stopped, for example "breakpoint", third is the stack frame name, and last is the line number.'] }, "{0}, debugging paused {1}, {2}:{3}", lineContent, thread && thread.stoppedDetails ? `, reason ${thread.stoppedDetails.reason}` : '', stackFrame.source ? stackFrame.source.name : '', stackFrame.range.startLineNumber)); </ins> } } }

Discussion:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --Really not sure if this is a feature or a bug but it's been this way forever and it's not broken, so let's go with feature. Currently when you press f10 to step through code the pattern is something like this with a screen reader: What I actually care about is the code because I just pressed step. The rest of the message comes first and is almost always literally longer than the code. I'm not sure how hard this is to change but in my ideal world we'd get something more narrative--"stepped into " when the file changes, drop the redundant debugging paused, flip it around so it's like "a + b at line 12 ". There is probably something to be said more generally for considering "narrative" debugging but for this I really just care about being able to efficiently step through things, so honestly whatever is fine.
thanks a lot for this feedback this is very helpful. We can change what is getting read. So how about the following for your example: what do you think? Code pointer
Sounds fine to me!
yeah, that should be a lot better. Thanks.
To be clear I haven't tested, I'll make a point of doing that. Sorry for the double post.
no problem, you can try it out from tomorrow with VS Code insiders and let us know how it feels now. Thank you
I tested this with VoiceOver on OSX and it reads in the reordered way
Cool, I haven't had the time, I'm afraid. But if someone's checked it then I'm good with that.
Change:
vscode.commands.executeCommand('workbench.action.quickOpen', '>Emmet: '); })); <del> updateEmmetExtensionsPath(); </del> context.subscriptions.push(vscode.workspace.onDidChangeConfiguration((e) => { if (e.affectsConfiguration('emmet.includeLanguages')) { registerCompletionProviders(context);

Discussion:
Testing an html file, try triggering emmet Bug According to , I should see an error notification. However I don't see any error or notifications
I also don't see error for an invalid (if it isn't valid json for example)
Also get no errors in Linux.
+1 WSL
The reason seems like to be on the which has not be loaded when the extension first activate.
And the should be an error object instead of a string.
closedWith
I'll reopen the issue because I think the error handling changed afterwards, and I'd like to look into the implementation again during a later iteration.
Change:
if (options.ariaLabel) { this.view.domNode.setAttribute('aria-label', options.ariaLabel); } <ins> this.view.domNode.setAttribute('aria-setsize', '0'); </ins> this.style(options); } splice(start: number, deleteCount: number, elements: T[] = []): void { this.eventBufferer.bufferEvents(() => this.spliceable.splice(start, deleteCount, elements)); <ins> this.view.domNode.setAttribute('aria-setsize', this.length.toString()); </ins> } get length(): number {

Discussion:
The tree/list is virtualized and as such a screen reader cannot make a correct statement on the number of entries. We should leverage and for that purpose within the tree and list widgets. The widgets know the number of elements to render and the currently selected items position in the set. /cc
Makes sense, I can look into it in june
Accidently closed this by PR which only address the list widget, still gotta do it for the tree
After looking into this with we have fixed this issue for the , however for the tree the situation is a bit more complex: It is not exactly specified what the and should be with respect to the tree structure. Should they be absolute or only relative to the siblings. In both of the cases we have an issue that the tree smartly chooses the minimal set of elements that need to be re-rendered, so if an element A gets removed and element B is above it, B will not get re-rendered and will still have the wrong attribute. Due to that we would need a bigger refactoring in order to fix this for the tree. So renaming this issue and pushing it to backlog for now.
The originating issue -- -- came in w.r.t. the Command Palette that displays a list. perhaps the root issue is that the implementation of the Command Palette uses a tree to display a list and that makes it difficult to express the list to Screen Readers ?
+1 for making the command palette use the list. I could also look into this when I get cycles if does not mind.
yeah +1 for using list for quick open, that would be very nice . I hope there are no things in tree that quick open depends on.
I have created this issue to track it
Change:
}); this._xterm.registerLinkMatcher(this._localLinkRegex, wrappedHandler, { validationCallback: (uri: string, callback: (isValid: boolean) => void) => this._validateLocalLink(uri, callback), <del> tooltipCallback: (e: MouseEvent) => { if (this._terminalService && this._terminalService.configHelper.config.rendererType === 'dom') { const target = (e.target as HTMLElement); this._widgetManager.showMessage(target.offsetLeft, target.offsetTop, this._getLinkHoverString()); } else { this._widgetManager.showMessage(e.offsetX, e.offsetY, this._getLinkHoverString()); } }, </del> <ins> tooltipCallback: this._tooltipCallback, </ins> leaveCallback: () => this._widgetManager.closeMessage(), willLinkActivate: (e: MouseEvent) => this._isLinkActivationModifierDown(e), priority: LOCAL_LINK_PRIORITY }); } <ins> public registerGitDiffLinkHandlers(): void { const wrappedHandler = this._wrapLinkHandler(url => { this._handleLocalLink(url); }); const options = { matchIndex: 1, validationCallback: (uri: string, callback: (isValid: boolean) => void) => this._validateLocalLink(uri, callback), tooltipCallback: this._tooltipCallback, leaveCallback: () => this._widgetManager.closeMessage(), willLinkActivate: (e: MouseEvent) => this._isLinkActivationModifierDown(e), priority: LOCAL_LINK_PRIORITY }; this._xterm.registerLinkMatcher(this._gitDiffPreImagePattern, wrappedHandler, options); this._xterm.registerLinkMatcher(this._gitDiffPostImagePattern, wrappedHandler, options); } </ins> public dispose(): void { this._xterm = null; this._hoverDisposables = dispose(this._hoverDisposables);

Discussion:
Example:
Do you mind if I take on this issue? I assume the request is to make and Ctrl-clickable such that the links open the correct versions of the files.
sounds good. The link registration is done here and it's based on regexs: We basically want the and parts to be matched, but ignored as part of the link.
I'm having a bit of trouble with getting the two git blob IDs and , which are necessary to get the correct versions of the files. I tried to write a multi-line regex for that captures the blob IDs in groups, along with the paths we want to link, but currently only runs the regex on a per line basis (by iterating through the buffer), not on the whole content of the terminal. So the regex didn't find any matches. I also tried to get the blob IDs by parsing the contents of the terminal manually, but doesn't seem to offer a public interface to retrieve the contents. I do see but I don't want to rely on an internal implementation to do something like this. How do you suggest I proceed? Should I submit a PR to to allow multi-line regex in ?
I'm having a bit of trouble with getting the two git blob IDs and , which are necessary to get the correct versions of the files. Oh I wouldn't go that far, just pointing both links to the current version of the file would be good enough start with.
Ah I see, that's a lot simpler to do. Will open a PR soon.