jiebi/CodeConvo huggingface dataset:
Change:
Version: 1.62.2 (user setup) Commit: Date: 2021-11-11T20:56:38.428Z Electron: 13.5.2 Chrome: 91.0.4472.164 14.16.0 V8: 9.1.269.39-electron.0 OS: Windows_NT x64 10.0. Have the settings file add a syntax error (e.g. at the endno errors reported JSON language server log says
Fails on a regular expression which is part of the validation schema for the setting does not need to be escaped With the changes for we now create regular expression with flag which is more restrictive regarding unnecessary escapes.
The fix is to a.) handle malformed regular expression b.) if creating a regular expression with fails, try a second time without
Closing for verification since it looks like this is in the release branch.

Discussion:
"dependencies": { "jsonc-parser": "^3.0.0", "request-light": "^0.5.4", <del> "vscode-json-languageservice": "^4.1.9", </del> <ins> "vscode-json-languageservice": "^4.1.10", </ins> "vscode-languageserver": "^7.0.0", "vscode-uri": "^3.0.2" },

resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.5.4.tgz#497a98c6d8ae49536417a5e2d7f383b934f3e38c" integrity sha512-t3566CMweOFlUk7Y1DJMu5OrtpoZEb6aSTsLQVT3wtrIEJ5NhcY9G/Oqxvjllzl4a15zXfFlcr9q40LbLVQJqw== <del> vscode-json-languageservice@^4.1.9: version "4.1.9" resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.1.9.tgz#fb48edc69e37167c3cafd447c3fa898052d87b61" integrity sha512-kxNHitUy2fCxmP6vAp0SRLrUSuecUYzzxlC+85cC3jJlFHWmvtCJOzikC+kcUnIdls9fQSB8n0yHs8Sl6taxJw== </del> <ins> vscode-json-languageservice@^4.1.10: version "4.1.10" resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.1.10.tgz#5d5729fc4f3e02f41599e0104523a1877c25f0fb" integrity sha512-IHliMEEYSY0tJjJt0ECb8ESx/nRXpoy9kN42WVQXgaqGyizFAf3jibSiezDQTrrY7f3kywXggCU+kkJEM+OLZQ== </ins> dependencies: jsonc-parser "^3.0.0" vscode-languageserver-textdocument "^1.0.1"
Change:
We use for encoding detection. This library itself ships a minified distribution: We seem to tell our loader to use that distribution: However, we also tell our build machine to exclude the folder: do you have an idea why we still successfully load , do we fallback to loading it normally through if the file is missing? I think you did implement some logic to automatically generate loader configuration based on the modules we ship in web, is that true? Are we configuring the web to load from folder? I actually wonder how this works in web, where we also seem to exclude the folder //cc
Oh I was wrong: in web we explicitly include and that seems to work just fine. Trying now to do the same for desktop:
Missing dependency: jschardet
63 svn Missing dependency: jschardet svn

Discussion:
spdlog/*.yml !spdlog/build/Release/*.node <del> jschardet/dist/** </del> windows-foreground-love/binding.gyp windows-foreground-love/build/** windows-foreground-love/src/**

**/*.ts !typescript/**/*.d.ts <del> jschardet/dist/** </del> <ins> jschardet/index.js jschardet/src/** jschardet/dist/jschardet.js </ins> es6-promise/lib/**
Change:
<!-- 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.62.3 OS Version: 11.6 (20G165) Steps to Reproduce: Extension Bisect until 1 extension remains !

Discussion:
run: () => this._commandService.executeCommand('extension.bisect.stop') }; <ins> const message = this._extensionBisectService.disabledCount === 1 ? localize('bisect.singular', "Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options.") : localize('bisect.plural', "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.", this._extensionBisectService.disabledCount); </ins> this._notificationService.prompt( Severity.Info, <del> localize('bisect', "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.", this._extensionBisectService.disabledCount), </del> <ins> message, </ins> [goodPrompt, badPrompt, stop], { sticky: true } );
Change:
run open in your favorite browser add a breakpoint at notice how the breakpoint is hit every few seconds this ends up transmitting data from the server to the client
A heartbeat fires every 5 seconds so we can detect when the pty host becomes unresponsive: Open to ideas on how to improve this but it's working as designed right now.
Idea: determine if the pty host is responsive or not on the server process only communicate the status of the pty host from the server to the connected renderers when the responsiveness of the pty host changes.
That should work, we only care about the event when it's going from unresponsive-responsive anyway.

Discussion:
this._heartbeatFirstTimeout = setTimeout(() => this._handleHeartbeatFirstTimeout(), HeartbeatConstants.BeatInterval * HeartbeatConstants.FirstWaitMultiplier); if (!this._isResponsive) { this._isResponsive = true; <ins> this._onPtyHostResponsive.fire(); </ins> } <del> this._onPtyHostResponsive.fire(); </del> } private _handleHeartbeatFirstTimeout() {

this._heartbeatSecondTimeout = undefined; if (this._isResponsive) { this._isResponsive = false; <ins> this._onPtyHostUnresponsive.fire(); </ins> } <del> this._onPtyHostUnresponsive.fire(); </del> } private _handleUnresponsiveCreateProcess() { this._clearHeartbeatTimeouts(); this._logService.error(`No ptyHost response to createProcess after ${HeartbeatConstants.CreateProcessTimeout / 1000} seconds`); <del> this._onPtyHostUnresponsive.fire(); </del> <ins> if (this._isResponsive) { this._isResponsive = false; this._onPtyHostUnresponsive.fire(); } </ins> } private _clearHeartbeatTimeouts() {
Change:
Steps to Reproduce: to a git repository in VS Code a change to a file the SCM viewlet and notice that the Open Changes command is disabled <img width="456" alt="image" src="https://user-"

Discussion:
"command": "git.openChange", "title": "%command.openChange%", "category": "Git", <ins> "icon": "$(compare-changes)" }, { "command": "git.openChangeEditor", "title": "%command.openChange%", "category": "Git", </ins> "icon": "$(compare-changes)", "enablement": "scmActiveResourceHasChanges" },

}, { "command": "git.openChange", <ins> "when": "false" }, { "command": "git.openChangeEditor", </ins> "when": "config.git.enabled && !git.missing && gitOpenRepositoryCount != 0" }, {

"when": "config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInNotebookTextDiffEditor && resourceScheme =~ /^git$|^file$/" }, { <del> "command": "git.openChange", </del> <ins> "command": "git.openChangeEditor", </ins> "group": "navigation", "when": "config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && resourceScheme == file" },

} @command('git.openChange') <ins> @command('git.openChangeEditor') </ins> async openChange(arg?: Resource | Uri, ...resourceStates: SourceControlResourceState[]): Promise<void> { let resources: Resource[] | undefined = undefined;
Change:
<!-- 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.62.3 OS Version: Chrome Version 96.0.4664.55 (Official Build) (arm64) macOS 12.0.1 Steps to Reproduce: vscode web version on localhost (use any build similar to ). Make sure the test repository has a jpg file such as the . Use a chromium based browser (not safari). on a .jpg file in the side pane explorer. Note that it takes 1s for the image to load, even when hosted from localhost. Click back and forth on other files and note that text files display immediately but any custom editor or image viewer that uses a webview always pauses for a second before loading Chrome/Edge service worker console and look for the service- version; note that the version increments each time the same webview is opened (and closed). It takes approximately 1050ms to load every image as shown in the following screenshot ! The service-worker for any webview is instantiated inside  with a query string that includes the unique id of the host frame. This is not actually needed or used by the webview code in but causes chromium based browsers to reinstall and reactivate the service worker even though the underlying service-worker code has the same code, eTag and content hash. For some reason Safari does not have the same delay. If the code is changed to only include the query parameter actually used by the script then the end to end browser time is reduced to 50ms on localhost, a 95% reduction The slow load time is experienced when navigating ordinary files in the editor with no extensions installed. It is also experienced (and why I noticed it) when developing custom editor extensions that use the webview. This makes it appear that built in editors such as the monaco editor are almost instantaneous, but third party editors appear to be 20x slower to load. ! Please see accompanying pull request, as a one line code change.

Discussion:
return reject(new Error('Service Workers are not enabled. Webviews will not work. Try disabling private/incognito mode.')); } <del> const swPath = `service-worker.js${self.location.search}`; </del> <ins> const swPath = `service-worker.js?vscode-resource-base-authority=${(new URL(location.toString()).searchParams).get('vscode-resource-base-authority')}`; </ins> navigator.serviceWorker.register(swPath).then( async registration => {
Change:
Running insiders with the insiders extension looking at devtools I see: Version:
could this be coming from vscode-extension-telemetry? When I debug, I see as one of the frames. When I remove vscode-extension-telemetry the error comes from c:Usersalros.vscode-insidersextensionsnodemodulesvscode-extension-telemetrylib Does this mean that the error doesn't come from vscode-extension-telemetry and that vscode-extension-telemetry is just surfacing the error?
I'm not sure. There was a bug with warnings being spammed to the console but this seems different. Looking at the minified code doesn't seem to have anything super special in it just publishing to a channel. Is there any sort of message with the error or just that a promise rejected?
No message, the reason is always as in Ben's example. I didn't find any better stack or message.
This is very hard to track down as we have to do some pretty hacky things with bundling and app insights for the telemetry module. I could provide you with a module without minification if that helps.
Trying it without minification is a reasonable next step if it isn't too much work for you to build it.
Let me know if this works for you, it's a but GitHub only allows so you will have to rename it
Any update?
Not yet, I've been focusing on issue grooming. I expect to get back to this issue next week!
No luck getting a better error or stack without minification. I'll keep digging.
Build a version of VSCode without minify locally maybe?
Even with everything unminified the error is still undefined.
Did it happen to give you a better line number for the telemetry module error? It's a bit difficult to see where this promise originates from in the minified code.
no, I didn't find anything else there. However, I've just found the source. I have no idea why this gets attributed to the telemetry module or to GHPRI, but the rejection is coming from here:
there's a promise getting rejected in the the typescript extension: It keeps getting attributed to other extensions and modules (maybe because GHPRI opens the file that causes the typescript extension to activate?). Can we add a rejection reason to this and/or stop it from happening? To easily repro the rejection: GHPRI pre-release a folder with a GitHub repository and PRs, where the first file in the PR is ts or js. all files (not sure if this is needed). . the Pull Requests view click on a PR and Checkout the PR.
Discussed a bit with and adding a "Canceled" reason is what is done in other places like this. I've confirmed that with with "Canceled" reason it no longer gets logged to the console and I've opened a PR for this.

Discussion:
} class ServerInitializingIndicator extends Disposable { <del> private _task?: { project: string | undefined, resolve: () => void, reject: () => void }; </del> <ins> private _task?: { project: string | undefined, resolve: () => void, reject: (error: Error) => void }; </ins> public reset(): void { if (this._task) { <del> this._task.reject(); </del> <ins> const error = new Error('Canceled'); error.name = error.message; this._task.reject(error); </ins> this._task = undefined; } }
Change:
The name "TypeScript React" nowadays is non-inclusive of all the libraries/frameworks out there that are built on JSX, but that are not React. React is not the only lib/framework that has JSX syntax! Let's make the field a fair play ground for all JSX libs. This is what I'm referring to: ! (it even shows React's logo) I'm writing an app with , for example. I'm not using React, and "TypeScript React" has no meaning in the context of a Solid app.
Other libs/frameworks include , , , etc.
Changing the display name is easy but we can't change the identifier. Also any new name should still mention react for the sake of all the documentation/tutorials out there that talk about . For example:
has the same issue. If I am in a project, it has nothing to do with React. Can there be a deprecated alias instead? For example, TypeScript JSX appears first, but someone can select (and maybe even it notifies them to prefer ?). It would be much better not to automatically teach people that JSX is React, because it isn't.
could be another friendlier option to alternatives.
I don't understand the association with ? Why not :roll_eyes: And I'm sure I missed some...
If there is a concern of keeping the UI consistent with existing (recent) content written about VS code, then why not treat the change as a depreciation of sorts? First change it to: Typescript JSX (previously Typescript React) Then with time docs can be updated to use the correct "Typescript JSX" and any community made docs/blogs could update as well. Then finally just remove the parentheses part completely when first party Docs are all confirmed updated to refer to it as "Typescript JSX". Even if it's not as direct of a fix, this still allows the root concern to be addressed and gives a nice path for it to happen.
I just wana say that the title is the best candidate for the change but not the identifier i.e . If you change that the whole community would break.
Just introduce an alias and deprecate it slowly in a 2-year frame or somewhat
Couldn't the identifier either: a) change over time the same I suggested the title, and/or b) have the old one kept as an alias?
Nope, identifier shouldn't have to change. You are talking about the old tooling and others century old editors (i.e vim/neovim) that depends on the identifier to detect/set the file type.
How about a new language type with identifier and display name "TypeScript JSX" with the ts logo and clone of the existing grammar definitions. Set it's precedence in the list higher than . Then can be deprecated and eventually removed at some later date.

Discussion:
{ "id": "javascriptreact", "aliases": [ <ins> "JavaScript JSX", </ins> "JavaScript React", "jsx" ],

{ "id": "typescriptreact", "aliases": [ <ins> "TypeScript JSX", </ins> "TypeScript React", "tsx" ],
Change:
<!-- 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: 1.63.0-insiders OS Version: macOS Monterey Steps to Reproduce: the input box of the interactive window type something like and to bring up the completion hover shrink down the size of the interactive window, the hover will not move with it ! .
What was the fix here? I seem to just be no longer to adjust the interactive window height but it could also be because my interactive window is still not fully working.
the interactive window height can be adjusted by open and hide the panel. Verifier: please test that when open/hide the panel through keybindings, the suggest widget is dismissed.
This mostly works, except for this issue when I show the hover using the keyboard ! I'll still call it verified, this is an unusual case, lmk if I should open an issue for this.

Discussion:
layout(dimension: DOM.Dimension): void { this.#rootElement.classList.toggle('mid-width', dimension.width < 1000 && dimension.width >= 600); this.#rootElement.classList.toggle('narrow-width', dimension.width < 600); <ins> const editorHeightChanged = dimension.height !== this.#dimension?.height; </ins> this.#dimension = dimension; if (!this.#notebookWidget.value) { return; } <ins> if (editorHeightChanged && this.#codeEditorWidget) { SuggestController.get(this.#codeEditorWidget)?.cancelSuggestWidget(); } </ins> this.#notebookEditorContainer.style.height = `${this.#dimension.height - this.#inputCellContainerHeight}px`; this.#layoutWidgets(dimension); }
Change:
I got confused because I tried joining terminals when there was only one terminal group. Is there a way to notify the user or to disable the command for that case? Originally posted by in and do the same for the unsplit command
might be overkill because the action was only to the command palette for the purpose of smoke testing
Let's show a notification when it's triggered with <= 1 terminal
What about when it's triggered with 2 terminals that are already split (and thus there are no picks)? Different notification?

Discussion:
async run(accessor: ServicesAccessor) { const themeService = accessor.get(IThemeService); const groupService = accessor.get(ITerminalGroupService); <ins> const notificationService = accessor.get(INotificationService); </ins> const picks: ITerminalQuickPickItem[] = []; <del> if (groupService.instances.length === 1) { </del> <ins> if (groupService.instances.length <= 1) { notificationService.warn(localize('workbench.action.terminal.join.insufficientTerminals', 'Insufficient terminals for the join action')); </ins> return; } const otherInstances = groupService.instances.filter(i => i.instanceId !== groupService.activeInstance?.instanceId);

} } if (picks.length === 0) { <ins> notificationService.warn(localize('workbench.action.terminal.join.onlySplits', 'All terminals are joined already')); </ins> return; } const result = await accessor.get(IQuickInputService).pick(picks, {});
Change:
(observed for installed extensions, but I think it is slower for all extensions) Insiders: ! Stable: !
cc
Seeing similar slowness in Getting Started, cc is it maybe a general markdown issue?
Yes, I can confirm that markdown rendering has slowed down. Hence assigning back to
Doesn't seem to happen for the markdown preview which suggests to me something in core with markdown rendering. Let me know if you notice this for any other webviews
I have a potential fix but don't yet understand why it works To summarize: when loading webviews, we load a file called from the disk. This file is very small and should be loaded almost instantly. And it is for normal webviews However for the extension editor, the network request for this file is in the state for almost a full second. I've confirmed that our code to serve this file runs very quickly (however it is only hit after the stall) so the stall must be happening somewhere else: Unlike other webviews, the extension editors all share a single internal webview identifier. This means that the requests look like: However if I change the extension editors to also have unique ids for the requests, the stall disappears My best guess right now is there's a cache lookup or something that causes the stall (I thought it could be the service worker, but both cases have the service worker enabled and the service worker also only sees the fetch after the stall)
cc
Also porting fix to November release
There is a limit on the number of socket connections per host, currently it is set to 6 in all chromium based browsers ;l=43-54, it is very likely possible that we hit this when using the same origin for extension editors. I can confirm if this is the case by taking a net log with . Edit: custom protocol requests don't show up in the above netlog trace, I will confirm with this in runtime trace and follow-up here.

Discussion:
export class WebviewElement extends Disposable implements IWebview, WebviewFindDelegate { public readonly id: string; <del> private readonly iframeId: string; </del> <ins> protected readonly iframeId: string; </ins> protected get platform(): string { return 'browser'; }

} protected override get webviewContentEndpoint(): string { <del> return `${Schemas.vscodeWebview}://${this.id}`; </del> <ins> return `${Schemas.vscodeWebview}://${this.iframeId}`; </ins> } /**
Change:
Open a new folder Trust the workspace Some of the colors in the window become wrong An editor has the wrong background color Opening the theme picker fixes it !
I originally filed because I encountered this during Settings Sync but think it's not related as I also saw this when opening files: !
Step to verify connect to settings sync install and set the Dracula theme () notice that the remote indicator is violet open a new folder that is not yet trusted the trust dialog shows up, approve verify that the remote indicator is still violet, not blue

Discussion:
if (settingId !== this.currentColorTheme.settingsId) { await this.internalSetColorTheme(theme.id, undefined); } else if (theme !== this.currentColorTheme) { <ins> await theme.ensureLoaded(this.extensionResourceLoaderService); </ins> theme.setCustomizations(this.settings); await this.applyTheme(theme, undefined, true); }

if (settingId !== this.currentFileIconTheme.settingsId) { await this.internalSetFileIconTheme(theme.id, undefined); } else if (theme !== this.currentFileIconTheme) { <ins> await theme.ensureLoaded(this.extensionResourceLoaderService); </ins> this.applyAndSetFileIconTheme(theme, true); } return true;

if (settingId !== this.currentProductIconTheme.settingsId) { await this.internalSetProductIconTheme(theme.id, undefined); } else if (theme !== this.currentProductIconTheme) { <ins> await theme.ensureLoaded(this.extensionResourceLoaderService, this.logService); </ins> this.applyAndSetProductIconTheme(theme, true); } return true;