From e89755bc68968eb69488f5d8788f9f409adbf7f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= Date: Mon, 9 Mar 2026 17:57:41 +0100 Subject: [PATCH 1/2] lib!: vscode 1.111 --- .ncurc.json | 1 - package-lock.json | 40 +++-- package.json | 28 ++-- src/missing-services.ts | 104 +++++++++++- src/service-override/chat.ts | 9 +- ...-feat-add-static-asset-url-mechanism.patch | 4 +- .../0007-fix-use-existing-method.patch | 2 +- vscode-patches/0008-refactor-split-code.patch | 2 +- ...ode-already-done-in-EditorFeaturesIn.patch | 4 +- ...imports-by-regular-esm-dynamic-impor.patch | 2 +- ...-classes-and-make-some-methods-acces.patch | 2 +- ...y-run-some-code-if-inside-the-worker.patch | 2 +- ...eanup-remove-non-ESM-compatible-code.patch | 2 +- ...t-only-apply-style-on-specific-class.patch | 23 ++- ...-supported-as-soon-as-there-is-a-reg.patch | 8 +- ...efactor-split-workbench-contribution.patch | 4 +- ...046-fix-stop-expecting-a-git-context.patch | 33 ++-- ...tract-constants-into-separate-module.patch | 8 +- ...t-support-configuring-worker-options.patch | 2 +- .../0056-fix-break-cyclic-dependency.patch | 17 +- .../0060-feat-support-shadow-dom.patch | 22 +-- .../0064-fix-break-cyclic-dependency.patch | 24 +-- ...-feat-allow-to-override-product-icon.patch | 8 +- ...-support-loading-VSCode-in-an-iframe.patch | 20 +-- ...element-creation-to-be-able-to-creat.patch | 158 ++++++++++++++---- ...actor-make-editors-register-themself.patch | 2 +- ...so-register-the-quickinput-container.patch | 2 +- ...ptional-as-sometime-openvsix-doesn-t.patch | 2 +- .../0077-fix-stop-rewriting-source-maps.patch | 18 +- ...t-shouldAttemptTaskReconnection-flag.patch | 2 +- ...figuration-editing-built-in-extensio.patch | 2 +- ...-layout-when-there-is-a-header-on-to.patch | 6 +- ...0085-fix-make-product-field-optional.patch | 6 +- ...l.integrated.preserveDrawingBuffer-s.patch | 4 +- ...port-chat-related-stuff-from-chat-co.patch | 4 +- 35 files changed, 391 insertions(+), 186 deletions(-) diff --git a/.ncurc.json b/.ncurc.json index b5c04a45..66bf2fc0 100644 --- a/.ncurc.json +++ b/.ncurc.json @@ -11,7 +11,6 @@ "@vscode/spdlog", "@vscode/tree-sitter-wasm", "@vscode/windows-process-tree", - "@vscode/windows-registry", "@xterm/addon-clipboard", "@xterm/addon-image", "@xterm/addon-ligatures", diff --git a/package-lock.json b/package-lock.json index 95b171a9..a9b8c051 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,16 +18,16 @@ "@vscode/spdlog": "^0.15.7", "@vscode/vscode-languagedetection": "npm:@codingame/vscode-languagedetection@1.0.23", "@vscode/windows-process-tree": "^0.6.0", - "@xterm/addon-clipboard": "^0.3.0-beta.167", - "@xterm/addon-image": "^0.10.0-beta.167", - "@xterm/addon-ligatures": "^0.11.0-beta.167", - "@xterm/addon-progress": "^0.3.0-beta.167", - "@xterm/addon-search": "^0.17.0-beta.167", - "@xterm/addon-serialize": "^0.15.0-beta.167", - "@xterm/addon-unicode11": "^0.10.0-beta.167", - "@xterm/addon-webgl": "^0.20.0-beta.166", - "@xterm/headless": "^6.1.0-beta.167", - "@xterm/xterm": "^6.1.0-beta.167", + "@xterm/addon-clipboard": "^0.3.0-beta.168", + "@xterm/addon-image": "^0.10.0-beta.168", + "@xterm/addon-ligatures": "^0.11.0-beta.168", + "@xterm/addon-progress": "^0.3.0-beta.168", + "@xterm/addon-search": "^0.17.0-beta.168", + "@xterm/addon-serialize": "^0.15.0-beta.168", + "@xterm/addon-unicode11": "^0.10.0-beta.168", + "@xterm/addon-webgl": "^0.20.0-beta.167", + "@xterm/headless": "^6.1.0-beta.168", + "@xterm/xterm": "^6.1.0-beta.168", "cookie": "^0.7.2", "css-url-parser": "^1.1.4", "dompurify": "^3.3.2", @@ -72,7 +72,7 @@ "@types/vscode-semver": "npm:@types/semver@=5.5.0", "@types/yargs": "^17.0.35", "@types/yauzl": "^2.10.3", - "@vscode/codicons": "^0.0.45-11", + "@vscode/codicons": "^0.0.45-12", "@vscode/tree-sitter-wasm": "^0.3.0", "acorn": "^8.16.0", "chalk": "^5.6.2", @@ -182,6 +182,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -3345,6 +3346,7 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -4274,6 +4276,7 @@ "integrity": "sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4387,6 +4390,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", @@ -4863,6 +4867,7 @@ "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-6.1.0-beta.168.tgz", "integrity": "sha512-emtXKWZmyOZhcEg6StZ3qFU6M++FM506+2V/E//iqMitCDFfJAGJNJYUS5o0/PRN0MaIKo1ladXhfnozAKaGTA==", "license": "MIT", + "peer": true, "workspaces": [ "addons/*" ] @@ -4879,6 +4884,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5209,6 +5215,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -5817,6 +5824,7 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, + "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -6354,6 +6362,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -8352,6 +8361,7 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "license": "MIT", + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -10802,6 +10812,7 @@ "dev": true, "inBundle": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -11501,6 +11512,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -12097,6 +12109,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "devOptional": true, + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -12246,6 +12259,7 @@ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.3.tgz", "integrity": "sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==", "dev": true, + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/error": "^4.0.0", @@ -13172,7 +13186,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tsx": { "version": "4.21.0", @@ -13250,6 +13265,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 065b4a57..bcf3982f 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,9 @@ }, "config": { "vscode": { - "version": "1.110.0", - "ref": "1.110", - "commit": "0870c2a0c7c0564e7631bfed2675573a94ba4455" + "version": "1.111.0", + "ref": "1.111.0", + "commit": "ce099c1ed25d9eb3076c11e4a280f3eb52b4fbeb" }, "monaco": { "ref": "v0.55.1", @@ -61,7 +61,7 @@ "@types/vscode-semver": "npm:@types/semver@=5.5.0", "@types/yargs": "^17.0.35", "@types/yauzl": "^2.10.3", - "@vscode/codicons": "^0.0.45-11", + "@vscode/codicons": "^0.0.45-12", "@vscode/tree-sitter-wasm": "^0.3.0", "acorn": "^8.16.0", "chalk": "^5.6.2", @@ -100,16 +100,16 @@ "@vscode/spdlog": "^0.15.7", "@vscode/vscode-languagedetection": "npm:@codingame/vscode-languagedetection@1.0.23", "@vscode/windows-process-tree": "^0.6.0", - "@xterm/addon-clipboard": "^0.3.0-beta.167", - "@xterm/addon-image": "^0.10.0-beta.167", - "@xterm/addon-ligatures": "^0.11.0-beta.167", - "@xterm/addon-progress": "^0.3.0-beta.167", - "@xterm/addon-search": "^0.17.0-beta.167", - "@xterm/addon-serialize": "^0.15.0-beta.167", - "@xterm/addon-unicode11": "^0.10.0-beta.167", - "@xterm/addon-webgl": "^0.20.0-beta.166", - "@xterm/headless": "^6.1.0-beta.167", - "@xterm/xterm": "^6.1.0-beta.167", + "@xterm/addon-clipboard": "^0.3.0-beta.168", + "@xterm/addon-image": "^0.10.0-beta.168", + "@xterm/addon-ligatures": "^0.11.0-beta.168", + "@xterm/addon-progress": "^0.3.0-beta.168", + "@xterm/addon-search": "^0.17.0-beta.168", + "@xterm/addon-serialize": "^0.15.0-beta.168", + "@xterm/addon-unicode11": "^0.10.0-beta.168", + "@xterm/addon-webgl": "^0.20.0-beta.167", + "@xterm/headless": "^6.1.0-beta.168", + "@xterm/xterm": "^6.1.0-beta.168", "cookie": "^0.7.2", "css-url-parser": "^1.1.4", "dompurify": "^3.3.2", diff --git a/src/missing-services.ts b/src/missing-services.ts index ad4a79d5..c1d6d690 100644 --- a/src/missing-services.ts +++ b/src/missing-services.ts @@ -449,7 +449,7 @@ import { ILanguageModelsConfigurationService } from 'vs/workbench/contrib/chat/c import { IAgentPluginRepositoryService } from 'vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service.js' import { IAgentPluginService } from 'vs/workbench/contrib/chat/common/plugins/agentPluginService.service.js' import { IPluginMarketplaceService } from 'vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service.js' -import { Target } from 'vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js' +import { Target } from 'vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js' import { ILanguageModelToolsConfirmationService } from 'vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service' import { ToolDataSource, @@ -475,10 +475,12 @@ import { unsupported } from './tools.js' import { IChatAttachmentWidgetRegistry } from 'vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.service' import { IChatDebugService } from 'vs/workbench/contrib/chat/common/chatDebugService.service.js' import { IPluginInstallService } from 'vs/workbench/contrib/chat/common/plugins/pluginInstallService.service' +import { IChatResponseResourceFileSystemProvider } from 'vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service.js' import { IGitService } from 'vs/workbench/contrib/git/common/gitService.service.js' import { IWorkbenchMcpGatewayService } from 'vs/workbench/contrib/mcp/common/mcpGatewayService.service.js' import { IMcpSandboxService } from 'vs/workbench/contrib/mcp/common/mcpSandboxService.service.js' import { IPowerService } from 'vs/workbench/services/power/common/powerService.service.js' +import { FileSystemProviderCapabilities } from './service-override/files.js' function Unsupported(target: object, propertyKey: string, descriptor?: PropertyDescriptor) { function unsupported() { @@ -2765,6 +2767,8 @@ class TerminalService implements ITerminalService { @Unsupported openResource: ITerminalService['openResource'] = unsupported setNextCommandId: ITerminalService['setNextCommandId'] = async () => {} + @Unsupported + moveToBackground: ITerminalService['moveToBackground'] = unsupported } registerSingleton(ITerminalService, TerminalService, InstantiationType.Delayed) class TerminalConfigurationService implements ITerminalConfigurationService { @@ -3321,7 +3325,6 @@ class ChatService implements IChatService { notifyUserAction: IChatService['notifyUserAction'] = unsupported onDidSubmitRequest: IChatService['onDidSubmitRequest'] = Event.None requestInProgressObs: IChatService['requestInProgressObs'] = constObservable(false) - edits2Enabled: IChatService['edits2Enabled'] = false editingSessions: IChatService['editingSessions'] = [] getChatSessionFromInternalUri: IChatService['getChatSessionFromInternalUri'] = () => undefined getLocalSessionHistory: IChatService['getLocalSessionHistory'] = async () => [] @@ -5580,6 +5583,8 @@ class ChatEntitlementsService implements IChatEntitlementService { registerSingleton(IChatEntitlementService, ChatEntitlementsService, InstantiationType.Eager) class PromptsService implements IPromptsService { _serviceBrand: undefined + onDidChangeInstructions: IPromptsService['onDidChangeInstructions'] = Event.None + onDidChangeSkills: IPromptsService['onDidChangeSkills'] = Event.None listPromptFiles: IPromptsService['listPromptFiles'] = async () => [] getSourceFolders: IPromptsService['getSourceFolders'] = async () => [] dispose: IPromptsService['dispose'] = (): void => {} @@ -5857,6 +5862,8 @@ class McpResourceScannerService implements IMcpResourceScannerService { addMcpServers: IMcpResourceScannerService['addMcpServers'] = unsupported @Unsupported removeMcpServers: IMcpResourceScannerService['removeMcpServers'] = unsupported + @Unsupported + updateSandboxConfig: IMcpResourceScannerService['updateSandboxConfig'] = unsupported } registerSingleton(IMcpResourceScannerService, McpResourceScannerService, InstantiationType.Eager) @@ -6231,6 +6238,9 @@ class LanguageModelToolsConfirmationService implements ILanguageModelToolsConfir getPreConfirmActions: ILanguageModelToolsConfirmationService['getPreConfirmActions'] = () => [] getPostConfirmActions: ILanguageModelToolsConfirmationService['getPostConfirmActions'] = () => [] + + toolCanManageConfirmation: ILanguageModelToolsConfirmationService['toolCanManageConfirmation'] = + () => false } registerSingleton( ILanguageModelToolsConfirmationService, @@ -6469,6 +6479,14 @@ class ChatTipService implements IChatTipService { hasMultipleTips: IChatTipService['hasMultipleTips'] = unsupported @Unsupported clearDismissedTips: IChatTipService['clearDismissedTips'] = unsupported + @Unsupported + dismissTipForSession: IChatTipService['dismissTipForSession'] = unsupported + @Unsupported + hideTipsForSession: IChatTipService['hideTipsForSession'] = unsupported + @Unsupported + getNextEligibleTip: IChatTipService['getNextEligibleTip'] = unsupported + @Unsupported + recordSlashCommandUsage: IChatTipService['recordSlashCommandUsage'] = unsupported } registerSingleton(IChatTipService, ChatTipService, InstantiationType.Delayed) @@ -6584,6 +6602,18 @@ class AICustomizationWorkspaceService implements IAICustomizationWorkspaceServic commitFiles: IAICustomizationWorkspaceService['commitFiles'] = unsupported @Unsupported generateCustomization: IAICustomizationWorkspaceService['generateCustomization'] = unsupported + + @Unsupported + deleteFiles: IAICustomizationWorkspaceService['deleteFiles'] = unsupported + hasOverrideProjectRoot: IAICustomizationWorkspaceService['hasOverrideProjectRoot'] = + constObservable(false) + @Unsupported + setOverrideProjectRoot: IAICustomizationWorkspaceService['setOverrideProjectRoot'] = unsupported + @Unsupported + clearOverrideProjectRoot: IAICustomizationWorkspaceService['clearOverrideProjectRoot'] = + unsupported + getFilteredPromptSlashCommands: IAICustomizationWorkspaceService['getFilteredPromptSlashCommands'] = + async () => [] } registerSingleton( @@ -6624,8 +6654,20 @@ class PluginMarketplaceService implements IPluginMarketplaceService { _serviceBrand: undefined onDidChangeMarketplaces: IPluginMarketplaceService['onDidChangeMarketplaces'] = Event.None fetchMarketplacePlugins: IPluginMarketplaceService['fetchMarketplacePlugins'] = async () => [] - getMarketplacePluginMetadata: IPluginMarketplaceService['getMarketplacePluginMetadata'] = - async () => undefined + getMarketplacePluginMetadata: IPluginMarketplaceService['getMarketplacePluginMetadata'] = () => + undefined + + installedPlugins: IPluginMarketplaceService['installedPlugins'] = constObservable([]) + @Unsupported + addInstalledPlugin: IPluginMarketplaceService['addInstalledPlugin'] = unsupported + @Unsupported + removeInstalledPlugin: IPluginMarketplaceService['removeInstalledPlugin'] = unsupported + @Unsupported + setInstalledPluginEnabled: IPluginMarketplaceService['setInstalledPluginEnabled'] = unsupported + @Unsupported + isMarketplaceTrusted: IPluginMarketplaceService['isMarketplaceTrusted'] = unsupported + @Unsupported + trustMarketplace: IPluginMarketplaceService['trustMarketplace'] = unsupported } registerSingleton(IPluginMarketplaceService, PluginMarketplaceService, InstantiationType.Delayed) @@ -6641,6 +6683,17 @@ class AgentPluginRepositoryService implements IAgentPluginRepositoryService { ensureRepository: IAgentPluginRepositoryService['ensureRepository'] = unsupported @Unsupported pullRepository: IAgentPluginRepositoryService['pullRepository'] = unsupported + @Unsupported + getPluginSourceInstallUri: IAgentPluginRepositoryService['getPluginSourceInstallUri'] = + unsupported + @Unsupported + ensurePluginSource: IAgentPluginRepositoryService['ensurePluginSource'] = unsupported + @Unsupported + updatePluginSource: IAgentPluginRepositoryService['updatePluginSource'] = unsupported + @Unsupported + getPluginSource: IAgentPluginRepositoryService['getPluginSource'] = unsupported + @Unsupported + cleanupPluginSource: IAgentPluginRepositoryService['cleanupPluginSource'] = unsupported } registerSingleton( @@ -6655,8 +6708,6 @@ class PluginInstallService implements IPluginInstallService { @Unsupported installPlugin: IPluginInstallService['installPlugin'] = unsupported @Unsupported - uninstallPlugin: IPluginInstallService['uninstallPlugin'] = unsupported - @Unsupported updatePlugin: IPluginInstallService['updatePlugin'] = unsupported @Unsupported getPluginInstallUri: IPluginInstallService['getPluginInstallUri'] = unsupported @@ -6698,6 +6749,12 @@ class ChatDebugService implements IChatDebugService { @Unsupported resolveEvent: IChatDebugService['resolveEvent'] = unsupported dispose: IChatDebugService['dispose'] = () => {} + + onDidClearProviderEvents: IChatDebugService['onDidClearProviderEvents'] = Event.None + hasInvokedProviders: IChatDebugService['hasInvokedProviders'] = () => false + onDidAttachDebugData: IChatDebugService['onDidAttachDebugData'] = Event.None + markDebugDataAttached: IChatDebugService['markDebugDataAttached'] = () => {} + hasAttachedDebugData: IChatDebugService['hasAttachedDebugData'] = () => false } registerSingleton(IChatDebugService, ChatDebugService, InstantiationType.Delayed) @@ -6717,6 +6774,11 @@ class McpSandboxService implements IMcpSandboxService { @Unsupported launchInSandboxIfEnabled: IMcpSandboxService['launchInSandboxIfEnabled'] = unsupported isEnabled: IMcpSandboxService['isEnabled'] = async () => false + + getSandboxConfigSuggestionMessage: IMcpSandboxService['getSandboxConfigSuggestionMessage'] = () => + undefined + applySandboxConfigSuggestion: IMcpSandboxService['applySandboxConfigSuggestion'] = async () => + false } registerSingleton(IMcpSandboxService, McpSandboxService, InstantiationType.Delayed) @@ -6754,3 +6816,33 @@ class PowerService implements IPowerService { } registerSingleton(IPowerService, PowerService, InstantiationType.Delayed) + +class ChatResponseResourceFileSystemProvider implements IChatResponseResourceFileSystemProvider { + _serviceBrand: undefined + + @Unsupported + associate: IChatResponseResourceFileSystemProvider['associate'] = unsupported + + capabilities: IChatResponseResourceFileSystemProvider['capabilities'] = + FileSystemProviderCapabilities.None + onDidChangeCapabilities: IChatResponseResourceFileSystemProvider['onDidChangeCapabilities'] = + Event.None + onDidChangeFile: IChatResponseResourceFileSystemProvider['onDidChangeFile'] = Event.None + watch: IChatResponseResourceFileSystemProvider['watch'] = () => Disposable.None + @Unsupported + stat: IChatResponseResourceFileSystemProvider['stat'] = unsupported + @Unsupported + mkdir: IChatResponseResourceFileSystemProvider['mkdir'] = unsupported + @Unsupported + readdir: IChatResponseResourceFileSystemProvider['readdir'] = unsupported + @Unsupported + delete: IChatResponseResourceFileSystemProvider['delete'] = unsupported + @Unsupported + rename: IChatResponseResourceFileSystemProvider['rename'] = unsupported +} + +registerSingleton( + IChatResponseResourceFileSystemProvider, + ChatResponseResourceFileSystemProvider, + InstantiationType.Delayed +) diff --git a/src/service-override/chat.ts b/src/service-override/chat.ts index cf4d69e7..14bd2dd2 100644 --- a/src/service-override/chat.ts +++ b/src/service-override/chat.ts @@ -112,6 +112,8 @@ import { IChatAttachmentWidgetRegistry } from 'vs/workbench/contrib/chat/browser import { ChatAttachmentWidgetRegistry } from 'vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry' import { IChatDebugService } from 'vs/workbench/contrib/chat/common/chatDebugService.service' import { ChatDebugServiceImpl } from 'vs/workbench/contrib/chat/common/chatDebugServiceImpl' +import { IChatResponseResourceFileSystemProvider } from 'vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service' +import { ChatResponseResourceFileSystemProvider } from 'vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider' import 'vs/workbench/contrib/chat/browser/chat.contribution' import 'vs/workbench/contrib/terminal/terminal.chat.contribution' import 'vs/workbench/contrib/inlineChat/browser/inlineChat.contribution' @@ -247,6 +249,11 @@ export default function getServiceOverride(): IEditorOverrideServices { [], true ), - [IChatDebugService.toString()]: new SyncDescriptor(ChatDebugServiceImpl, [], true) + [IChatDebugService.toString()]: new SyncDescriptor(ChatDebugServiceImpl, [], true), + [IChatResponseResourceFileSystemProvider.toString()]: new SyncDescriptor( + ChatResponseResourceFileSystemProvider, + [], + true + ) } } diff --git a/vscode-patches/0005-feat-add-static-asset-url-mechanism.patch b/vscode-patches/0005-feat-add-static-asset-url-mechanism.patch index 01f33d66..193f67c3 100644 --- a/vscode-patches/0005-feat-add-static-asset-url-mechanism.patch +++ b/vscode-patches/0005-feat-add-static-asset-url-mechanism.patch @@ -119,10 +119,10 @@ index 4cfaf6a58cb..b7f63a0d276 100644 class ExtensionHostProxy implements IExtensionHostProxy { diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts -index 8abfea0b8d3..871915ebd4a 100644 +index 0bd60212242..63b9db885d9 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts -@@ -1836,6 +1836,7 @@ export interface MainThreadExtensionServiceShape extends IDisposable { +@@ -1851,6 +1851,7 @@ export interface MainThreadExtensionServiceShape extends IDisposable { $onExtensionRuntimeError(extensionId: ExtensionIdentifier, error: SerializedError): void; $setPerformanceMarks(marks: performance.PerformanceMark[]): Promise; $asBrowserUri(uri: UriComponents): Promise; diff --git a/vscode-patches/0007-fix-use-existing-method.patch b/vscode-patches/0007-fix-use-existing-method.patch index 3971ad08..38acadfd 100644 --- a/vscode-patches/0007-fix-use-existing-method.patch +++ b/vscode-patches/0007-fix-use-existing-method.patch @@ -8,7 +8,7 @@ Subject: [PATCH] fix: use existing method 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/editor/standalone/browser/standaloneServices.ts b/src/vs/editor/standalone/browser/standaloneServices.ts -index fb5b0122e91..ee8f98634b9 100644 +index e12a15076e4..cfb4a46c367 100644 --- a/src/vs/editor/standalone/browser/standaloneServices.ts +++ b/src/vs/editor/standalone/browser/standaloneServices.ts @@ -559,7 +559,7 @@ export class StandaloneKeybindingService extends AbstractKeybindingService { diff --git a/vscode-patches/0008-refactor-split-code.patch b/vscode-patches/0008-refactor-split-code.patch index 937ac05e..4a99cbb8 100644 --- a/vscode-patches/0008-refactor-split-code.patch +++ b/vscode-patches/0008-refactor-split-code.patch @@ -9,7 +9,7 @@ Subject: [PATCH] refactor: split code 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/vs/editor/standalone/browser/standaloneServices.ts b/src/vs/editor/standalone/browser/standaloneServices.ts -index ee8f98634b9..9ccfb39b28e 100644 +index cfb4a46c367..04819de2d6d 100644 --- a/src/vs/editor/standalone/browser/standaloneServices.ts +++ b/src/vs/editor/standalone/browser/standaloneServices.ts @@ -530,15 +530,19 @@ export class StandaloneKeybindingService extends AbstractKeybindingService { diff --git a/vscode-patches/0009-cleanup-remove-code-already-done-in-EditorFeaturesIn.patch b/vscode-patches/0009-cleanup-remove-code-already-done-in-EditorFeaturesIn.patch index 48adf61e..d337141f 100644 --- a/vscode-patches/0009-cleanup-remove-code-already-done-in-EditorFeaturesIn.patch +++ b/vscode-patches/0009-cleanup-remove-code-already-done-in-EditorFeaturesIn.patch @@ -9,7 +9,7 @@ Subject: [PATCH] cleanup: remove code already done in 1 file changed, 12 deletions(-) diff --git a/src/vs/editor/standalone/browser/standaloneServices.ts b/src/vs/editor/standalone/browser/standaloneServices.ts -index 9ccfb39b28e..75e920e6740 100644 +index 04819de2d6d..e1f785d8da9 100644 --- a/src/vs/editor/standalone/browser/standaloneServices.ts +++ b/src/vs/editor/standalone/browser/standaloneServices.ts @@ -16,7 +16,6 @@ import * as dom from '../../../base/browser/dom.js'; @@ -28,7 +28,7 @@ index 9ccfb39b28e..75e920e6740 100644 import { WorkspaceEdit } from '../../common/languages.js'; import { ILanguageService } from '../../common/languages/language.js'; import { ITextModel, ITextSnapshot } from '../../common/model.js'; -@@ -1253,16 +1251,6 @@ export namespace StandaloneServices { +@@ -1257,16 +1255,6 @@ export namespace StandaloneServices { } } diff --git a/vscode-patches/0010-fix-replace-amd-imports-by-regular-esm-dynamic-impor.patch b/vscode-patches/0010-fix-replace-amd-imports-by-regular-esm-dynamic-impor.patch index ee5e629c..7326ba4e 100644 --- a/vscode-patches/0010-fix-replace-amd-imports-by-regular-esm-dynamic-impor.patch +++ b/vscode-patches/0010-fix-replace-amd-imports-by-regular-esm-dynamic-impor.patch @@ -77,7 +77,7 @@ index 3d83476e176..a80f0b9a7f2 100644 } } diff --git a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts -index f78a087fbd8..ff945042251 100644 +index 93a50146bc1..bd91ef3829c 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @@ -79,7 +79,6 @@ import { IHistoryService } from '../../../services/history/common/history.js'; diff --git a/vscode-patches/0011-feat-export-some-classes-and-make-some-methods-acces.patch b/vscode-patches/0011-feat-export-some-classes-and-make-some-methods-acces.patch index 254bc198..009067a5 100644 --- a/vscode-patches/0011-feat-export-some-classes-and-make-some-methods-acces.patch +++ b/vscode-patches/0011-feat-export-some-classes-and-make-some-methods-acces.patch @@ -668,7 +668,7 @@ index fe3e69fb843..899d84dda0c 100644 declare readonly _serviceBrand: undefined; diff --git a/src/vs/workbench/services/terminal/common/embedderTerminalService.ts b/src/vs/workbench/services/terminal/common/embedderTerminalService.ts -index 0d0bd4f349d..ecb2d74906c 100644 +index 3665fe2bbe6..048e07d1380 100644 --- a/src/vs/workbench/services/terminal/common/embedderTerminalService.ts +++ b/src/vs/workbench/services/terminal/common/embedderTerminalService.ts @@ -52,7 +52,7 @@ export interface IEmbedderTerminalPty { diff --git a/vscode-patches/0014-fix-only-run-some-code-if-inside-the-worker.patch b/vscode-patches/0014-fix-only-run-some-code-if-inside-the-worker.patch index 5fdbe1ac..c0053f04 100644 --- a/vscode-patches/0014-fix-only-run-some-code-if-inside-the-worker.patch +++ b/vscode-patches/0014-fix-only-run-some-code-if-inside-the-worker.patch @@ -10,7 +10,7 @@ Subject: [PATCH] fix: only run some code if inside the worker 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/vs/workbench/api/common/extHostExtensionService.ts b/src/vs/workbench/api/common/extHostExtensionService.ts -index a0178f266d4..19f0c987d4f 100644 +index 36cec4d29bc..bb331f99909 100644 --- a/src/vs/workbench/api/common/extHostExtensionService.ts +++ b/src/vs/workbench/api/common/extHostExtensionService.ts @@ -43,7 +43,7 @@ import { Schemas } from '../../../base/common/network.js'; diff --git a/vscode-patches/0017-cleanup-remove-non-ESM-compatible-code.patch b/vscode-patches/0017-cleanup-remove-non-ESM-compatible-code.patch index 98b540de..e11b1e6d 100644 --- a/vscode-patches/0017-cleanup-remove-non-ESM-compatible-code.patch +++ b/vscode-patches/0017-cleanup-remove-non-ESM-compatible-code.patch @@ -8,7 +8,7 @@ Subject: [PATCH] cleanup: remove non-ESM compatible code 1 file changed, 18 deletions(-) diff --git a/src/vs/workbench/api/node/extensionHostProcess.ts b/src/vs/workbench/api/node/extensionHostProcess.ts -index bb0fb8eec64..4c45507aa82 100644 +index 50ef42e0a2f..b4b90326c3a 100644 --- a/src/vs/workbench/api/node/extensionHostProcess.ts +++ b/src/vs/workbench/api/node/extensionHostProcess.ts @@ -73,24 +73,6 @@ const args = minimist(process.argv.slice(2), { diff --git a/vscode-patches/0021-feat-only-apply-style-on-specific-class.patch b/vscode-patches/0021-feat-only-apply-style-on-specific-class.patch index 5c60db0e..e2167f09 100644 --- a/vscode-patches/0021-feat-only-apply-style-on-specific-class.patch +++ b/vscode-patches/0021-feat-only-apply-style-on-specific-class.patch @@ -10,10 +10,10 @@ Subject: [PATCH] feat: only apply style on specific class 3 files changed, 106 insertions(+), 102 deletions(-) diff --git a/src/vs/workbench/browser/media/style.css b/src/vs/workbench/browser/media/style.css -index 7537f9316e0..7450d3c463e 100644 +index 0d6a2da153b..b08a3d0f3d1 100644 --- a/src/vs/workbench/browser/media/style.css +++ b/src/vs/workbench/browser/media/style.css -@@ -9,53 +9,40 @@ +@@ -9,50 +9,37 @@ /* Font Families (with CJK support) */ @@ -82,6 +82,11 @@ index 7537f9316e0..7450d3c463e 100644 - overflow: hidden; color: var(--vscode-foreground); + position: relative; + + /* Elevation shadows */ + --vscode-shadow-sm: 0 0 4px rgba(0, 0, 0, 0.08); +@@ -67,7 +54,7 @@ body { + --vscode-shadow-depth-y: 0 5px 10px -4px rgba(0, 0, 0, 0.04); } -.monaco-workbench.web { @@ -89,7 +94,7 @@ index 7537f9316e0..7450d3c463e 100644 touch-action: none; /* Disable browser handling of all panning and zooming gestures. Removes 300ms touch delay. */ overscroll-behavior: none; /* Prevent bounce effect */ } -@@ -73,55 +60,56 @@ body { +@@ -85,55 +72,56 @@ body { border-radius: 16px; /* macOS Tahoe increased rounded corners size */ } @@ -160,7 +165,7 @@ index 7537f9316e0..7450d3c463e 100644 /* * Somehow this is required when tables show in floating windows * to override the user-agent style which sets a specific color -@@ -131,48 +119,48 @@ body { +@@ -143,48 +131,48 @@ body { font-size: inherit; } @@ -223,7 +228,7 @@ index 7537f9316e0..7450d3c463e 100644 width: 16px; padding-left: 3px; /* width (16px) - font-size (13px) = padding-left (3px) */ padding-right: 3px; -@@ -192,7 +180,7 @@ body { +@@ -204,7 +192,7 @@ body { /* Custom Dropdown (select) Arrows */ @@ -232,7 +237,7 @@ index 7537f9316e0..7450d3c463e 100644 font-family: inherit; appearance: none; -webkit-appearance: none; -@@ -201,11 +189,11 @@ body { +@@ -213,11 +201,11 @@ body { border: 1px solid; } @@ -246,7 +251,7 @@ index 7537f9316e0..7450d3c463e 100644 content: var(--vscode-icon-chevron-down-content); font-family: var(--vscode-icon-chevron-down-font-family); font-size: 16px; -@@ -222,16 +210,16 @@ body { +@@ -234,16 +222,16 @@ body { /* Keyboard Focus Indication Styles */ @@ -273,7 +278,7 @@ index 7537f9316e0..7450d3c463e 100644 outline-width: 1px; outline-style: solid; outline-offset: -1px; -@@ -244,19 +232,19 @@ body { +@@ -256,19 +244,19 @@ body { background: transparent; /* Search input focus fix when in high contrast */ } @@ -300,7 +305,7 @@ index 7537f9316e0..7450d3c463e 100644 border-color: transparent; /* outline is a square, but border has a radius, so we avoid this glitch when focused (https://github.com/microsoft/vscode/issues/26045) */ } -@@ -286,38 +274,38 @@ body { +@@ -298,38 +286,38 @@ body { color: var(--vscode-list-focusHighlightForeground); } diff --git a/vscode-patches/0025-fix-mark-process-supported-as-soon-as-there-is-a-reg.patch b/vscode-patches/0025-fix-mark-process-supported-as-soon-as-there-is-a-reg.patch index 30535e89..9958f3c7 100644 --- a/vscode-patches/0025-fix-mark-process-supported-as-soon-as-there-is-a-reg.patch +++ b/vscode-patches/0025-fix-mark-process-supported-as-soon-as-there-is-a-reg.patch @@ -10,7 +10,7 @@ Subject: [PATCH] fix: mark process supported as soon as there is a registered 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/vs/platform/terminal/common/terminal.ts b/src/vs/platform/terminal/common/terminal.ts -index dc7c596c346..78ac47f2c74 100644 +index 44e53e09a64..af6e52c8e17 100644 --- a/src/vs/platform/terminal/common/terminal.ts +++ b/src/vs/platform/terminal/common/terminal.ts @@ -3,7 +3,7 @@ @@ -22,7 +22,7 @@ index dc7c596c346..78ac47f2c74 100644 import { IProcessEnvironment, OperatingSystem } from '../../../base/common/platform.js'; import { URI, UriComponents } from '../../../base/common/uri.js'; import { createDecorator } from '../../instantiation/common/instantiation.js'; -@@ -1189,12 +1189,27 @@ export const TerminalExtensions = { +@@ -1190,12 +1190,27 @@ export const TerminalExtensions = { Backend: 'workbench.contributions.terminal.processBackend' }; @@ -50,7 +50,7 @@ index dc7c596c346..78ac47f2c74 100644 /** * Registers a terminal backend for a remote authority. */ -@@ -1211,21 +1226,20 @@ class TerminalBackendRegistry implements ITerminalBackendRegistry { +@@ -1212,21 +1227,20 @@ class TerminalBackendRegistry implements ITerminalBackendRegistry { get backends(): ReadonlyMap { return this._backends; } @@ -79,7 +79,7 @@ index dc7c596c346..78ac47f2c74 100644 } Registry.add(TerminalExtensions.Backend, new TerminalBackendRegistry()); diff --git a/src/vs/workbench/contrib/terminal/browser/terminalService.ts b/src/vs/workbench/contrib/terminal/browser/terminalService.ts -index 6107058afad..0a64387b570 100644 +index 1524e37ad3e..d42c56e737a 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalService.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalService.ts @@ -20,7 +20,7 @@ import { IContextKey, IContextKeyService } from '../../../../platform/contextkey diff --git a/vscode-patches/0037-refactor-split-workbench-contribution.patch b/vscode-patches/0037-refactor-split-workbench-contribution.patch index 68716fce..fb052887 100644 --- a/vscode-patches/0037-refactor-split-workbench-contribution.patch +++ b/vscode-patches/0037-refactor-split-workbench-contribution.patch @@ -167,7 +167,7 @@ index 9b12b00eb96..fb720cb8c0c 100644 + +registerWorkbenchContribution2(LanguageConfigurationWorkbenchContribution.ID, LanguageConfigurationWorkbenchContribution, WorkbenchPhase.BlockStartup); diff --git a/src/vs/workbench/services/themes/browser/cssExtensionPoint.ts b/src/vs/workbench/services/themes/browser/cssExtensionPoint.ts -index cdeca23bd2d..098f1357e6f 100644 +index 69b74111341..c9aa344ec35 100644 --- a/src/vs/workbench/services/themes/browser/cssExtensionPoint.ts +++ b/src/vs/workbench/services/themes/browser/cssExtensionPoint.ts @@ -16,6 +16,8 @@ import { createLinkElement } from '../../../../base/browser/dom.js'; @@ -179,7 +179,7 @@ index cdeca23bd2d..098f1357e6f 100644 interface ICSSExtensionPoint { path: string; -@@ -326,3 +328,16 @@ export class CSSExtensionPoint { +@@ -333,3 +335,16 @@ export class CSSExtensionPoint { this.disposables.dispose(); } } diff --git a/vscode-patches/0046-fix-stop-expecting-a-git-context.patch b/vscode-patches/0046-fix-stop-expecting-a-git-context.patch index 555167f5..8a616c6f 100644 --- a/vscode-patches/0046-fix-stop-expecting-a-git-context.patch +++ b/vscode-patches/0046-fix-stop-expecting-a-git-context.patch @@ -1,21 +1,32 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= -Date: Wed, 30 Oct 2024 17:47:38 +0100 +Date: Mon, 9 Mar 2026 15:25:24 +0100 Subject: [PATCH] fix: stop expecting a git context --- - build/npm/postinstall.ts | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + build/npm/postinstall.ts | 5 ----- + 1 file changed, 5 deletions(-) diff --git a/build/npm/postinstall.ts b/build/npm/postinstall.ts -index b6a934f74b3..9a20e65d782 100644 +index ae2651cd188..dae90461c5f 100644 --- a/build/npm/postinstall.ts +++ b/build/npm/postinstall.ts -@@ -216,5 +216,5 @@ for (const dir of dirs) { - npmInstall(dir, { env }); - } +@@ -210,8 +210,6 @@ async function runWithConcurrency(tasks: (() => Promise)[], concurrency: n + async function main() { + if (!process.env['VSCODE_FORCE_INSTALL'] && isUpToDate()) { + log('.', 'All dependencies up to date, skipping postinstall.'); +- child_process.execSync('git config pull.rebase merges'); +- child_process.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs'); + return; + } + +@@ -283,9 +281,6 @@ async function main() { + log('.', `Running ${parallelTasks.length} npm installs with concurrency ${concurrency}...`); + await runWithConcurrency(parallelTasks, concurrency); --child_process.execSync('git config pull.rebase merges'); --child_process.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs'); -+// child_process.execSync('git config pull.rebase merges'); -+// child_process.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs'); +- child_process.execSync('git config pull.rebase merges'); +- child_process.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs'); +- + fs.writeFileSync(stateFile, JSON.stringify(_state)); + fs.writeFileSync(stateContentsFile, JSON.stringify(computeContents())); + } diff --git a/vscode-patches/0047-fix-extract-constants-into-separate-module.patch b/vscode-patches/0047-fix-extract-constants-into-separate-module.patch index 5a33ff65..1286d651 100644 --- a/vscode-patches/0047-fix-extract-constants-into-separate-module.patch +++ b/vscode-patches/0047-fix-extract-constants-into-separate-module.patch @@ -17,7 +17,7 @@ so that only the constant is pulled from the root instead of the whole module gr create mode 100644 src/vs/workbench/contrib/chat/browser/widget/input/editor/chatDynamicVariablesConstant.ts diff --git a/src/vs/workbench/api/browser/mainThreadChatAgents2.ts b/src/vs/workbench/api/browser/mainThreadChatAgents2.ts -index 4fdf590d553..37a48760d65 100644 +index 9459b611a98..bf7ed492b96 100644 --- a/src/vs/workbench/api/browser/mainThreadChatAgents2.ts +++ b/src/vs/workbench/api/browser/mainThreadChatAgents2.ts @@ -24,11 +24,10 @@ import { IInstantiationService } from '../../../platform/instantiation/common/in @@ -33,16 +33,16 @@ index 4fdf590d553..37a48760d65 100644 import { IChatModel } from '../../contrib/chat/common/model/chatModel.js'; import { ChatRequestAgentPart } from '../../contrib/chat/common/requestParser/chatParserTypes.js'; import { ChatRequestParser } from '../../contrib/chat/common/requestParser/chatRequestParser.js'; -@@ -41,6 +40,8 @@ import { IExtensionService } from '../../services/extensions/common/extensions.j +@@ -42,6 +41,8 @@ import { IExtensionService } from '../../services/extensions/common/extensions.j import { Dto } from '../../services/extensions/common/proxyIdentifier.js'; - import { ExtHostChatAgentsShape2, ExtHostContext, IChatNotebookEditDto, IChatParticipantMetadata, IChatProgressDto, IChatSessionContextDto, IDynamicChatAgentProps, IExtensionChatAgentMetadata, MainContext, MainThreadChatAgentsShape2 } from '../common/extHost.protocol.js'; + import { ExtHostChatAgentsShape2, ExtHostContext, IChatNotebookEditDto, IChatParticipantMetadata, IChatProgressDto, IChatSessionContextDto, ICustomAgentDto, IDynamicChatAgentProps, IExtensionChatAgentMetadata, IInstructionDto, ISkillDto, MainContext, MainThreadChatAgentsShape2 } from '../common/extHost.protocol.js'; import { NotebookDto } from './mainThreadNotebookDto.js'; +import { addDynamicVariableActionId } from '../../contrib/chat/browser/widget/input/editor/chatDynamicVariablesConstant.js'; +import { AgentSessionProviders, getAgentSessionProvider } from '../../contrib/chat/browser/agentSessions/agentSessions.js'; interface AgentData { dispose: () => void; -@@ -482,7 +483,7 @@ export class MainThreadChatAgents2 extends Disposable implements MainThreadChatA +@@ -531,7 +532,7 @@ export class MainThreadChatAgents2 extends Disposable implements MainThreadChatA kind: CompletionItemKind.Text, detail: v.detail, documentation: v.documentation, diff --git a/vscode-patches/0052-feat-support-configuring-worker-options.patch b/vscode-patches/0052-feat-support-configuring-worker-options.patch index 209731fe..26e03e1f 100644 --- a/vscode-patches/0052-feat-support-configuring-worker-options.patch +++ b/vscode-patches/0052-feat-support-configuring-worker-options.patch @@ -73,7 +73,7 @@ index 1ff3fb838d9..6400775c42d 100644 + } } diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts -index ce6731adeb7..0959c675e1b 100644 +index fc9c2da70f5..f7007bbf78f 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -24,12 +24,16 @@ declare namespace monaco { diff --git a/vscode-patches/0056-fix-break-cyclic-dependency.patch b/vscode-patches/0056-fix-break-cyclic-dependency.patch index 3edd25f6..c319011d 100644 --- a/vscode-patches/0056-fix-break-cyclic-dependency.patch +++ b/vscode-patches/0056-fix-break-cyclic-dependency.patch @@ -5,12 +5,11 @@ Subject: [PATCH] fix: break cyclic dependency --- .../contrib/chat/browser/newChatContextAttachments.ts | 4 ++-- - .../contrib/chat/browser/chatWindowNotifier.ts | 3 ++- .../contrib/tasks/browser/task.contribution.ts | 3 ++- .../contrib/tasks/browser/terminalTaskSystem.ts | 3 ++- src/vs/workbench/contrib/tasks/common/constants.ts | 11 +++++++++++ src/vs/workbench/contrib/tasks/common/tasks.ts | 9 +-------- - 6 files changed, 20 insertions(+), 13 deletions(-) + 5 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 src/vs/workbench/contrib/tasks/common/constants.ts diff --git a/src/vs/sessions/contrib/chat/browser/newChatContextAttachments.ts b/src/vs/sessions/contrib/chat/browser/newChatContextAttachments.ts @@ -28,20 +27,6 @@ index a7440dfc691..1f6674c7b74 100644 import { CodeDataTransfers, containsDragType, extractEditorsDropData, getPathForFile } from '../../../../platform/dnd/browser/dnd.js'; import { DataTransfers } from '../../../../base/browser/dnd.js'; import { getExcludes, ISearchConfiguration, ISearchService, QueryType } from '../../../../workbench/services/search/common/search.js'; -diff --git a/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.ts b/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.ts -index abece4b0a87..bd4006094da 100644 ---- a/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.ts -+++ b/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.ts -@@ -19,7 +19,8 @@ import { IChatModel, IChatRequestNeedsInputInfo } from '../common/model/chatMode - import { IChatService } from '../common/chatService/chatService.js'; - import { ChatConfiguration, ChatNotificationMode } from '../common/constants.js'; - import { IChatWidgetService } from './chat.js'; --import { AcceptToolConfirmationActionId, IToolConfirmationActionContext } from './actions/chatToolActions.js'; -+import { IToolConfirmationActionContext } from './actions/chatToolActions.js'; -+import { AcceptToolConfirmationActionId } from './actions/chatConstants.js'; - - /** - * Observes all live chat models and triggers OS notifications when any model diff --git a/src/vs/workbench/contrib/tasks/browser/task.contribution.ts b/src/vs/workbench/contrib/tasks/browser/task.contribution.ts index 4fa7237b82f..03e2d2bb6c9 100644 --- a/src/vs/workbench/contrib/tasks/browser/task.contribution.ts diff --git a/vscode-patches/0060-feat-support-shadow-dom.patch b/vscode-patches/0060-feat-support-shadow-dom.patch index 15d6bb92..abc2166f 100644 --- a/vscode-patches/0060-feat-support-shadow-dom.patch +++ b/vscode-patches/0060-feat-support-shadow-dom.patch @@ -621,10 +621,10 @@ index c5226cb273f..08f5ace9b37 100644 this._configurationService.getValue('accessibility.verbosity.hover') === true && this._accessibilityService.isScreenReaderOptimized(), this._keybindingService.lookupKeybinding('editor.action.accessibleView')?.getAriaLabel() ?? '' diff --git a/src/vs/platform/actionWidget/browser/actionList.ts b/src/vs/platform/actionWidget/browser/actionList.ts -index a871c7a2b8f..5c9f63d09aa 100644 +index 71f8ee665a2..8603ee1915c 100644 --- a/src/vs/platform/actionWidget/browser/actionList.ts +++ b/src/vs/platform/actionWidget/browser/actionList.ts -@@ -1058,8 +1058,11 @@ export class ActionList extends Disposable { +@@ -1068,8 +1068,11 @@ export class ActionList extends Disposable { } private _getRowElement(index: number): HTMLElement | null { @@ -832,10 +832,10 @@ index 7796aae8a15..1c304a11a9e 100644 private createPart(id: string, role: string, classes: string[]): HTMLElement { diff --git a/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts b/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts -index 1502fd80234..a7f70af0505 100644 +index 9eb316cb94b..ccfa5bf52bf 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts -@@ -2534,7 +2534,7 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge +@@ -2623,7 +2623,7 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge return; } @@ -1044,10 +1044,10 @@ index c1bd907895e..15ccbe7740c 100644 preferencesEditor.focusSettings(true); } diff --git a/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts b/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts -index 19d87307110..085a958367f 100644 +index 76b4bbb9c16..ac8e35c891c 100644 --- a/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts +++ b/src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts -@@ -1156,7 +1156,7 @@ export class SettingsEditor2 extends EditorPane { +@@ -1153,7 +1153,7 @@ export class SettingsEditor2 extends EditorPane { })); this._register(this.settingsTree.onDidFocus(() => { @@ -1056,7 +1056,7 @@ index 19d87307110..085a958367f 100644 if (classList && classList.contains('monaco-list') && classList.contains('settings-editor-tree')) { this._currentFocusContext = SettingsFocusContext.SettingTree; this.settingRowFocused.set(true); -@@ -1626,7 +1626,7 @@ export class SettingsEditor2 extends EditorPane { +@@ -1623,7 +1623,7 @@ export class SettingsEditor2 extends EditorPane { private getActiveControlInSettingsTree(): HTMLElement | null { const element = this.settingsTree.getHTMLElement(); @@ -1065,7 +1065,7 @@ index 19d87307110..085a958367f 100644 return (activeElement && DOM.isAncestorOfActiveElement(element)) ? activeElement : null; -@@ -1691,7 +1691,7 @@ export class SettingsEditor2 extends EditorPane { +@@ -1688,7 +1688,7 @@ export class SettingsEditor2 extends EditorPane { } private contextViewFocused(): boolean { @@ -1088,10 +1088,10 @@ index 7a3dd584458..b58e3170ff1 100644 const listener = this._register(Event.once(this._terminalService.onDidChangeConnectionState)(() => { // Only focus the terminal if the activeElement has not changed since focus() was called diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts -index 9a745727415..32b87509ab3 100644 +index 01632bee153..5de97fb0d2c 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts -@@ -335,7 +335,7 @@ export class TerminalViewPane extends ViewPane { +@@ -342,7 +342,7 @@ export class TerminalViewPane extends ViewPane { // If the terminal is waiting to reconnect to remote terminals, then there is no TerminalInstance yet that can // be focused. So wait for connection to finish, then focus. @@ -1214,7 +1214,7 @@ index 1245acce54c..a2312b0d332 100644 return; } diff --git a/src/vs/workbench/services/themes/browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/browser/workbenchThemeService.ts -index 1a4648762e3..f3d8bf70a12 100644 +index a7911a94161..9909ae36ce5 100644 --- a/src/vs/workbench/services/themes/browser/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/browser/workbenchThemeService.ts @@ -781,7 +781,7 @@ class ThemeFileWatcher { diff --git a/vscode-patches/0064-fix-break-cyclic-dependency.patch b/vscode-patches/0064-fix-break-cyclic-dependency.patch index f1a4d603..d85835c9 100644 --- a/vscode-patches/0064-fix-break-cyclic-dependency.patch +++ b/vscode-patches/0064-fix-break-cyclic-dependency.patch @@ -44,17 +44,19 @@ index 6ce67486a58..17e137b5eb0 100644 +export const SkipToolPostConfirmationActionId = 'workbench.action.chat.skipToolPostExecution'; diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatContext.ts b/src/vs/workbench/contrib/chat/browser/actions/chatContext.ts -index fb17967129b..04e97d0bf2d 100644 +index 6401df034be..e1fe343e9a6 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatContext.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatContext.ts -@@ -23,12 +23,13 @@ import { IChatContextPickService, IChatContextValueItem, IChatContextPickerItem, +@@ -23,7 +23,7 @@ import { IChatContextPickService, IChatContextValueItem, IChatContextPickerItem, import { IChatRequestToolEntry, IChatRequestToolSetEntry, IChatRequestVariableEntry, IImageVariableEntry, toToolSetVariableEntry, toToolVariableEntry } from '../../common/attachments/chatVariableEntries.js'; - import { isToolSet, ToolDataSource } from '../../common/tools/languageModelToolsService.js'; - import { IChatWidget } from '../chat.js'; + import { ILanguageModelToolsService, isToolSet, ToolDataSource } from '../../common/tools/languageModelToolsService.js'; + import { IChatWidget, IChatWidgetService } from '../chat.js'; -import { imageToHash, isImage } from '../widget/input/editor/chatPasteProviders.js'; +import { isImage } from '../widget/input/editor/chatPasteProviders.js'; import { convertBufferToScreenshotVariable } from '../attachments/chatScreenshotContext.js'; import { ChatInstructionsPickerPick } from '../promptSyntax/attachInstructionsAction.js'; + import { createDebugEventsAttachment } from '../chatDebug/chatDebugAttachment.js'; +@@ -33,6 +33,7 @@ import { IContextKeyService } from '../../../../../platform/contextkey/common/co import { ITerminalService } from '../../../terminal/browser/terminal.js'; import { URI } from '../../../../../base/common/uri.js'; import { ITerminalCommand, TerminalCapability } from '../../../../../platform/terminal/common/capabilities/capabilities.js'; @@ -63,7 +65,7 @@ index fb17967129b..04e97d0bf2d 100644 export class ChatContextContributions extends Disposable implements IWorkbenchContribution { diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.ts -index 7afcbdd62aa..0e26a0c87f1 100644 +index a144b617853..339e08462fb 100644 --- a/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.ts +++ b/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.ts @@ -23,6 +23,7 @@ import { ChatModeKind } from '../../common/constants.js'; @@ -140,10 +142,10 @@ index 2386b799b6c..20a0e19c1be 100644 import { ChatCustomConfirmationWidget, IChatConfirmationButton } from '../chatConfirmationWidget.js'; import { EditorPool } from '../chatContentCodePools.js'; diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts -index 4d442375562..3e0faf8b0f5 100644 +index 93eb27ff036..1b8b54727c8 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts -@@ -25,7 +25,7 @@ import { IChatToolInvocation, ToolConfirmKind } from '../../../../common/chatSer +@@ -24,7 +24,7 @@ import { IChatToolInvocation, ToolConfirmKind } from '../../../../common/chatSer import { CodeBlockModelCollection } from '../../../../common/widget/codeBlockModelCollection.js'; import { createToolInputUri, createToolSchemaUri, ILanguageModelToolsService, IToolConfirmationMessages } from '../../../../common/tools/languageModelToolsService.js'; import { ILanguageModelToolsConfirmationService } from '../../../../common/tools/languageModelToolsConfirmationService.js'; @@ -166,19 +168,19 @@ index da2b868f353..2aa997b77a8 100644 import { IChatContentPartRenderContext } from '../chatContentParts.js'; import { ChatCollapsibleIOPart } from '../chatToolInputOutputContentPart.js'; diff --git a/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.ts b/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.ts -index 65089b20200..99564aefe58 100644 +index eafcf7aa1c6..977848bebe6 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatPasteProviders.ts -@@ -27,7 +27,7 @@ import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry } from '../.. - import { IChatVariablesService, IDynamicVariable } from '../../../../common/attachments/chatVariables.js'; +@@ -28,7 +28,7 @@ import { IDynamicVariable } from '../../../../common/attachments/chatVariables.j import { IChatWidgetService } from '../../../chat.js'; + import { getDynamicVariablesForWidget } from '../../../attachments/chatVariables.js'; import { ChatDynamicVariableModel } from '../../../attachments/chatDynamicVariables.js'; -import { cleanupOldImages, createFileForMedia, resizeImage } from '../../../chatImageUtils.js'; +import { cleanupOldImages, createFileForMedia, imageToHash, resizeImage } from '../../../chatImageUtils.js'; const COPY_MIME_TYPES = 'application/vnd.code.additional-editor-data'; -@@ -147,12 +147,6 @@ async function getImageAttachContext(data: Uint8Array, mimeType: string, token: +@@ -148,12 +148,6 @@ async function getImageAttachContext(data: Uint8Array, mimeType: string, token: }; } diff --git a/vscode-patches/0065-feat-allow-to-override-product-icon.patch b/vscode-patches/0065-feat-allow-to-override-product-icon.patch index b925c295..bd73b60f 100644 --- a/vscode-patches/0065-feat-allow-to-override-product-icon.patch +++ b/vscode-patches/0065-feat-allow-to-override-product-icon.patch @@ -13,10 +13,10 @@ Subject: [PATCH] feat: allow to override product icon 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build/lib/stylelint/vscode-known-variables.json b/build/lib/stylelint/vscode-known-variables.json -index 9e2eea3b858..e92476e4d31 100644 +index 29a3d47d232..67436a63397 100644 --- a/build/lib/stylelint/vscode-known-variables.json +++ b/build/lib/stylelint/vscode-known-variables.json -@@ -1020,7 +1020,8 @@ +@@ -1030,7 +1030,8 @@ "--vscode-inline-chat-affordance-height", "--collapse-from-width", "--slide-from-x", @@ -40,10 +40,10 @@ index a0de81f24eb..c71af404312 100644 padding: 0; margin: 0 6px 0 10px; diff --git a/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css b/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css -index 454939c8afc..d599c0a1505 100644 +index a2c1090f9d1..f5234dd2f21 100644 --- a/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css +++ b/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css -@@ -270,7 +270,7 @@ +@@ -272,7 +272,7 @@ } .monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon:not(.codicon) { diff --git a/vscode-patches/0067-feat-support-loading-VSCode-in-an-iframe.patch b/vscode-patches/0067-feat-support-loading-VSCode-in-an-iframe.patch index fdf97869..ef8adad1 100644 --- a/vscode-patches/0067-feat-support-loading-VSCode-in-an-iframe.patch +++ b/vscode-patches/0067-feat-support-loading-VSCode-in-an-iframe.patch @@ -714,10 +714,10 @@ index bff3f2cf1b0..3a62a16bdf2 100644 if (timeoutDisposables) { dispose(timeoutDisposables); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.ts -index 4255c82e1d1..0664da44aad 100644 +index 8f388e7ebb5..5747d07071a 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.ts -@@ -14,7 +14,7 @@ import { coalesce } from '../../../../../../base/common/arrays.js'; +@@ -15,7 +15,7 @@ import { coalesce } from '../../../../../../base/common/arrays.js'; import { findLast } from '../../../../../../base/common/arraysFind.js'; import { Codicon } from '../../../../../../base/common/codicons.js'; import { Lazy } from '../../../../../../base/common/lazy.js'; @@ -726,7 +726,7 @@ index 4255c82e1d1..0664da44aad 100644 import { Emitter, Event } from '../../../../../../base/common/event.js'; import { autorun, autorunSelfDisposable, derived } from '../../../../../../base/common/observable.js'; import { ScrollbarVisibility } from '../../../../../../base/common/scrollable.js'; -@@ -62,6 +62,7 @@ import { IDisposableReference } from './chatCollections.js'; +@@ -63,6 +63,7 @@ import { IDisposableReference } from './chatCollections.js'; import { EditorPool } from './chatContentCodePools.js'; import { IChatContentPart, IChatContentPartRenderContext } from './chatContentParts.js'; import { ChatExtensionsContentPart } from './chatExtensionsContentPart.js'; @@ -734,7 +734,7 @@ index 4255c82e1d1..0664da44aad 100644 import './media/chatMarkdownPart.css'; const $ = dom.$; -@@ -350,9 +351,8 @@ export class ChatMarkdownContentPart extends Disposable implements IChatContentP +@@ -351,9 +352,8 @@ export class ChatMarkdownContentPart extends Disposable implements IChatContentP store.add(markdownDecorationsRenderer.walkTreeAndAnnotateReferenceLinks(markdown, result.element)); const layoutParticipants = new Lazy(() => { @@ -746,18 +746,18 @@ index 4255c82e1d1..0664da44aad 100644 }); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts -index b47f7312a4c..78ecce0e898 100644 +index d695b515e88..8e0cf4c6659 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts -@@ -34,6 +34,7 @@ import { ChatMessageRole, ILanguageModelsService } from '../../../common/languag - import { ExtensionIdentifier } from '../../../../../../platform/extensions/common/extensions.js'; +@@ -34,6 +34,7 @@ import { IChatMarkdownAnchorService } from './chatMarkdownAnchorService.js'; + import { ChatMessageRole, ILanguageModelsService } from '../../../common/languageModels.js'; import './media/chatThinkingContent.css'; import { IHoverService } from '../../../../../../platform/hover/browser/hover.js'; +import { mainWindow } from '../../../../../../base/browser/window.js'; function extractTextFromPart(content: IChatThinkingPart): string { -@@ -405,7 +406,7 @@ export class ChatThinkingContentPart extends ChatCollapsibleContentPart implemen +@@ -407,7 +408,7 @@ export class ChatThinkingContentPart extends ChatCollapsibleContentPart implemen this._register(this.scrollableElement.onScroll(e => this.handleScroll(e.scrollTop))); // check for content changes to update scroll dimensions @@ -767,10 +767,10 @@ index b47f7312a4c..78ecce0e898 100644 this.syncDimensionsAndScheduleScroll(); } diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts -index d864ae17d5a..b52213ed251 100644 +index 4fc2868f40f..23ebcb6239b 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts -@@ -934,9 +934,8 @@ class ChatTerminalToolOutputSection extends Disposable { +@@ -1018,9 +1018,8 @@ class ChatTerminalToolOutputSection extends Disposable { this._register(dom.addDisposableListener(this.domNode, dom.EventType.FOCUS_IN, () => this._onDidFocusEmitter.fire())); this._register(dom.addDisposableListener(this.domNode, dom.EventType.FOCUS_OUT, event => this._onDidBlurEmitter.fire(event))); diff --git a/vscode-patches/0069-feat-centralize-element-creation-to-be-able-to-creat.patch b/vscode-patches/0069-feat-centralize-element-creation-to-be-able-to-creat.patch index b757c70f..af954743 100644 --- a/vscode-patches/0069-feat-centralize-element-creation-to-be-able-to-creat.patch +++ b/vscode-patches/0069-feat-centralize-element-creation-to-be-able-to-creat.patch @@ -102,6 +102,7 @@ Subject: [PATCH] feat: centralize element creation, to be able to create them .../imageResize/browser/imageResizeService.ts | 3 +- .../markdown/browser/markdownRenderer.ts | 3 +- src/vs/sessions/browser/workbench.ts | 8 ++-- + .../accountMenu/browser/updateHoverWidget.ts | 19 ++++---- .../agentFeedbackEditorInputContribution.ts | 10 ++-- .../browser/agentFeedbackEditorOverlay.ts | 7 +-- .../api/browser/mainThreadCodeInsets.ts | 4 +- @@ -125,6 +126,7 @@ Subject: [PATCH] feat: centralize element creation, to be able to create them .../contrib/chat/browser/chatImageUtils.ts | 3 +- .../chatAgentCommandContentPart.ts | 5 +- .../chatConfirmationWidget.ts | 2 +- + .../chatMarkdownTableScrolling.ts | 2 +- .../chatToolInputOutputContentPart.ts | 2 +- .../chatTerminalToolProgressPart.ts | 4 +- .../chatToolConfirmationSubPart.ts | 2 +- @@ -200,7 +202,7 @@ Subject: [PATCH] feat: centralize element creation, to be able to create them .../browser/webWorkerExtensionHost.ts | 2 +- .../host/browser/browserHostService.ts | 6 +-- .../test/browser/workbenchTestServices.ts | 4 +- - 195 files changed, 631 insertions(+), 555 deletions(-) + 197 files changed, 642 insertions(+), 565 deletions(-) diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index 6875f575f8b..3c0e801493e 100644 @@ -822,7 +824,7 @@ index 6e29b67c503..4c15ce330de 100644 const transformOptimization = options.transformOptimization ?? DefaultOptions.transformOptimization; diff --git a/src/vs/base/browser/ui/menu/menu.ts b/src/vs/base/browser/ui/menu/menu.ts -index c747ea1cd87..d691a1c5eca 100644 +index 500b0614ade..5f606cb92fe 100644 --- a/src/vs/base/browser/ui/menu/menu.ts +++ b/src/vs/base/browser/ui/menu/menu.ts @@ -5,7 +5,7 @@ @@ -990,10 +992,10 @@ index f5b7f333ba5..e592da82707 100644 } const scheduleRepeater = () => { diff --git a/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts b/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts -index f6c2ff1cb4f..c41c73544a0 100644 +index b7cbca15250..ededaaa395f 100644 --- a/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts +++ b/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts -@@ -124,7 +124,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi +@@ -132,7 +132,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi this.selectBoxOptions.minBottomMargin = 0; } @@ -1002,7 +1004,7 @@ index f6c2ff1cb4f..c41c73544a0 100644 this.selectElement.className = 'monaco-select-box'; if (typeof this.selectBoxOptions.ariaLabel === 'string') { -@@ -181,7 +181,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi +@@ -189,7 +189,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi // Create span flex box item/div we can measure and control const widthControlOuterDiv = dom.append(this.selectDropDownContainer, $('.select-box-dropdown-container-width-control')); const widthControlInnerDiv = dom.append(widthControlOuterDiv, $('.width-control-div')); @@ -1011,7 +1013,7 @@ index f6c2ff1cb4f..c41c73544a0 100644 this.widthControlElement.className = 'option-text-width-control'; dom.append(widthControlInnerDiv, this.widthControlElement); -@@ -435,7 +435,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi +@@ -441,7 +441,7 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi } private createOption(value: string, index: number, disabled?: boolean): HTMLOptionElement { @@ -1021,7 +1023,7 @@ index f6c2ff1cb4f..c41c73544a0 100644 option.text = value; option.disabled = !!disabled; diff --git a/src/vs/base/browser/ui/selectBox/selectBoxNative.ts b/src/vs/base/browser/ui/selectBox/selectBoxNative.ts -index 9eebae7dbb1..0b85d0c168c 100644 +index 0c7ac5bcb35..3eb20bd3623 100644 --- a/src/vs/base/browser/ui/selectBox/selectBoxNative.ts +++ b/src/vs/base/browser/ui/selectBox/selectBoxNative.ts @@ -27,7 +27,7 @@ export class SelectBoxNative extends Disposable implements ISelectBoxDelegate { @@ -1036,12 +1038,12 @@ index 9eebae7dbb1..0b85d0c168c 100644 @@ -180,7 +180,7 @@ export class SelectBoxNative extends Disposable implements ISelectBoxDelegate { } - private createOption(value: string, index: number, disabled?: boolean): HTMLOptionElement { + private createOption(value: string, index: number, disabled?: boolean, isSeparator?: boolean): HTMLOptionElement { - const option = document.createElement('option'); + const option = dom.createElement('option'); option.value = value; option.text = value; - option.disabled = !!disabled; + option.disabled = !!disabled || !!isSeparator; diff --git a/src/vs/base/browser/ui/splitview/splitview.ts b/src/vs/base/browser/ui/splitview/splitview.ts index 0da8fa62431..fbeeb46868d 100644 --- a/src/vs/base/browser/ui/splitview/splitview.ts @@ -1409,7 +1411,7 @@ index a04ad8ed1ca..b5e14b76c54 100644 ret.style.position = 'absolute'; ret.style.zIndex = '999999999'; diff --git a/src/vs/editor/browser/controller/editContext/native/nativeEditContext.ts b/src/vs/editor/browser/controller/editContext/native/nativeEditContext.ts -index 88d97714e7c..c558b7efcaf 100644 +index 528a8e0f590..384a837fb76 100644 --- a/src/vs/editor/browser/controller/editContext/native/nativeEditContext.ts +++ b/src/vs/editor/browser/controller/editContext/native/nativeEditContext.ts @@ -5,7 +5,7 @@ @@ -1421,7 +1423,7 @@ index 88d97714e7c..c558b7efcaf 100644 import { FastDomNode } from '../../../../../base/browser/fastDomNode.js'; import { StandardKeyboardEvent } from '../../../../../base/browser/keyboardEvent.js'; import { KeyCode } from '../../../../../base/common/keyCodes.js'; -@@ -84,9 +84,9 @@ export class NativeEditContext extends AbstractEditContext { +@@ -85,9 +85,9 @@ export class NativeEditContext extends AbstractEditContext { ) { super(context); @@ -3176,7 +3178,7 @@ index dddb6f8f059..49268f649d0 100644 this.codeEditor.addOverlayWidget(this); } diff --git a/src/vs/platform/actionWidget/browser/actionList.ts b/src/vs/platform/actionWidget/browser/actionList.ts -index 5c9f63d09aa..51e8766cab6 100644 +index 8603ee1915c..65302b0d467 100644 --- a/src/vs/platform/actionWidget/browser/actionList.ts +++ b/src/vs/platform/actionWidget/browser/actionList.ts @@ -133,7 +133,7 @@ class HeaderRenderer implements IListRenderer, IHeaderTemp @@ -3228,16 +3230,16 @@ index 5c9f63d09aa..51e8766cab6 100644 toolbar.className = 'action-list-item-toolbar'; container.append(toolbar); -@@ -429,7 +429,7 @@ export class ActionList extends Disposable { +@@ -435,7 +435,7 @@ export class ActionList extends Disposable { @IOpenerService private readonly _openerService: IOpenerService, ) { super(); - this.domNode = document.createElement('div'); + this.domNode = dom.createElement('div'); this.domNode.classList.add('actionList'); - - // Initialize collapsed sections -@@ -504,10 +504,10 @@ export class ActionList extends Disposable { + if (this._options?.descriptionBelow) { + this.domNode.classList.add('description-below'); +@@ -514,10 +514,10 @@ export class ActionList extends Disposable { // Create filter input if (this._options?.showFilter) { @@ -3352,7 +3354,7 @@ index 1217633b485..030307e508f 100644 } diff --git a/src/vs/sessions/browser/workbench.ts b/src/vs/sessions/browser/workbench.ts -index 24b0d19b0d4..2982385d9a7 100644 +index b54a7e6a0d9..4ea1f94ed50 100644 --- a/src/vs/sessions/browser/workbench.ts +++ b/src/vs/sessions/browser/workbench.ts @@ -7,7 +7,7 @@ import '../../workbench/browser/style.js'; @@ -3364,7 +3366,7 @@ index 24b0d19b0d4..2982385d9a7 100644 import { DeferredPromise, RunOnceScheduler } from '../../base/common/async.js'; import { isFullscreen, onDidChangeFullscreen, isChrome, isFirefox, isSafari } from '../../base/browser/browser.js'; import { mark } from '../../base/common/performance.js'; -@@ -158,7 +158,7 @@ export class Workbench extends Disposable implements IWorkbenchLayoutService { +@@ -159,7 +159,7 @@ export class Workbench extends Disposable implements IWorkbenchLayoutService { //#region Properties @@ -3373,7 +3375,7 @@ index 24b0d19b0d4..2982385d9a7 100644 get activeContainer(): HTMLElement { return this.getContainerFromDocument(getActiveDocument()); -@@ -572,7 +572,7 @@ export class Workbench extends Disposable implements IWorkbenchLayoutService { +@@ -573,7 +573,7 @@ export class Workbench extends Disposable implements IWorkbenchLayoutService { } private createPartContainer(id: string, role: string, classes: string[]): HTMLElement { @@ -3382,7 +3384,7 @@ index 24b0d19b0d4..2982385d9a7 100644 part.classList.add('part', ...classes); part.id = id; part.setAttribute('role', role); -@@ -580,7 +580,7 @@ export class Workbench extends Disposable implements IWorkbenchLayoutService { +@@ -581,7 +581,7 @@ export class Workbench extends Disposable implements IWorkbenchLayoutService { } private createHiddenEditorPart(): void { @@ -3391,8 +3393,81 @@ index 24b0d19b0d4..2982385d9a7 100644 editorPartContainer.classList.add('part', 'editor'); editorPartContainer.id = Parts.EDITOR_PART; editorPartContainer.setAttribute('role', 'main'); +diff --git a/src/vs/sessions/contrib/accountMenu/browser/updateHoverWidget.ts b/src/vs/sessions/contrib/accountMenu/browser/updateHoverWidget.ts +index fc80636b0a8..7c1a564d1e7 100644 +--- a/src/vs/sessions/contrib/accountMenu/browser/updateHoverWidget.ts ++++ b/src/vs/sessions/contrib/accountMenu/browser/updateHoverWidget.ts +@@ -8,6 +8,7 @@ import { localize } from '../../../../nls.js'; + import { IHoverService } from '../../../../platform/hover/browser/hover.js'; + import { IProductService } from '../../../../platform/product/common/productService.js'; + import { Downloading, IUpdate, IUpdateService, State, StateType, Updating } from '../../../../platform/update/common/update.js'; ++import * as dom from '../../../../base/browser/dom.js'; + import './media/updateHoverWidget.css'; + + export class UpdateHoverWidget { +@@ -38,20 +39,20 @@ export class UpdateHoverWidget { + const targetCommit = update?.version; + const progressPercent = this.getUpdateProgressPercent(state); + +- const container = document.createElement('div'); ++ const container = dom.createElement('div'); + container.classList.add('sessions-update-hover'); + + // Header: e.g. "Downloading VS Code Insiders" +- const header = document.createElement('div'); ++ const header = dom.createElement('div'); + header.classList.add('sessions-update-hover-header'); + header.textContent = this.getUpdateHeaderLabel(state.type); + container.appendChild(header); + + // Progress bar + if (progressPercent !== undefined) { +- const progressTrack = document.createElement('div'); ++ const progressTrack = dom.createElement('div'); + progressTrack.classList.add('sessions-update-hover-progress-track'); +- const progressFill = document.createElement('div'); ++ const progressFill = dom.createElement('div'); + progressFill.classList.add('sessions-update-hover-progress-fill'); + progressFill.style.width = `${progressPercent}%`; + progressTrack.appendChild(progressFill); +@@ -59,7 +60,7 @@ export class UpdateHoverWidget { + } + + // Version info grid +- const detailsGrid = document.createElement('div'); ++ const detailsGrid = dom.createElement('div'); + detailsGrid.classList.add('sessions-update-hover-grid'); + + const currentDate = this.productService.date ? new Date(this.productService.date) : undefined; +@@ -75,22 +76,22 @@ export class UpdateHoverWidget { + } + + private appendGridRow(grid: HTMLElement, label: string, version: string, age?: string, commit?: string): void { +- const labelEl = document.createElement('span'); ++ const labelEl = dom.createElement('span'); + labelEl.classList.add('sessions-update-hover-label'); + labelEl.textContent = label; + grid.appendChild(labelEl); + +- const versionEl = document.createElement('span'); ++ const versionEl = dom.createElement('span'); + versionEl.classList.add('sessions-update-hover-version'); + versionEl.textContent = version; + grid.appendChild(versionEl); + +- const ageEl = document.createElement('span'); ++ const ageEl = dom.createElement('span'); + ageEl.classList.add('sessions-update-hover-age'); + ageEl.textContent = age ?? ''; + grid.appendChild(ageEl); + +- const commitEl = document.createElement('span'); ++ const commitEl = dom.createElement('span'); + commitEl.classList.add('sessions-update-hover-commit'); + commitEl.textContent = commit ? commit.substring(0, 7) : ''; + grid.appendChild(commitEl); diff --git a/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackEditorInputContribution.ts b/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackEditorInputContribution.ts -index 707a1090912..11f9079f7ab 100644 +index dc2434cfb45..65efabde321 100644 --- a/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackEditorInputContribution.ts +++ b/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackEditorInputContribution.ts @@ -11,7 +11,7 @@ import { EditorContributionInstantiation, registerEditorContribution } from '../ @@ -3545,7 +3620,7 @@ index ba678499fec..3b28dfead7d 100644 dom.append(container, this.domNode); diff --git a/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts b/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts -index 198f156d196..0d619a16e49 100644 +index db602f7d37a..faee40bcefd 100644 --- a/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts +++ b/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts @@ -31,6 +31,7 @@ import { IOutline, IOutlineComparator } from '../../../services/outline/browser/ @@ -4119,6 +4194,19 @@ index bc263ce4408..b8b309467d9 100644 wrapper.appendChild(renderedTitle.element); element.append(wrapper); } +diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.ts +index 517fe538dc6..6d6d0aeb793 100644 +--- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.ts ++++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.ts +@@ -38,7 +38,7 @@ export function wrapTablesWithScrollable(domNode: HTMLElement, layoutParticipant + // to its content width, so clientWidth == scrollWidth and no scrollbar appears. + const parent = table.parentElement; + const nextSibling = table.nextSibling; +- const tableContainer = document.createElement('div'); ++ const tableContainer = dom.createElement('div'); + tableContainer.appendChild(table); // moves table out of DOM + const scrollable = store.add(new DomScrollableElement(tableContainer, { // moves tableContainer into scrollNode + vertical: ScrollbarVisibility.Hidden, diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.ts index f73c7cbe8f7..24ddea303de 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.ts @@ -4133,10 +4221,10 @@ index f73c7cbe8f7..24ddea303de 100644 const btn = this._register(new ButtonWithIcon(elements.root, {})); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts -index b52213ed251..35ea0bd6b3d 100644 +index 23ebcb6239b..0caec0ac278 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts -@@ -1533,8 +1533,8 @@ class ChatTerminalThinkingCollapsibleWrapper extends ChatCollapsibleContentPart +@@ -1616,8 +1616,8 @@ class ChatTerminalThinkingCollapsibleWrapper extends ChatCollapsibleContentPart const prefixText = this._isComplete ? localize('chat.terminal.ran.prefix', "Ran ") : localize('chat.terminal.running.prefix', "Running "); @@ -4148,10 +4236,10 @@ index b52213ed251..35ea0bd6b3d 100644 labelElement.appendChild(ranText); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts -index 3e0faf8b0f5..f0514dc1669 100644 +index 1b8b54727c8..6fd9ff271bf 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.ts -@@ -164,7 +164,7 @@ export class ToolConfirmationSubPart extends AbstractToolConfirmationSubPart { +@@ -162,7 +162,7 @@ export class ToolConfirmationSubPart extends AbstractToolConfirmationSubPart { if (toolInvocation.toolSpecificData?.kind === 'input' && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) { @@ -4239,10 +4327,10 @@ index fa166677003..6564efe8bcf 100644 this.updateOverlayStyles(overlay); overlayContainer.appendChild(overlay); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts b/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts -index bef9ceae515..012cc2f35a2 100644 +index ef9919d8f84..d2a5608a1a1 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.ts -@@ -597,7 +597,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer 0) { const existingElement = dom.$('span.existingText'); const text = numberOfExisting === 1 ? nls.localize('defineKeybinding.oneExists', "1 existing command has this keybinding", numberOfExisting) : nls.localize('defineKeybinding.existing', "{0} existing commands have this keybinding", numberOfExisting); @@ -5304,7 +5392,7 @@ index 18206f1ab62..8c978d2b35b 100644 aria.alert(text); this._showExistingKeybindingsNode.appendChild(existingElement); existingElement.onmousedown = (e) => { e.preventDefault(); }; -@@ -249,7 +249,7 @@ export class DefineKeybindingWidget extends Widget { +@@ -248,7 +248,7 @@ export class DefineKeybindingWidget extends Widget { if (this._chords) { for (let i = 1; i < this._chords.length; i++) { @@ -5485,7 +5573,7 @@ index fbd8325319e..0f451889125 100644 } diff --git a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts -index ff945042251..ce0b47831db 100644 +index bd91ef3829c..424e4957182 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @@ -396,7 +396,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { @@ -5971,7 +6059,7 @@ index 1cb50e596b8..57a569423f2 100644 canvas.height = video.videoHeight; diff --git a/src/vs/workbench/test/browser/workbenchTestServices.ts b/src/vs/workbench/test/browser/workbenchTestServices.ts -index 529c27d720d..c1c2c931a50 100644 +index 3762453a62c..7d562c9c3cb 100644 --- a/src/vs/workbench/test/browser/workbenchTestServices.ts +++ b/src/vs/workbench/test/browser/workbenchTestServices.ts @@ -4,7 +4,7 @@ diff --git a/vscode-patches/0071-refactor-make-editors-register-themself.patch b/vscode-patches/0071-refactor-make-editors-register-themself.patch index 86ec926b..a27c3a9d 100644 --- a/vscode-patches/0071-refactor-make-editors-register-themself.patch +++ b/vscode-patches/0071-refactor-make-editors-register-themself.patch @@ -154,7 +154,7 @@ index 3cfdd097274..6c689fca71c 100644 this._configurationService = configurationService; diff --git a/src/vs/editor/standalone/browser/standaloneServices.ts b/src/vs/editor/standalone/browser/standaloneServices.ts -index 75e920e6740..70481872950 100644 +index e1f785d8da9..0d15dd0da1e 100644 --- a/src/vs/editor/standalone/browser/standaloneServices.ts +++ b/src/vs/editor/standalone/browser/standaloneServices.ts @@ -74,13 +74,11 @@ import { UserInteractionService } from '../../../platform/userInteraction/browse diff --git a/vscode-patches/0072-fix-also-register-the-quickinput-container.patch b/vscode-patches/0072-fix-also-register-the-quickinput-container.patch index 0d54cb10..76a5dc89 100644 --- a/vscode-patches/0072-fix-also-register-the-quickinput-container.patch +++ b/vscode-patches/0072-fix-also-register-the-quickinput-container.patch @@ -8,7 +8,7 @@ Subject: [PATCH] fix: also register the quickinput container 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/vs/platform/quickinput/browser/quickInputController.ts b/src/vs/platform/quickinput/browser/quickInputController.ts -index 8e5283ef9ad..acc3c12649b 100644 +index 162d90de81b..4e8e44947f7 100644 --- a/src/vs/platform/quickinput/browser/quickInputController.ts +++ b/src/vs/platform/quickinput/browser/quickInputController.ts @@ -39,6 +39,7 @@ import { QuickInputTreeController } from './tree/quickInputTreeController.js'; diff --git a/vscode-patches/0074-fix-make-field-optional-as-sometime-openvsix-doesn-t.patch b/vscode-patches/0074-fix-make-field-optional-as-sometime-openvsix-doesn-t.patch index 2d1b9eb3..da7289d9 100644 --- a/vscode-patches/0074-fix-make-field-optional-as-sometime-openvsix-doesn-t.patch +++ b/vscode-patches/0074-fix-make-field-optional-as-sometime-openvsix-doesn-t.patch @@ -9,7 +9,7 @@ Subject: [PATCH] fix: make field optional, as sometime openvsix doesn't 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts -index 40349546ec8..c0e3e68c906 100644 +index 5b52e9acec7..5f3112363ed 100644 --- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts @@ -53,7 +53,7 @@ export interface IRawGalleryExtensionVersion { diff --git a/vscode-patches/0077-fix-stop-rewriting-source-maps.patch b/vscode-patches/0077-fix-stop-rewriting-source-maps.patch index 394a3063..eaac1a76 100644 --- a/vscode-patches/0077-fix-stop-rewriting-source-maps.patch +++ b/vscode-patches/0077-fix-stop-rewriting-source-maps.patch @@ -10,7 +10,7 @@ Subject: [PATCH] fix: stop rewriting source maps 3 files changed, 4 insertions(+), 30 deletions(-) diff --git a/build/gulpfile.extensions.ts b/build/gulpfile.extensions.ts -index a2eb47535f4..a90c5259f00 100644 +index 8f9ac9b2b21..507edfd8939 100644 --- a/build/gulpfile.extensions.ts +++ b/build/gulpfile.extensions.ts @@ -17,7 +17,6 @@ import sourcemaps from 'gulp-sourcemaps'; @@ -29,8 +29,8 @@ index a2eb47535f4..a90c5259f00 100644 // Tracks active extension compilations to emit aggregate // "Starting compilation" / "Finished compilation" messages -@@ -97,16 +95,13 @@ const compilations = [ - '.vscode/extensions/vscode-selfhost-import-aid/tsconfig.json', +@@ -98,16 +96,13 @@ const compilations = [ + '.vscode/extensions/vscode-extras/tsconfig.json', ]; -const getBaseUrl = (out: string) => `https://main.vscode-cdn.net/sourcemaps/${commit}/${out}`; @@ -47,7 +47,7 @@ index a2eb47535f4..a90c5259f00 100644 .pipe(gulp.dest(out)) ); } -@@ -126,7 +121,6 @@ const tasks = compilations.map(function (tsconfigFile) { +@@ -127,7 +122,6 @@ const tasks = compilations.map(function (tsconfigFile) { const srcOpts = { cwd: root, base: srcBase, dot: true }; const out = path.join(srcRoot, 'out'); @@ -55,7 +55,7 @@ index a2eb47535f4..a90c5259f00 100644 function createPipeline(build: boolean, emitError?: boolean, transpileOnly?: boolean) { const reporter = createReporter('extensions'); -@@ -152,7 +146,7 @@ const tasks = compilations.map(function (tsconfigFile) { +@@ -153,7 +147,7 @@ const tasks = compilations.map(function (tsconfigFile) { .pipe(compilation()) .pipe(build ? util.stripSourceMappingURL() : es.through()) .pipe(sourcemaps.write('.', { @@ -64,7 +64,7 @@ index a2eb47535f4..a90c5259f00 100644 addComment: !!build, includeContent: !!build, // note: trailing slash is important, else the source URLs in V8's file coverage are incorrect -@@ -186,7 +180,7 @@ const tasks = compilations.map(function (tsconfigFile) { +@@ -187,7 +181,7 @@ const tasks = compilations.map(function (tsconfigFile) { const compileTask = task.define(`compile-extension:${name}`, task.series(cleanTask, async () => { const nonts = gulp.src(src, srcOpts).pipe(filter(['**', '!**/*.ts'], { dot: true })); const copyNonTs = util.streamToPromise(nonts.pipe(gulp.dest(out))); @@ -73,7 +73,7 @@ index a2eb47535f4..a90c5259f00 100644 await Promise.all([copyNonTs, tsgo]); })); -@@ -197,7 +191,7 @@ const tasks = compilations.map(function (tsconfigFile) { +@@ -198,7 +192,7 @@ const tasks = compilations.map(function (tsconfigFile) { const watchNonTs = watchInput.pipe(filter(['**', '!**/*.ts'], { dot: true })).pipe(gulp.dest(out)); const tsgoStream = watchInput.pipe(util.debounce(() => { onExtensionCompilationStart(); @@ -83,10 +83,10 @@ index a2eb47535f4..a90c5259f00 100644 // error) so the debounce resets to idle and can process future // file changes. Errors from tsgo (e.g. type errors causing a diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts -index 8eb8c02b549..1f036425e7d 100644 +index ac4ee9cec7d..7d9a82d20dd 100644 --- a/build/gulpfile.vscode.ts +++ b/build/gulpfile.vscode.ts -@@ -440,7 +440,6 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d +@@ -436,7 +436,6 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d .pipe(util.cleanNodeModules(path.join(import.meta.dirname, '.moduleignore'))) .pipe(util.cleanNodeModules(path.join(import.meta.dirname, `.moduleignore.${process.platform}`))) .pipe(jsFilter) diff --git a/vscode-patches/0079-refactor-extract-shouldAttemptTaskReconnection-flag.patch b/vscode-patches/0079-refactor-extract-shouldAttemptTaskReconnection-flag.patch index ab8017fc..ae5c5436 100644 --- a/vscode-patches/0079-refactor-extract-shouldAttemptTaskReconnection-flag.patch +++ b/vscode-patches/0079-refactor-extract-shouldAttemptTaskReconnection-flag.patch @@ -33,7 +33,7 @@ index 808dcdd8486..d7081a6cff8 100644 this._tasksReconnected = true; this._storageService.remove(AbstractTaskService.PersistentTasks_Key, StorageScope.WORKSPACE); diff --git a/src/vs/workbench/contrib/terminal/browser/terminalService.ts b/src/vs/workbench/contrib/terminal/browser/terminalService.ts -index 0a64387b570..53c88f05d5e 100644 +index d42c56e737a..f6e5d9e344f 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalService.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalService.ts @@ -42,7 +42,7 @@ import { IEditorGroupsService } from '../../../services/editor/common/editorGrou diff --git a/vscode-patches/0081-fix-backport-configuration-editing-built-in-extensio.patch b/vscode-patches/0081-fix-backport-configuration-editing-built-in-extensio.patch index 76e1c4fd..368948b6 100644 --- a/vscode-patches/0081-fix-backport-configuration-editing-built-in-extensio.patch +++ b/vscode-patches/0081-fix-backport-configuration-editing-built-in-extensio.patch @@ -25,7 +25,7 @@ index ba1c33e7845..bafc4ef36a0 100644 if (knownExtensionProposals.length) { return knownExtensionProposals.map(e => { diff --git a/src/vs/workbench/api/common/extHostExtensionService.ts b/src/vs/workbench/api/common/extHostExtensionService.ts -index 19f0c987d4f..37af9002e7b 100644 +index bb331f99909..33ba53b6988 100644 --- a/src/vs/workbench/api/common/extHostExtensionService.ts +++ b/src/vs/workbench/api/common/extHostExtensionService.ts @@ -1178,12 +1178,14 @@ export class Extension implements vscode.Ex diff --git a/vscode-patches/0082-fix-fix-notebook-layout-when-there-is-a-header-on-to.patch b/vscode-patches/0082-fix-fix-notebook-layout-when-there-is-a-header-on-to.patch index 2c9214a2..99cfddd0 100644 --- a/vscode-patches/0082-fix-fix-notebook-layout-when-there-is-a-header-on-to.patch +++ b/vscode-patches/0082-fix-fix-notebook-layout-when-there-is-a-header-on-to.patch @@ -10,7 +10,7 @@ Subject: [PATCH] fix: fix notebook layout when there is a header on top of the 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/browser/media/style.css b/src/vs/workbench/browser/media/style.css -index 7450d3c463e..b1ad13a4944 100644 +index b08a3d0f3d1..a5f505aa146 100644 --- a/src/vs/workbench/browser/media/style.css +++ b/src/vs/workbench/browser/media/style.css @@ -39,7 +39,6 @@ @@ -18,9 +18,9 @@ index 7450d3c463e..b1ad13a4944 100644 inset: 0; color: var(--vscode-foreground); - position: relative; - } - .monaco-workbench.web .monaco-workbench-part, .monaco-workbench-part.web { + /* Elevation shadows */ + --vscode-shadow-sm: 0 0 4px rgba(0, 0, 0, 0.08); diff --git a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts index 494fff0e961..42522b793e8 100644 --- a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts diff --git a/vscode-patches/0085-fix-make-product-field-optional.patch b/vscode-patches/0085-fix-make-product-field-optional.patch index 50725971..857afc04 100644 --- a/vscode-patches/0085-fix-make-product-field-optional.patch +++ b/vscode-patches/0085-fix-make-product-field-optional.patch @@ -41,7 +41,7 @@ index e9595bd406a..c6bd9c1b58c 100644 } checked.push(extension); diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts -index c0e3e68c906..544f107fe4b 100644 +index 5f3112363ed..d595105c3d9 100644 --- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts @@ -1163,7 +1163,7 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle @@ -107,10 +107,10 @@ index 0e1160d71e4..62bf1facfe7 100644 } })); diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts b/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts -index 837e3949d69..411531f2d5b 100644 +index 7ebfe7ee548..98d77fa55a1 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts -@@ -986,8 +986,8 @@ export class ChatWidget extends Disposable implements IChatWidget { +@@ -985,8 +985,8 @@ export class ChatWidget extends Disposable implements IChatWidget { const defaultAgent = this.chatAgentService.getDefaultAgent(this.location, this.input.currentModeKind); let additionalMessage: string | IMarkdownString | undefined; if (this.chatEntitlementService.anonymous && !this.chatEntitlementService.sentiment.installed) { diff --git a/vscode-patches/0088-feat-add-terminal.integrated.preserveDrawingBuffer-s.patch b/vscode-patches/0088-feat-add-terminal.integrated.preserveDrawingBuffer-s.patch index 760b90ac..857fd93b 100644 --- a/vscode-patches/0088-feat-add-terminal.integrated.preserveDrawingBuffer-s.patch +++ b/vscode-patches/0088-feat-add-terminal.integrated.preserveDrawingBuffer-s.patch @@ -11,7 +11,7 @@ Subject: [PATCH] feat: add terminal.integrated.preserveDrawingBuffer setting 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/vs/platform/terminal/common/terminal.ts b/src/vs/platform/terminal/common/terminal.ts -index 78ac47f2c74..979500b12ce 100644 +index af6e52c8e17..0e1db8645d0 100644 --- a/src/vs/platform/terminal/common/terminal.ts +++ b/src/vs/platform/terminal/common/terminal.ts @@ -101,6 +101,7 @@ export const enum TerminalSettingId { @@ -49,7 +49,7 @@ index c5951189a80..99053651bc7 100644 export interface ITerminalFont { diff --git a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts -index 632938e0d5d..8b88c7745b8 100644 +index 132db6d2982..0b2c481b40c 100644 --- a/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts +++ b/src/vs/workbench/contrib/terminal/common/terminalConfiguration.ts @@ -569,6 +569,11 @@ const terminalConfiguration: IStringDictionary = { diff --git a/vscode-patches/0089-refactor-only-import-chat-related-stuff-from-chat-co.patch b/vscode-patches/0089-refactor-only-import-chat-related-stuff-from-chat-co.patch index 81f012b5..1d0d4015 100644 --- a/vscode-patches/0089-refactor-only-import-chat-related-stuff-from-chat-co.patch +++ b/vscode-patches/0089-refactor-only-import-chat-related-stuff-from-chat-co.patch @@ -10,10 +10,10 @@ Subject: [PATCH] refactor: only import chat-related stuff from chat 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -index d50fc45f037..e54bca7850b 100644 +index e37ca265b0b..2c7a0959c84 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -165,6 +165,7 @@ import { ChatTipService, IChatTipService } from './chatTipService.js'; +@@ -169,6 +169,7 @@ import { ChatTipService, IChatTipService } from './chatTipService.js'; import { ChatQueuePickerRendering } from './widget/input/chatQueuePickerActionItem.js'; import { ExploreAgentDefaultModel } from './exploreAgentDefaultModel.js'; import { PlanAgentDefaultModel } from './planAgentDefaultModel.js'; From 83d53a8d01e06e793f3fc17df6e9a7363cc6aea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= Date: Mon, 9 Mar 2026 17:58:19 +0100 Subject: [PATCH 2/2] lib: update dependencies --- package-lock.json | 26 +++++--------------------- package.json | 2 +- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9b8c051..048b07fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,7 +60,7 @@ "@codingame/semantic-release-config-github": "^2.2.1", "@codingame/tsconfig": "^1.2.1", "@commitlint/cli": "^20.4.3", - "@rollup/plugin-commonjs": "^29.0.1", + "@rollup/plugin-commonjs": "^29.0.2", "@rollup/plugin-dynamic-import-vars": "^2.1.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", @@ -182,7 +182,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -3346,7 +3345,6 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -3533,9 +3531,9 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-29.0.1.tgz", - "integrity": "sha512-VUEHINN2rQEWPfNUR3mzidRObM1XZKXMQsaG6qBlDqd6M1qyw91nDZvcSozgyjt3x/QKrgKBc5MdxfdxAy6tdg==", + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-29.0.2.tgz", + "integrity": "sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -4276,7 +4274,6 @@ "integrity": "sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4390,7 +4387,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", @@ -4867,7 +4863,6 @@ "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-6.1.0-beta.168.tgz", "integrity": "sha512-emtXKWZmyOZhcEg6StZ3qFU6M++FM506+2V/E//iqMitCDFfJAGJNJYUS5o0/PRN0MaIKo1ladXhfnozAKaGTA==", "license": "MIT", - "peer": true, "workspaces": [ "addons/*" ] @@ -4884,7 +4879,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5215,7 +5209,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -5824,7 +5817,6 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -6362,7 +6354,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -8361,7 +8352,6 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "license": "MIT", - "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -10812,7 +10802,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -11512,7 +11501,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -12109,7 +12097,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "devOptional": true, - "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -12259,7 +12246,6 @@ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.3.tgz", "integrity": "sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==", "dev": true, - "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/error": "^4.0.0", @@ -13186,8 +13172,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "peer": true + "license": "0BSD" }, "node_modules/tsx": { "version": "4.21.0", @@ -13265,7 +13250,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index bcf3982f..cd52803a 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@codingame/semantic-release-config-github": "^2.2.1", "@codingame/tsconfig": "^1.2.1", "@commitlint/cli": "^20.4.3", - "@rollup/plugin-commonjs": "^29.0.1", + "@rollup/plugin-commonjs": "^29.0.2", "@rollup/plugin-dynamic-import-vars": "^2.1.5", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3",