jiebi/CodeConvo huggingface dataset:
Change:
readonly [ViewsWelcomeExtensionPointFields.contents]: string; readonly [ViewsWelcomeExtensionPointFields.when]: string; readonly [ViewsWelcomeExtensionPointFields.group]: string; <ins> readonly [ViewsWelcomeExtensionPointFields.enablement]: string; </ins> } export type ViewsWelcomeExtensionPoint = ViewWelcome[];

Discussion:
Below is a recording of a Control-R reload when no workspace is open and one non-builtin extension is contributing to to the Welcome view of Explorer. ! Observe how we start with Explorer's usual "NO FOLDER OPEN" view. Next my extension contributes its text and buttons. Finally the built-in git extension contributes text and a button. Since built-ins get higher priority the content from my extension jumps downward, perhaps while I'm reading it or trying to click one of its actions (link, button). There's no progress indicator when the content is being fetched and assembled, and it's hard to know how long to wait before concluding that no other extensions are going to contribute. VS Code version: Code 1.49.0 (, 2020-09-10T13:22:08.892Z) OS version: Windows_NT x64 10.0.
Similarly on the Source Control view, it starts with a message saying "No source control providers registered" and stays this way long enough for me to worry that something is broken or missing. Eventually the contribution from the git extension arrives. If a progress indicator isn't , maybe at least the initial message could say something like "Please wait while we look for source control providers". Then if nothing contributes (e.g. the git extension has been disabled,) it could then display "No source control providers registered".
This will be very hard to achieve. The problem here isn't actually the extension point, for which we could definitely add a progress indicator, but the activation of the git extension. That git section won't appear until the git extension is activated and all the potential repo locations have been probed... We simply can't add a progress indicator for that in the core unless we add some more API.
On this, we could potentially add a message.
That might help.
Closing this until we get actual user feedback that it's needed, sorry
Change:
} catch (e) { if (!isCancellationError(e)) { this.logService.error(`Error while searching for themes:`, e); <ins> this._searchError = 'message' in e ? e.message : String(e); </ins> } } finally { this._searchOngoing = false;

Discussion:
Testing When browsing themes while offline, I didn't get any message that I could not connect to the marketplace and/or could not retrieve themes, with the only visible feedback being that the theme search would instantly return with an empty quickpick. It would be nice if this information could be surfaced somehow.
Verified: !
Change:
if (this.workspaceTrustEnablementService.isWorkspaceTrustEnabled()) { this.registerListeners(); <del> this.createStatusbarEntry(); </del> <ins> this.updateStatusbarEntry(this.workspaceTrustManagementService.isWorkspaceTrusted()); </ins> // Show modal dialog if (this.hostService.hasFocus) {

Discussion:
While investigating the issue - - I figured out that entry is of size 46 KB and has around 1K properties. We should revisit this and understand why there are that many workspaceTrust entries and minimise it.
Workspace trust status bar entry does 2 things that are questionable: each entry gets a random identifier [0] the entry is programmatically hidden even if not created [1] If as a user I decide to hide the entry, I would hide it everywhere. [0] [1]
could you please chime in on this as I remember you working on this. Thanks!
This was the relevant message for what we were trying to achieve with the current design
Would it at least be possible to only create the entry when visible and if not, do not create and thus hiding is not needed? The underlying issue here is large amount of state accumulating for hidden trust entries. Typically only a user gesture would set the visibility to hidden, not programmatic as its done here.
I realize that justification talks about unspecified trust state, that is no longer a concept. We also have the banner now. Ok so we can: Only create an entry (unique id), if the entry will be visible (i.e. untrusted). User can hide with status bar UX. Con: User cannot make the entry visible in a trusted workspace if it was never loaded untrusted. We could go to a single entry id, so that visibility is linked across workspaces. Con: trusted workspaces would show if the user wanted to see when untrusted workspace. Single entry id, but dispose the entry when the workspace is trusted. Con: Can't manage the entry when in a trusted window (who cares, right?) I opened a PR for the last one
Yes, thats a great change, even though it causes a slight regression for people in untrusted workspaces that have explicitly hidden the indicator. It will now come back, but then its also easy to hide it again. Given the status bar entry ID is now no longer dynamic, we could actually now clean up the very large state in by removing all entries that are dynamic. I will see to make such a change. Thanks!
Change:
this._proxy = context.getProxy(extHostProtocol.ExtHostContext.ExtHostWebviewPanels); <del> this._register(_editorService.onDidActiveEditorChange(() => { this.updateWebviewViewStates(this._editorService.activeEditor); })); this._register(_editorService.onDidVisibleEditorsChange(() => { </del> <ins> this._register(Event.any( _editorService.onDidActiveEditorChange, _editorService.onDidVisibleEditorsChange, _editorGroupService.onDidAddGroup, _editorGroupService.onDidRemoveGroup, _editorGroupService.onDidMoveGroup, )(() => { </ins> this.updateWebviewViewStates(this._editorService.activeEditor); }));

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.59.1 OS Version: Win10 Bug description: WebviewPanel.viewColumn does not update when the column is changed by closing all files in a previous column. Steps to Reproduce: file in column 1 a WebviewPanel in column 2 file in column 1, shifting the WebviewPanel in column 2 into column 1 WebviewPanel.viewColumn Expected Result: WebviewPanel.viewColumn is correctly updated to reflect column 1 Actual Result: WebviewPanel.viewColumn says it is in column 2 until the user performs a tab action like opening or switching tabs.
(Experimental duplicate detection) Thanks for submitting this issue. Please also check if it is already covered by an existing one, like: <!-- score: 0.647 --- <!-- score: 0.556 --- <!-- score: 0.478 --<!-- potentialduplicates_comment --
<!-- 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:
'WORKSPACE_FOLDER': true, 'RANDOM': true, 'RANDOM_HEX': true, <ins> 'UUID': true </ins> }); export class CompositeSnippetVariableResolver implements VariableResolver {

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. --Vscode snippets support - e.g. variables related to filepaths, timestamps etc. Could you please add a new variable called something like that will auto-generate a version 4 UUID? (random) e.g. When executing the snippet, the placeholder would be replaced with a value like:
, that's a wrap! Now put it on the backlog, and in the software :D
could the generateUuid function be used with a snippet variable? I don't know how different the uuid and uuidv4 are, or if that matters here. I can submit a PR if that function works, or if you have any input on how to go about this.
Yeah, that function should be OK to be used
To verify make sure that you can have a snippet like this:
Change:
'--install-extension <ext>': localize('installExtension', "Installs an extension."), '--uninstall-extension <ext>': localize('uninstallExtension', "Uninstalls an extension."), '--disable-extensions': localize('disableExtensions', "Disable all installed extensions."), <ins> '--disable-gpu': localize('disableGPU', "Disable GPU hardware acceleration."), </ins> '-v, --version': localize('version', "Print version."), '-h, --help': localize('help', "Print usage.") };

Discussion:
The command line help (code --help) does not show the option for disabling GPU rendering (--disable-gpu) VSCode Version: 1.6.0 OS Version: Debian Jessie Steps to Reproduce: Terminal "code --help" Output on my system:
Care to submit a PR?
Fixed by
Change:
"npm-debug.log": "_npm_ignored_light" } }, <del> "version": "https://github.com/jesseweed/seti-ui/commit/6b83574de165123583d6d8d5b3b6c91f04b7153d" </del> <ins> "version": "https://github.com/jesseweed/seti-ui/commit/4dd6c27e1f5aed8068c2451dbaf0db3364545937" </ins> }  No newline at end of file

Discussion:
Testing Current: ! Proposal: !
Spoke with and I have submitted to add the file icon association to seti-ui repository.
Change:
import { ILogService } from 'vs/platform/log/common/log'; import { IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile'; import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity'; <ins> import { isObject, isString } from 'vs/base/common/types'; import { Schemas } from 'vs/base/common/network'; </ins> interface IStoredProfileExtension { identifier: IExtensionIdentifier; <del> location: UriComponents; </del> <ins> location: UriComponents | string; </ins> version: string; metadata?: Metadata; }

Discussion:
Type: <bBug</bThe experimental "user profiles" feature uses absolute paths which break when using a (which is done by creating a "data/" folder in VSC's root directory). These paths seem to be stored in "data/user-", at least in part. This makes VSC forget any extensions installed on the default profile as well as any other profiles. It also prevents VSC from finding the settings for any non-default profiles: When trying to edit the settings for a non-default profile, a new "" file is created where VSC expects the file to be. It displays an error message instead if the expected path is invalid (ex. portable installation's drive letter changed). Steps to Reproduce: a portable (.zip) version of VSCode and extract to a folder. an empty "data/" folder inside that folder. VSC and install any extension with the default profile. a second profile. Change some of its settings and install any extension. VSC and move the VSC folder to another location. VSC again. VS Code version: Code - Insiders 1.74.0-insider (, 2022-11-03T18:43:35.409Z) OS version: WindowsNT x64 10.0. Modes: Sandboxed: Yes <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Change:
// Append Electron flags to Electron if (SUPPORTED_ELECTRON_SWITCHES.indexOf(argvKey) !== -1) { <del> if ( // Color profile argvKey === 'force-color-profile' || // Password store argvKey === 'password-store' ) { if (argvValue) { app.commandLine.appendSwitch(argvKey, argvValue); } } // Others else if (argvValue === true || argvValue === 'true') { </del> <ins> if (argvValue === true || argvValue === 'true') { </ins> if (argvKey === 'disable-hardware-acceleration') { app.disableHardwareAcceleration(); // needs to be called explicitly } else { app.commandLine.appendSwitch(argvKey); } <ins> } else if (argvValue) { if (argvKey === 'force-color-profile') { // Color profile app.commandLine.appendSwitch(argvKey, argvValue); } else if (argvKey === 'password-store') { // Password store let migratedArgvValue = argvValue; if (argvValue === 'gnome' || argvValue === 'gnome-keyring') { migratedArgvValue = 'gnome-libsecret'; } app.commandLine.appendSwitch(argvKey, migratedArgvValue); } </ins> } }

Discussion:
Extracted from Electron 27 no longer supports , backend values, refs https://chromium-
Marking as verified based on
Change:
const renderers: ICompressibleTreeRenderer<any, any, any>[] = [ this.instantiationService.createInstance(RepositoryRenderer, getActionViewItemProvider(this.instantiationService)), this.inputRenderer, <del> this.instantiationService.createInstance(ActionButtonRenderer), </del> <ins> this.actionButtonRenderer, </ins> this.instantiationService.createInstance(ResourceGroupRenderer, getActionViewItemProvider(this.instantiationService)), this._register(this.instantiationService.createInstance(ResourceRenderer, () => this._viewModel, this.listLabels, getActionViewItemProvider(this.instantiationService), actionRunner)) ];

Discussion:
This should not be a valid state: ! It should automatically switch to this: ! is how the SCM Input does it.
I am seeing this state when I am navigating using up/down buttons. Is it expected? ! !
That is probably unexpected, but I will let confirm that.
Yeah, just like the text box. The list doesn't support completely disabling it at the model layer. We can only disable it at the click operation.
Change:
"name": "double" }, { <del> "name": "none", "desc": "Produces no line." </del> <ins> "name": "none" </ins> }, { "name": "solid"

Discussion:
typing gives intellisense for colors, not for text-decoration. typing non will not show 'none' in Intellisense. The problem occurs in any css, less and scss file in any place, with any selector. Problem also occurs without extensions. I am running Windows 7 32bit with all updates possible. ! !
Colours are valid values for text-decoration, as it is a shorthand which includes text-decoration-color
Change:
this._webglAddon = new Addon(); try { this._xterm.loadAddon(this._webglAddon); <ins> this._webglAddon.onContextLoss(() => { this._logService.info(`Webgl lost context, disposing of webgl renderer`); this._disposeOfWebglRenderer(); this._safeSetOption('rendererType', 'dom'); }); </ins> this._storageService.store(SUGGESTED_RENDERER_TYPE, 'auto', StorageScope.GLOBAL, StorageTarget.MACHINE); } catch (e) { this._logService.warn(`Webgl could not be loaded. Falling back to the canvas renderer type.`, e);

Discussion:
We should adopt An easy fix is to just fallback when this happens, we need to make sure we don't save suggested renderer type if the webgl renderer is good though.
Can you add verification steps?
To verify: Context loss is achieved at a diff't limit for each computer. Using VS code stable - create as many terminals as needed to trigger context loss. When you reach that state, you'll see ! Now in Insider's, create the same number of terminals. You shouldn't see any of those context loss images.
very nice, I like how the fallback magically works
Change:
.replace(/kbstyle(([^)]+))/gi, kbstyle); }; <del> if (!this._releaseNotesCache.has(version)) { this._releaseNotesCache.set(version, this._requestService.request({ url }, CancellationToken.None) .then(asText) .then(text => { if (!text || !/^#s/.test(text)) { // release notes always starts with `#` followed by whitespace return Promise.reject(new Error('Invalid release notes')); } </del> <ins> const fetchReleaseNotes = async () => { let text; try { text = await asText(await this._requestService.request({ url }, CancellationToken.None)); } catch { throw new Error('Failed to fetch release notes'); } if (!text || !/^#s/.test(text)) { // release notes always starts with `#` followed by whitespace throw new Error('Invalid release notes'); } </ins> <del> return Promise.resolve(text); }) .then(text => patchKeybindings(text))); </del> <ins> return patchKeybindings(text); }; if (!this._releaseNotesCache.has(version)) { this._releaseNotesCache.set(version, (async () => { try { return await fetchReleaseNotes(); } catch (err) { this._releaseNotesCache.delete(version); throw err; } })()); </ins> } return this._releaseNotesCache.get(version)!;

Discussion:
Issue Type: <bBug</bIf you try to open the release notes while offline, then if a release notes url is configured then vscode will open it in a browser, otherwise it will do nothing, not even show an error. Later, if you go online and try opening the release notes again, the same will happen - vscode will never attempt to open the release notes webview again. This state is preserved until you reload the window. Steps to Reproduce: offline (you can also open devtools in vscode and go to the network tab and change the "online" at the top to "offline") to open the release notes using from the command palette. on whether you are on an official vscode build or a local build, the release notes page will be opened in your default browser. On a local build nothing happens. back online to open the release notes again same thing will happen the window using from the command palette to open the release notes again release notes open in a webview inside vscode VS Code version: Code - Insiders 1.47.0-insider (, 2020-06-26T06:20:06.931Z) OS version: Windows_NT x64 10.0. Does this issue occur when all extensions are disabled?: Yes
Change:
} private _getScreenReaderContentState(): ScreenReaderContentState | undefined { <del> // Make the screen reader content always be visible because of the bug and also set the selection // TODO @aiday-mar Ultimately uncomment this code when Electron will be upgraded // if (this._accessibilitySupport === AccessibilitySupport.Disabled) { // 	return; // } const accessibilityPageSize = this._accessibilitySupport === AccessibilitySupport.Disabled ? 1 : this._accessibilityPageSize; </del> <ins> if (this._accessibilitySupport === AccessibilitySupport.Disabled) { return; } </ins> const simpleModel: ISimpleModel = { getLineCount: (): number => { return this._context.viewModel.getLineCount();

Discussion:
Enable the setting which enabled the native edit context adoption Copy some code which is more than 3 lines long Paste the code. The code that is pasted does not correspond to the code that is copied
After some investigation, I have noticed the following curious points. In the following, please note that to fix the long-press-E chromium issue, we essentially always write the screen reader content which means we always change the document selection. When screen reader is toggled off: When we read the copied text from the the electron clipboard in order to paste, it is incorrect When we remove the logic that sets the document selection for the screen reader content, the pasted text is correct When screen reader is toggled on: Text that is read from electron clipboard is always correct In fact interestingly when we revert the changes we have made for the long-press E issue, then this copy-paste issue no longer occurs! Since the long-press E issue is not important, and copy pasting is much more important, I believe that we should revert that fix. From this I believe this could be somehow related to a chromium bug. cc
I have made the following PR to revert the long press E fix : This fixed copy-pasting too.
Change:
} __vsc_command_complete() { <del> builtin local __vsc_history_id=$(builtin history | tail -n1 | awk '{print $1;}') # Don't write the command complete sequence for the first prompt without an associated command if [[ "$__vsc_initialized" == "1" ]]; then if [[ "$__vsc_history_id" == "$__vsc_last_history_id" ]]; then builtin printf "033]633;D007" else builtin printf "033]633;D;%s007" "$__vsc_status" __vsc_last_history_id=$__vsc_history_id fi else </del> <ins> if [[ "$__vsc_current_command" == "" ]]; then </ins> builtin printf "033]633;D007" <ins> else builtin printf "033]633;D;%s007" "$__vsc_status" </ins> fi __vsc_update_cwd }

Discussion:
This is a follow up from which worked around the majority case of an issue. See the workaround: The proper fix will involve sending both the exit code and the history ID over to VS Code which will then do what's happening now but also have the correct exit code to set, instead of assuming it's the last command's exit code. We should write a little script as part of this that alternates exit codes by setting/unsetting an environment variable so it's easier to test and verify.
The issue being worked around is actually caused by or being included in .
Good test case from
To verify: some commands , they should all show up in current session ctrl+c in between some commands, including typing out a command and hitting ctrl+c to abandon it , the lines with ctrl+c shouldn't show up several times, failed and success should match whether the exception was thrown.
Change:
this.htmlElements.root.classList.add(`input`); this._register( <del> autorunWithStore((reader, store) => { if (this.checkboxesVisible.read(reader)) { store.add( new EditorGutter(this.editor, this.htmlElements.gutterDiv, { getIntersectingGutterItems: (range, reader) => { return this.modifiedBaseRangeGutterItemInfos.read(reader); }, createView: (item, target) => new MergeConflictGutterItemView(item, target, contextMenuService), }) ); } }, 'update checkboxes') </del> <ins> new EditorGutter(this.editor, this.htmlElements.gutterDiv, { getIntersectingGutterItems: (range, reader) => { if (this.checkboxesVisible.read(reader)) { return this.modifiedBaseRangeGutterItemInfos.read(reader); } else { return []; } }, createView: (item, target) => new MergeConflictGutterItemView(item, target, contextMenuService), }) </ins> ); this._register(

Discussion:
Testing Possibly a regression since I thought this was fixed before. <img width="239" alt="CleanShot 2022-09-27 at 12 01 10 src="https://user-"