jiebi/CodeConvo huggingface dataset:
Code change:
<!-- 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. --For example when I open a project in v, I expand the folder on the file tree. When I refresh the whole page, the default behavior now is that the folders are collapsed, which means that I need to expand the folders one by one again the last time I opened them. !
If the expansion state of the file tree folder can remember the last expansion like tabs, similar to the gif below, I think this is a better effect. !
I have fixed this problem and will mention a pr later.
The reason for this problem is that there are multiple calls to the function during the rendering of the file tree. The state will be read from the cache for the first time, but before the execution is completed for the first time, the will be executed again. At this time, the tree already has a value. However, because the file tree data is not ready (because the data on the Web side is asynchronous), the state returned by the function is empty, resulting in the final file tree returning to the default collapsed state.

Related discussion:
text: return Promise.resolve(undefined); } <ins> // Wait for the last execution to complete before executing if (this.setTreeInputPromise) { await this.setTreeInputPromise; } </ins> const initialInputSetup = !this.tree.getInput(); if (initialInputSetup) { perf.mark('code/willResolveExplorer');
Code change:
<!-- 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. --For example when I open a project in v, I expand the folder on the file tree. When I refresh the whole page, the default behavior now is that the folders are collapsed, which means that I need to expand the folders one by one again the last time I opened them. !
If the expansion state of the file tree folder can remember the last expansion like tabs, similar to the gif below, I think this is a better effect. !
I have fixed this problem and will mention a pr later.
The reason for this problem is that there are multiple calls to the function during the rendering of the file tree. The state will be read from the cache for the first time, but before the execution is completed for the first time, the will be executed again. At this time, the tree already has a value. However, because the file tree data is not ready (because the data on the Web side is asynchronous), the state returned by the function is empty, resulting in the final file tree returning to the default collapsed state.

Related discussion:
text: } const previousInput = this.tree.getInput(); <del> const promise = this.tree.setInput(input, viewState).then(async () => { </del> <ins> const promise = this.setTreeInputPromise = this.tree.setInput(input, viewState).then(async () => { </ins> if (Array.isArray(input)) { if (!viewState || previousInput instanceof ExplorerItem) { // There is no view state for this workspace (we transitioned from a folder workspace?), expand up to five roots.
Code change:
<!-- 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. --For example when I open a project in v, I expand the folder on the file tree. When I refresh the whole page, the default behavior now is that the folders are collapsed, which means that I need to expand the folders one by one again the last time I opened them. !
If the expansion state of the file tree folder can remember the last expansion like tabs, similar to the gif below, I think this is a better effect. !
I have fixed this problem and will mention a pr later.
The reason for this problem is that there are multiple calls to the function during the rendering of the file tree. The state will be read from the cache for the first time, but before the execution is completed for the first time, the will be executed again. At this time, the tree already has a value. However, because the file tree data is not ready (because the data on the Web side is asynchronous), the state returned by the function is empty, resulting in the final file tree returning to the default collapsed state.

Related discussion:
text: const treeInputArray = Array.isArray(treeInput) ? treeInput : Array.from(treeInput.children.values()); // Has collapsible root when anything is expanded this.viewHasSomeCollapsibleRootItem.set(hasExpandedNode(this.tree, treeInputArray)); <ins> // synchronize state to cache this.storeTreeViewState(); </ins> } override dispose(): void {
Code 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.81.0-insider : : 2023-07-12T11:13:11.418Z : Mozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 OS Version: Mac os 12.2.1 (21D62) Steps to Reproduce: Configuration Display Language to . devtools after page auto refresh !
eg. does not exist, but exists.
thanks for working on this. The true fix for this issue actually needs to be in 's source code. I've made that fix and this should work for you now. Let me know if you still see any trouble.

Related discussion:
text: // Set up nls if the user is not using the default language (English) const nlsConfig = {}; <del> const locale = window.localStorage.getItem('vscode.nls.locale') || navigator.language; </del> <ins> // Normalize locale to lowercase because translationServiceUrl is case-sensitive. // ref: https://github.com/microsoft/vscode/issues/187795 const locale = window.localStorage.getItem('vscode.nls.locale') || navigator.language.toLowerCase(); </ins> if (!locale.startsWith('en')) { nlsConfig['vs/nls'] = { availableLanguages: {
Code 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.81.0-insider : : 2023-07-12T11:13:11.418Z : Mozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 OS Version: Mac os 12.2.1 (21D62) Steps to Reproduce: Configuration Display Language to . devtools after page auto refresh !
eg. does not exist, but exists.
thanks for working on this. The true fix for this issue actually needs to be in 's source code. I've made that fix and this should work for you now. Let me know if you still see any trouble.

Related discussion:
text: async setLocale(languagePackItem: ILanguagePackItem, _skipDialog = false): Promise<void> { const locale = languagePackItem.id; <del> if (locale === Language.value() || (!locale && Language.value() === navigator.language)) { </del> <ins> if (locale === Language.value() || (!locale && Language.value() === navigator.language.toLowerCase())) { </ins> return; } if (locale) {
Code 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.81.0-insider : : 2023-07-12T11:13:11.418Z : Mozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 OS Version: Mac os 12.2.1 (21D62) Steps to Reproduce: Configuration Display Language to . devtools after page auto refresh !
eg. does not exist, but exists.
thanks for working on this. The true fix for this issue actually needs to be in 's source code. I've made that fix and this should work for you now. Let me know if you still see any trouble.

Related discussion:
text: window.localStorage.removeItem(WebLocaleService._LOCAL_STORAGE_LOCALE_KEY); window.localStorage.removeItem(WebLocaleService._LOCAL_STORAGE_EXTENSION_ID_KEY); <del> if (Language.value() === navigator.language) { </del> <ins> if (Language.value() === navigator.language.toLowerCase()) { </ins> return; }
Code change:
Type: <bBug</bI get nightly updates on VSCode insiders and I get the crash on whenever I restart the app for updating it. VS Code version: Code - Insiders 1.81.0-insider (, 2023-07-13T05:33:32.822Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (21)</summaryExtensionVersion ------ vscode-chromium-vector-icons1.0.2 togglehs0.1.2 gitlens2023.7.1305 copilot1.96.259 copilot-chat0.5. mojom-language0.0.1 vscode-webidl0.0.1 vscode-clangd0.1.24 cpplint0.1.3 autopep82023.7. python2023.13. vscode-pylance2023.7.21 remote-ssh0.103. remote-ssh-edit0.86.0 cpptools1.16.3 remote-explorer0.5. gnls0.1.4 java1.21. code-spell-checker2.20.5 change-case1.0.0 vscode-proto30.5.5 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Any details on the crash? Any error messages? Any logs?
I've attached the Crash Dump. Note: I used 7-zip to compress to 7z and then to zip (to make it smaller that GitHub allowed size and format).
The same thing has been happening to me.
This has been happening to me too.
Thanks guys, I've confirmed the issue!
Got a stack trace:
Caused by , namely:

Related discussion:
text: [[package]] name = "inno_updater" <del> version = "0.10.0" </del> <ins> version = "0.10.1" </ins> dependencies = [ "byteorder", "crc",
Code change:
Type: <bBug</bI get nightly updates on VSCode insiders and I get the crash on whenever I restart the app for updating it. VS Code version: Code - Insiders 1.81.0-insider (, 2023-07-13T05:33:32.822Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (21)</summaryExtensionVersion ------ vscode-chromium-vector-icons1.0.2 togglehs0.1.2 gitlens2023.7.1305 copilot1.96.259 copilot-chat0.5. mojom-language0.0.1 vscode-webidl0.0.1 vscode-clangd0.1.24 cpplint0.1.3 autopep82023.7. python2023.13. vscode-pylance2023.7.21 remote-ssh0.103. remote-ssh-edit0.86.0 cpptools1.16.3 remote-explorer0.5. gnls0.1.4 java1.21. code-spell-checker2.20.5 change-case1.0.0 vscode-proto30.5.5 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Any details on the crash? Any error messages? Any logs?
I've attached the Crash Dump. Note: I used 7-zip to compress to 7z and then to zip (to make it smaller that GitHub allowed size and format).
The same thing has been happening to me.
This has been happening to me too.
Thanks guys, I've confirmed the issue!
Got a stack trace:
Caused by , namely:

Related discussion:
text: [package] name = "inno_updater" <del> version = "0.10.0" </del> <ins> version = "0.10.1" </ins> authors = ["Microsoft <monacotools@microsoft.com>"] build = "build.rs"
Code change:
all chat audio cues enabled, run something in the inline chat that takes more than 4 seconds to come back that the chat response received cue doesn't play - in the console, there's an error about how a user gesture is required. this is expected to a different tab, leaving the chat widget still open to the tab with the chat widget visible hear the chat response received cue going between tabs and notice the cue gets played every time
so this happens even when it doesn't take that long !
this is because is called when the editor tab changes
that happens here !
looks like we need to move this to before is deleted so we can call it like
I have a different approach that will work. Ideally we would fix this at the root - so pls feel free to do so as you're more familiar with the state code.
This still repros for me with the steps from
So switching tabs plays an audio cue for you ?
This does not repro for me with the steps in this issue or the steps in the other one

Related discussion:
text: private _responsePendingAudioCue: IDisposable | undefined; private _hasReceivedRequest: boolean = false; private _runOnceScheduler: RunOnceScheduler; <ins> private _lastResponse: string | undefined; </ins> constructor(@IAudioCueService private readonly _audioCueService: IAudioCueService) { super();
Code change:
all chat audio cues enabled, run something in the inline chat that takes more than 4 seconds to come back that the chat response received cue doesn't play - in the console, there's an error about how a user gesture is required. this is expected to a different tab, leaving the chat widget still open to the tab with the chat widget visible hear the chat response received cue going between tabs and notice the cue gets played every time
so this happens even when it doesn't take that long !
this is because is called when the editor tab changes
that happens here !
looks like we need to move this to before is deleted so we can call it like
I have a different approach that will work. Ideally we would fix this at the root - so pls feel free to do so as you're more familiar with the state code.
This still repros for me with the steps from
So switching tabs plays an audio cue for you ?
This does not repro for me with the steps in this issue or the steps in the other one

Related discussion:
text: const isPanelChat = typeof response !== 'string'; this._responsePendingAudioCue?.dispose(); this._runOnceScheduler?.cancel(); <ins> if (this._lastResponse === response?.toString()) { return; } this._lastResponse = response?.toString(); </ins> this._audioCueService.playAudioCue(AudioCue.chatResponseReceived, true); this._hasReceivedRequest = false; if (!response) {
Code change:
When a user opens a file extension that does not have a specific recommendation tied to it, we show the general notification that points users to the marketplace. This has the following flaws: Most popular file types are already covered by specific extensions, so what gets left in this experience is leftovers For most of the extensions there is no good extension to handle this experience. Thus opening the Extension page does not provide value This is adding un-needed pings to the Marketplace service Also we had a bug that this feature was not available in stable and only 3 users found it is not there Would love for us to get some telemetry on this actions to see if this is actually bringing value to users. If not, we should either: Remove this flow completely Have a pre-defined set of file extensions for which we show this. Checking with tags seems to be very faulty. In my example below there is not an extension that helps with PowerPoint files. !
Only of these notifications end up with users clicking on Search Marketplace ! When it is actually clicked here are the top extensions ! Thus I suggest that we: Remove this dialog Add explicit extension recommendation for and . Since those seem to be missing. what do you think?
Sounds good to me
Great. Ok, you remove the dialog when you find time, I will add the recommendations for csv and pdf. Or if you go on vacation, I can also remove the dialog. I am working in August. Thanks
Feel free to remove it in August, otherwise I can also do it in September. Here it is
To verify: a file with some strange extension. For example -make sure no notification shows up a .py file or .go file. Make sure you get an extension recommendation for specific python / go extensions

Related discussion:
text: import { basename, extname } from 'vs/base/common/resources'; import { match } from 'vs/base/common/glob'; import { URI } from 'vs/base/common/uri'; <del> import { Mimes } from 'vs/base/common/mime'; import { getMimeTypes } from 'vs/editor/common/services/languagesAssociations'; </del> import { IModelService } from 'vs/editor/common/services/model'; import { ILanguageService } from 'vs/editor/common/languages/language'; import { IExtensionRecommendationNotificationService, RecommendationsNotificationResult, RecommendationSource } from 'vs/platform/extensionRecommendations/common/extensionRecommendations';
Code change:
When a user opens a file extension that does not have a specific recommendation tied to it, we show the general notification that points users to the marketplace. This has the following flaws: Most popular file types are already covered by specific extensions, so what gets left in this experience is leftovers For most of the extensions there is no good extension to handle this experience. Thus opening the Extension page does not provide value This is adding un-needed pings to the Marketplace service Also we had a bug that this feature was not available in stable and only 3 users found it is not there Would love for us to get some telemetry on this actions to see if this is actually bringing value to users. If not, we should either: Remove this flow completely Have a pre-defined set of file extensions for which we show this. Checking with tags seems to be very faulty. In my example below there is not an extension that helps with PowerPoint files. !
Only of these notifications end up with users clicking on Search Marketplace ! When it is actually clicked here are the top extensions ! Thus I suggest that we: Remove this dialog Add explicit extension recommendation for and . Since those seem to be missing. what do you think?
Sounds good to me
Great. Ok, you remove the dialog when you find time, I will add the recommendations for csv and pdf. Or if you go on vacation, I can also remove the dialog. I am working in August. Thanks
Feel free to remove it in August, otherwise I can also do it in September. Here it is
To verify: a file with some strange extension. For example -make sure no notification shows up a .py file or .go file. Make sure you get an extension recommendation for specific python / go extensions

Related discussion:
text: private readonly recommendationsByPattern = new Map<string, IStringDictionary<IFileOpenCondition[]>>(); private readonly fileBasedRecommendations = new Map<string, { recommendedTime: number }>(); private readonly fileBasedImportantRecommendations = new Set<string>(); <del> private readonly processedFileExtensions: string[] = []; </del> get recommendations(): ReadonlyArray<ExtensionRecommendation> { const recommendations: ExtensionRecommendation[] = [];
Code change:
When a user opens a file extension that does not have a specific recommendation tied to it, we show the general notification that points users to the marketplace. This has the following flaws: Most popular file types are already covered by specific extensions, so what gets left in this experience is leftovers For most of the extensions there is no good extension to handle this experience. Thus opening the Extension page does not provide value This is adding un-needed pings to the Marketplace service Also we had a bug that this feature was not available in stable and only 3 users found it is not there Would love for us to get some telemetry on this actions to see if this is actually bringing value to users. If not, we should either: Remove this flow completely Have a pre-defined set of file extensions for which we show this. Checking with tags seems to be very faulty. In my example below there is not an extension that helps with PowerPoint files. !
Only of these notifications end up with users clicking on Search Marketplace ! When it is actually clicked here are the top extensions ! Thus I suggest that we: Remove this dialog Add explicit extension recommendation for and . Since those seem to be missing. what do you think?
Sounds good to me
Great. Ok, you remove the dialog when you find time, I will add the recommendations for csv and pdf. Or if you go on vacation, I can also remove the dialog. I am working in August. Thanks
Feel free to remove it in August, otherwise I can also do it in September. Here it is
To verify: a file with some strange extension. For example -make sure no notification shows up a .py file or .go file. Make sure you get an extension recommendation for specific python / go extensions

Related discussion:
text: constructor( @IExtensionsWorkbenchService private readonly extensionsWorkbenchService: IExtensionsWorkbenchService, <del> @IPaneCompositePartService private readonly paneCompositeService: IPaneCompositePartService, </del> @IModelService private readonly modelService: IModelService, @ILanguageService private readonly languageService: ILanguageService, @IProductService productService: IProductService, <del> @INotificationService private readonly notificationService: INotificationService, @ITelemetryService private readonly telemetryService: ITelemetryService, </del> @IStorageService private readonly storageService: IStorageService, @IExtensionRecommendationNotificationService private readonly extensionRecommendationNotificationService: IExtensionRecommendationNotificationService, @IExtensionIgnoredRecommendationsService private readonly extensionIgnoredRecommendationsService: IExtensionIgnoredRecommendationsService, @IWorkspaceContextService private readonly workspaceContextService: IWorkspaceContextService, <del> @IExtensionManagementServerService private readonly extensionManagementServerService: IExtensionManagementServerService, </del> ) { super(); this.fileOpenRecommendations = {};