jiebi/CodeConvo huggingface dataset:
Code change:
import { TerminalInitialHintSettingId } from 'vs/workbench/contrib/terminalContrib/chat/common/terminalInitialHintConfiguration'; import { ChatAgentLocation, IChatAgent, IChatAgentService } from 'vs/workbench/contrib/chat/common/chatAgents'; import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; <ins> import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { StandardMouseEvent } from 'vs/base/browser/mouseEvent'; </ins> const $ = dom.$;

Related discussion:
text: I've verified that I can see the terminal hint in insiders. Does this also need to be tested in stable?
Yes this needs a stable build as it checks quality. You could verify out of sources by setting quality to stable as well
Code change:
import { TerminalInitialHintSettingId } from 'vs/workbench/contrib/terminalContrib/chat/common/terminalInitialHintConfiguration'; import { ChatAgentLocation, IChatAgent, IChatAgentService } from 'vs/workbench/contrib/chat/common/chatAgents'; import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; <ins> import { IContextMenuService } from 'vs/platform/contextview/browser/contextView'; import { StandardMouseEvent } from 'vs/base/browser/mouseEvent'; </ins> const $ = dom.$;

Related discussion:
text: Can this support right click to toggle the setting to hidden? !
right click shows our terminal context menu, perhaps we should just put it in there rather than adding a new one? !
this isn't a feature the others offer, thus not a bug IMO
Code change:
this._keyListener = this._register(this._editorWidget.onKeyUp((e) => { if (e.keyCode === KeyCode.Escape) { this._contextViewService.hideContextView(); <ins> // Delay to allow the context view to hide #186514 setTimeout(() => provider.onClose(), 100); this._keyListener?.dispose(); </ins> } else if (e.keyCode === KeyCode.KeyD && this._configurationService.getValue(settingKey)) { this._configurationService.updateValue(settingKey, false); } else if (e.keyCode === KeyCode.KeyH && provider.options.readMoreUrl) {

Related discussion:
text: run voice over open terminal start accessibility help via while it start reading select :bug: the reading continues all way to the end
I'm not sure we can / should prevent this from happening. Screen reader users have a way to abort the reading of certain contents. or might have insight here
This is very strange. The behavior is as if Voiceover wasn't detecting the change of context. In other words, upon pressing Escape, Voiceover is not detecting that focus is moving from one control to a different one. This is often related to focus events that are not happening. I have a question. Is the terminal accessible help somehow being removed from the DOM or hidden from accessibility without removing focus first? When debugging with NVDA, the first thing that happens after pressing Escape is an exception, as if the screen reader had lost access to something that should be there (DEBUGWARNING - NVDAObjects.IAccessible.IAccessible.getIAccessibleRole (15:05:00.655) - MainThread (5320): accRole failed: (-, 'Unspecified error', (None, None, None, 0, None)) ). Voiceover not stopping upon closing the accessibility help not only happens in the terminal. It also happens in the editor, the copilot chat and anywhere we call the accessibility help. Another thing I have observed is that, if I press f1 from the editor, I hear the name terminal accessibility help even though the terminal is not in focus and the content is related to the editor. This happens in both Windows and macOs. Finally, I have also observed that the command Open accessibility help doesn't show up in the command palette on the mac side for me, although pressing Option +F1 opens it.
Thanks for your findings You hear terminal accessibility help because I accidentally had that as the aria label. Fixed here I will comment on the others in a bit
This wasn't showing up there 2 days ago - are you on the latest insider's?
accRole failed: (-, 'Unspecified error', (None, None, None, 0, None)) Yep, we were closing the context view before calling , which is the function that focuses the other element. Will fix
Hm, that didn't fix it. What fixes it is after pressing escape, moving my cursor in the editor.
Code change:
this._keyListener = this._register(this._editorWidget.onKeyUp((e) => { if (e.keyCode === KeyCode.Escape) { this._contextViewService.hideContextView(); <ins> // Delay to allow the context view to hide #186514 setTimeout(() => provider.onClose(), 100); this._keyListener?.dispose(); </ins> } else if (e.keyCode === KeyCode.KeyD && this._configurationService.getValue(settingKey)) { this._configurationService.updateValue(settingKey, false); } else if (e.keyCode === KeyCode.KeyH && provider.options.readMoreUrl) {

Related discussion:
text: is correct though
It says you are currently on a application, inside of web content. When the editor is focused. !
Right. From the VO perspective, VS Code is a website.
Hovers use the context view service as well - they handle this correctly though when escape is used. that is done here. we probably need something similar
I clearly had not updated when I thought I had done so. I'm in the latest now and the command is showing up.
Great, thanks for the debugging. This issue should be fixed shortly.
That didn't work either, going to keep trying.
Ok so hiding the context view sets to and the element's display to . but for some reason, the screen reader continues to focus on that
Figured something out - when I use , then it works. So this is a timing issue
This seemed to work correctly for me... though my ESC button is a part of the touchbar so I have to do extra steps when VoiceOver is on to actually trigger ESC.
Code change:
//TODO: update progress in a newly inserted cell below the widget instead of the fake editor <del> const requestCts = new CancellationTokenSource(); </del> <ins> this._activeRequestCts?.cancel(); this._activeRequestCts = new CancellationTokenSource(); </ins> const progressEdits: TextEdit[][] = []; const progressiveEditsQueue = new Queue(); const progressiveEditsClock = StopWatch.create(); const progressiveEditsAvgDuration = new MovingAverage(); <del> const progressiveEditsCts = new CancellationTokenSource(requestCts.token); </del> <ins> const progressiveEditsCts = new CancellationTokenSource(this._activeRequestCts.token); </ins> let progressiveChatResponse: IInlineChatMessageAppender | undefined; const progress = new AsyncProgress<IInlineChatProgressItem>(async data => { // console.log('received chunk', data, request); <del> if (requestCts.token.isCancellationRequested) { </del> <ins> if (this._activeRequestCts?.token.isCancellationRequested) { </ins> return; }

Related discussion:
text: use generate cell in notebooks make a request while the request is active press stop a bunch of errors are printed
It seems not wise at all to maintain my own *chatcontroller. I'd love to look into how do I ensure I reuse the most of Inline Chat Controller later.
Is the generate cell feature just with using ctrl+i from within a cell body? Not sure how I can trigger it.
Code change:
border-width: 0 !important; } <ins> .action-widget .monaco-list:focus:before { outline: 0 !important; } </ins> .action-widget .monaco-list .monaco-scrollable-element .monaco-list-rows { height: 100% !important; }

Related discussion:
text: Do we do this for other widgets? It seemed off to me at first sight. <img width="405" alt="CleanShot 2022-10-04 at 09 58 26 src="https://user-"
Code change:
private _tokenizeString(text: string, engine: MarkdownIt) { this._resetSlugCount(); <del> return engine.parse(text.replace(UNICODE_NEWLINE_REGEX, ''), {}); </del> <ins> return engine.parse(text, {}); </ins> } private _resetSlugCount(): void {

Related discussion:
text: When rendering Markdown preview, Unicode newline characters U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR are replaced with an empty string at the source preprocessing stage. This behavior was introduced in to but it breaks the document in multiple ways: double-click word selection does not work as expected, screen readers may announce the text incorrectly, line wrapping and hyphenation does not work correctly, markdown-it plugins that rely on or may work incorrectly, even linkify fails: and so on. Since then it was fixed at the markdown-it side, and is no longer needed: It would be better to revert this change, and keep the Markdown source as is before feeding it to the parser. Steps to reproduce: a Markdown document like this: preview: Expected result: LS and PS are displayed as is, links end at Unicode newlines. Actual result: no Unicode newline characters displayed, links also consume the immediately following word. <!-- 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: OS Version: WindowsNT x64 10.0.
<!-- 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!
Code change:
} if (!this.storeClient) { <del> this.storeClient = new UserDataSyncStoreClient(URI.parse(this.serverConfiguration.url), this.productService, this.requestService, this.logService, this.environmentService, this.fileService, this.storageService); </del> <ins> this.storeClient = new EditSessionsStoreClient(URI.parse(this.serverConfiguration.url), this.productService, this.requestService, this.logService, this.environmentService, this.fileService, this.storageService); </ins> this._register(this.storeClient.onTokenFailed(() => { this.logService.info('Clearing edit sessions authentication preference because of successive token failures.'); this.clearAuthenticationPreference(); })); } <ins> if (this.machineClient === undefined) { this.machineClient = new UserDataSyncMachinesService(this.environmentService, this.fileService, this.storageService, this.storeClient!, this.logService, this.productService); } </ins> // If we already have an existing auth session in memory, use that if (this.#authenticationInfo !== undefined) { return true;

Related discussion:
text: Testing I'm not sure why I have two entries for edit sessions and wonder if it came from another machine/sessions. It would be great to see some metadata about where the source is coming from, similar to the "Synced Data" view for Settings Sync. <img width="394" alt="CleanShot 2022-07-26 at 10 58 31 src="https://user-"<img width="373" alt="CleanShot 2022-07-26 at 11 00 07 src="https://user-"
Code change:
container.style.borderColor = borderColor ? borderColor : ''; } <del> show(): void { </del> <ins> show(focus?: boolean): void { </ins> if (!this.content) { return; } <del> if (this.compositeBar.value) { return; } </del> <ins> if (!this.compositeBar.value) { this.compositeBar.value = this.createCompositeBar(); this.compositeBar.value.create(this.content); </ins> <del> this.compositeBar.value = this.createCompositeBar(); this.compositeBar.value.create(this.content); </del> <ins> if (this.dimension) { this.layout(this.dimension.width, this.dimension.height); } } </ins> <del> if (this.dimension) { this.layout(this.dimension.width, this.dimension.height); </del> <ins> if (focus) { this.focus(); </ins> } }

Related discussion:
text: Steps to Reproduce: the Activity Bar Position as Hidden Command: View: Focus Activity Bar Then: ! Activity Bar still takes up screen space, but doesn't display the icons Version: 1.84.0 Commit: Date: 2023-11-01T11:29:04.398Z Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.84.0 Chrome/114.0.5735.289 Electron/25.9.2 Safari/537.36
Probably depends on
Probably
Not related to
!
Code change:
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-9.0.0.tgz#313c6c8792b0507aef35aeb81b6b370b37c44d6c" integrity sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg== <del> xterm-addon-canvas@0.4.0-beta.7: version "0.4.0-beta.7" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.7.tgz#ae365d8e10c900292186529f70f7f275ac94b3d5" integrity sha512-r1hbQTsulI49orR5G3qWrJCwn2dKsEUCrgj6xsmgXuTeoUcGfed6lly+MvYlL3P8aPrxS2fC2TEzSM0Au4SX+w== </del> <ins> xterm-addon-canvas@0.4.0-beta.9: version "0.4.0-beta.9" resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0-beta.9.tgz#e570fa4592890f92cc86706f2bba0dd128a8641d" integrity sha512-BWRVWyUW7NY2g4BBMm3ecPQvbdyKXFgABnpmh4m0TVHqFJMNeXdNuTc94KiDbE+cvw8jtAY9NC/OIM4HcgjAIQ== </ins> xterm-addon-search@0.11.0: version "0.11.0"

Related discussion:
text: <!-- 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. --With the above settings in effect and a terminal open in the bottom panel: If the terminal has focus, the cursor blinks If the terminal doesn't have focus, then the cursor remains visible without blinking Unlike the block-shaped cursor, which becomes hollow when the terminal loses focus, the line-shaped cursor doesn't change appearance when the terminal loses focus; it merely stops blinking. This makes it hard to tell at a glance whether the terminal has focus. So that it's easier to tell whether the terminal has focus, I would like an option to customize how the line-shaped cursor appears in the terminal when it doesn't have focus. Possible options (not exhaustive): Hide the cursor altogether Keep it visible, but make it (say) 50% opacity Show the same hollow block that's used with the block-shaped cursor
I actually thought it showed the hollow block in this case, I think that makes the most sense
try try
We're going back on the decision made in and making unfocused show the rectangle regardless of cursor style. Discussion:
Code change:
return this._remoteTerminalChannel.setTerminalLayoutInfo(layout); } <del> public getTerminalLayoutInfo(): Promise<ITerminalsLayoutInfo | undefined> { </del> <ins> public async getTerminalLayoutInfo(): Promise<ITerminalsLayoutInfo | undefined> { await this._remoteTerminalChannel?.listProcesses(true); </ins> if (!this._remoteTerminalChannel) { throw new Error(`Cannot call getActiveInstanceId when there is no remote`); }

Related discussion:
text: The call was removed in
It's weird, seems like in stable we should be leaking terminal processes then but I see them shut down immediately after closing the window in stable...
Code change:
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== <del> "@types/uuid@^8.3.1": version "8.3.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== </del> detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== <del> uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== </del>

Related discussion:
text: Type: <bBug</bI have noticed two problems with my vscode-insiders installation which I assume may form one issue. a notebook in nbformat 4.5 is opened, new cells do not receive cell ids, even though this is required by the format spec and is a documented feature of vscode: a new notebook is created, the format is always 4.2. I am not sure whether this is expected. Steps to reproduce: a notebook with jupyterlab or any other way (jupytext etc.), and verify that it has nbformat = 4.5 the notebook in vscode, and generate a new cell, then save. the JSON of the saved notebook - the new cell does not have a cell id. Some additional points which may be of interest The issue persists when all extensions except jupyter/python are disabled. I have recent versions of nbformat etc. installed, but I would assume this is bundled with vscode anyway. The issue also exists on the current pre-release version of the jupyter extension. I haven't found any configuration option which would enable or disable support of notebook formats 4.2 Maybe I have missed a configuration option which I should have set? VS Code version: Code - Insiders 1.84.0-insider (, 2023-10-23T05:33:33.712Z) OS version: Linux x64 6.2.0-35-generic Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (18)</summaryExtensionVersion ------ vscode-neovim0.9.1 vscode-eslint2.4.2 githistory0.6.20 fuzzy-search0.0.3 black-formatter2023.5. python2023.19. vscode-pylance2023.7.40 jupyter2023.10. jupyter-keymap1.1.2 jupyter-renderers1.0.17 vscode-jupyter-cell-tags0.1.8 remote-ssh0.107. remote-ssh-edit0.86.0 remote-explorer0.5. remote-server1.5.
Code change:
resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== <del> "@types/uuid@^8.3.1": version "8.3.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== </del> detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== <del> uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== </del>

Related discussion:
text: even-better-toml0.19.2 my-vscode-utils0.0.2 pyexec0.0.1 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Thank you for filing this issue and sorry you are running into this. I can replicate this at my end as well. Will look into this.
Code change:
return; } <ins> if (e.browserEvent.defaultPrevented) { return; } </ins> const focus = e.index; if (typeof focus === 'undefined') {

Related discussion:
text: see gif open GH notebook with a few cell that reference a variable run peek references and select entries notice how notebook cells are being highlighted, like "Milestone Work" get selected !
I can repro in Insiders but not master, I'll check again tomorrow
This happens because of this listener: Tho, not yet sure why the selection keeps changing... Maybe some inner list event (from the references list) bubbles up to the outer list
That listener is fine, it's the nested lists
Hey do you have any thoughts on handling this? We have a list inside another list. The inner list handles the touch event properly. The outer list then handles the event and picks up the wrong index because it finds the data attribute inside the inner list in We can Make sure the event is fired on the outer list with the correct element, by fixing to check whether it's in the right list Not fire the event on the outer list at all, when we see that it originates in a different list Add some property to the list event that says it originated in a different list so the consumer can decide In this particular case, I think any of these are fine
Thinking more, I don't think that the event should ever be handled by two lists at all. Meaning we either mark the browserEvent as handled, like with preventDefault/isDefaultPrevented, or we make the list check every event to be sure that it originated in this list.
This sounds good to me. This also sounds good to me.
related when I do peek references, I see markdown cells being selected? ! Notice I'm looking for under-discussion but "Configure" is being highlighted as one of the references
From Good catch, I didn't notice that
Thanks for the quick handling!
Code change:
} private _getIcon(): TerminalIcon | undefined { <del> const icon = this._shellLaunchConfig.icon || this._shellLaunchConfig.attachPersistentProcess?.icon; if (!icon) { return this._processManager.processState >= ProcessState.Launching ? Codicon.terminal : undefined; </del> <ins> if (!this._icon) { this._icon = this._processManager.processState >= ProcessState.Launching ? Codicon.terminal : undefined; </ins> } <del> return icon; </del> <ins> return this._icon; </ins> } private _getColor(): string | undefined {

Related discussion:
text: Hi, I would like to request that upon restart vscode, the terminals can be restored. By restored, i mean the layout, the custom names, icon and color for the terminals are retained. The content DOES NOT need to be retain. Otherwise efforts to customize all the opened terminals would gone to waste when vscode is restarted. Alternatively, vscode can provide new workspace configurations, where developer can manually enter a list of terminals' custom names, Vscode, upon starting, will automatically create new terminals based on the configured list. Even better, each time, deveoper manually open a new terminal , vscode will auto update the workspace configuration file to add a new terminal to the configured list. This applies the same to renaming of terminal Hope that this can be achieved without relying on plugin. *Do note that this might not be a duplicate of other look similar kind of feature request. Cos for this request, content does not need to be preserved. And the terminal's custom names should be preserved (sadly, persistentSessionReviveProcess, does not maintain the terminal custom names)
except it doesn't save custom terminal names.
Not only it doesn't save custom terminal names, it also doesn't save icon and color.
This is meant to be supported with including content as well, there are currently some issues with it causing it to be flaky though. They might have to wait until v1.63 where we will focus on testing. Related:
fixed !
It's persisting the icon, color, name, and layout on window reload. Doesn't seem to persist icon, color, or name on restart.
Yes. My request is focusing on restart, not window reload