From 445edda672951786eadc329a27d4aeeb02888532 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 10 Mar 2026 00:26:14 +0000 Subject: [PATCH 01/16] Update VS Code submodule to 1.111.0 --- third-party-src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third-party-src b/third-party-src index c9d7799..ce099c1 160000 --- a/third-party-src +++ b/third-party-src @@ -1 +1 @@ -Subproject commit c9d77990917f3102ada88be140d28b038d1dd7c7 +Subproject commit ce099c1ed25d9eb3076c11e4a280f3eb52b4fbeb From ae7b23e65e4301126c36343cf193f307e93c2261 Mon Sep 17 00:00:00 2001 From: Mark Kercso Date: Thu, 12 Mar 2026 16:36:30 +0000 Subject: [PATCH 02/16] Add summary headers for patches --- patches/common/allow-unused-vars.diff | 5 +++++ patches/common/build.diff | 6 ++++++ patches/common/disable-online-services.diff | 6 ++++++ patches/common/disable-telemetry-service.diff | 11 +++++++++-- patches/common/fix-terminal-autoreplies.diff | 9 +++++++-- patches/common/fix-ts-rootdir-webpack.diff | 5 +++++ patches/common/heartbeat.diff | 5 +++++ patches/common/installer.diff | 6 ++++++ patches/common/integration.diff | 6 ++++++ patches/common/preapplied/remove-unsafe-headers.diff | 2 ++ patches/common/proposed-api.diff | 6 +++++- patches/common/remove-accounts-feature.diff | 5 +++++ patches/common/remove-builtin-extensions.diff | 5 +++++ patches/common/remove-cloud-changes-feature.diff | 6 ++++++ ...disable-prompting-for-non-trusted-urls-option.diff | 7 +++---- patches/common/remove-vsda.diff | 6 ++++++ patches/common/replace-gulp-untar.diff | 10 ++++++++++ patches/common/service-worker-fix.diff | 7 +++++-- patches/common/suppress-known-errors-script.diff | 6 ++++++ patches/common/trusted-domains.diff | 6 ++++++ patches/internal/build.diff | 6 +++++- patches/sagemaker/base-path-compatibility.diff | 6 ++++++ patches/sagemaker/display-both-versions-in-about.diff | 6 ++++++ patches/sagemaker/fix-port-forwarding.diff | 5 +++++ patches/sagemaker/post-startup-notifications.diff | 6 ++++++ .../sagemaker/sagemaker-extension-smus-support.diff | 6 ++++++ patches/sagemaker/sagemaker-extension.diff | 6 ++++++ patches/sagemaker/sagemaker-extensions-sync.diff | 6 ++++++ patches/sagemaker/sagemaker-idle-extension.diff | 6 ++++++ patches/sagemaker/sagemaker-integration.diff | 6 ++++++ .../sagemaker/sagemaker-open-notebook-extension.diff | 6 ++++++ patches/sagemaker/sagemaker-ui-dark-theme.diff | 6 ++++++ patches/sagemaker/sagemaker-ui-post-startup.diff | 6 ++++++ patches/sagemaker/terminal-crash-mitigation.diff | 6 ++++++ patches/sagemaker/update-csp.diff | 6 ++++++ patches/sagemaker/validate-http-request-referer.diff | 6 ++++++ patches/test/sagemaker/fix-smoke-tests.diff | 6 ++++++ patches/test/sagemaker/sagemaker-extensions.diff | 6 ++++++ .../test/sagemaker/sagemaker-smoke-testing-entry.diff | 6 ++++++ ...m-cache-to-scan-user-extensions-in-reducing-o.diff | 8 ++++---- patches/web-embedded/add-default-loader.diff | 6 ++++++ ...p-workbench-and-use-tb-cdn-for-webview-in-pro.diff | 9 +++++---- .../disable-built-in-walkthroughs-from-c.diff | 6 ++++-- .../dynamic-extension-webworker-init.diff | 6 ++++++ patches/web-embedded/emit-load-time-metrics.diff | 8 ++++---- patches/web-embedded/enable-ts-features.diff | 6 ++++++ patches/web-embedded/fix-file-tree-open.diff | 6 ++++++ patches/web-embedded/fix-watch-target.diff | 6 ++++++ .../only-allow-trusted-origins-in-webviews.diff | 4 ++++ ...e-report-issues-with-open-webapp-feedback-com.diff | 8 ++++---- patches/web-embedded/readd-workbench.diff | 6 ++++++ patches/web-embedded/remove-chat-actions.diff | 5 +++++ ...import-export-profiles-and-revert-file-menu-i.diff | 9 ++++----- ...-window-actions-and-profile-workspace-section.diff | 10 ++++------ ...unsafe-eval-and-unsafe-inline-from-csp-direct.diff | 10 ++++------ .../remove-unused-recommended-extensions-action.diff | 6 ++++++ .../revise-help-about-modal-content-and-buttons.diff | 10 ++++------ .../suppress-known-errors-build-integration.diff | 5 +++++ patches/web-server/base-path.diff | 7 +++++++ patches/web-server/embedding-events.diff | 6 ++++++ patches/web-server/integration.diff | 6 ++++++ patches/web-server/proxy-uri.diff | 6 ++++++ patches/web-server/signature-verification.diff | 7 +++++-- .../suppress-known-errors-build-integration.diff | 6 ++++++ 64 files changed, 355 insertions(+), 55 deletions(-) diff --git a/patches/common/allow-unused-vars.diff b/patches/common/allow-unused-vars.diff index 8ef8a04..4ba9112 100644 --- a/patches/common/allow-unused-vars.diff +++ b/patches/common/allow-unused-vars.diff @@ -1,3 +1,8 @@ +Relax TypeScript strict checks for unused locals and suppress ts-expect-error warnings + +Disables noUnusedLocals in tsconfig and replaces @ts-expect-error with @ts-ignore +to prevent build failures caused by variables introduced by other patches. + Index: third-party-src/src/tsconfig.base.json =================================================================== --- third-party-src.orig/src/tsconfig.base.json diff --git a/patches/common/build.diff b/patches/common/build.diff index e56fd8d..9bc34b5 100644 --- a/patches/common/build.diff +++ b/patches/common/build.diff @@ -1,3 +1,9 @@ +Update dependency versions and npm overrides for the build + +Bumps @vscode/proxy-agent, @vscode/sqlite3, and Electron versions. Removes +kerberos dependency and adds npm overrides for security and compatibility fixes +including braces, postcss, playwright, and @tootallnate/once. + Index: code-editor-src/package.json =================================================================== --- code-editor-src.orig/package.json diff --git a/patches/common/disable-online-services.diff b/patches/common/disable-online-services.diff index b5a82df..5b2f115 100644 --- a/patches/common/disable-online-services.diff +++ b/patches/common/disable-online-services.diff @@ -1,3 +1,9 @@ +Disable online services by default + +Sets update mode to 'none', disables background updates, release notes, +natural language settings search, and experiments. Prevents the editor +from contacting Microsoft online services out of the box. + Index: third-party-src/src/vs/platform/update/common/update.config.contribution.ts =================================================================== --- third-party-src.orig/src/vs/platform/update/common/update.config.contribution.ts diff --git a/patches/common/disable-telemetry-service.diff b/patches/common/disable-telemetry-service.diff index 2d1e96c..dba262d 100644 --- a/patches/common/disable-telemetry-service.diff +++ b/patches/common/disable-telemetry-service.diff @@ -1,5 +1,12 @@ -When pulling a new change from upstream, make sure to replace all .data.microsoft.com with 0.0.0.0 -Otherwise the OSS will still ping microsoft, even if the telemetry is set to OFF. +Disable all telemetry and crash reporting by default + +Forces telemetry level to OFF, disables crash reporting, and redirects +telemetry endpoints (data.microsoft.com) to 0.0.0.0 to prevent any data +from being sent even if settings are misconfigured. + +Note: when pulling a new change from upstream, make sure to replace all +.data.microsoft.com with 0.0.0.0. Otherwise the OSS will still ping +Microsoft, even if the telemetry is set to OFF. See: https://github.com/VSCodium/vscodium/issues/26 Index: third-party-src/src/vs/platform/telemetry/common/telemetryService.ts diff --git a/patches/common/fix-terminal-autoreplies.diff b/patches/common/fix-terminal-autoreplies.diff index fc6bbeb..1fd9c1a 100644 --- a/patches/common/fix-terminal-autoreplies.diff +++ b/patches/common/fix-terminal-autoreplies.diff @@ -1,6 +1,11 @@ -Backporting fix for GHSA-3pwg-f3hj-wp8p advisory: https://github.com/microsoft/vscode/security/advisories/GHSA-3pwg-f3hj-wp8p +Backport fix for terminal auto-replies security vulnerability (GHSA-3pwg-f3hj-wp8p) -Based on commit: https://github.com/microsoft/vscode/commit/670c6d9b2a6588cc90a1e347015966dc391795ba +Adds the 'restricted' flag to the terminal.integrated.autoReplies setting +to prevent untrusted workspaces from configuring automatic terminal replies, +which could be exploited for command injection. + +Advisory: https://github.com/microsoft/vscode/security/advisories/GHSA-3pwg-f3hj-wp8p +Based on: https://github.com/microsoft/vscode/commit/670c6d9b2a6588cc90a1e347015966dc391795ba Index: code-editor-src/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts =================================================================== diff --git a/patches/common/fix-ts-rootdir-webpack.diff b/patches/common/fix-ts-rootdir-webpack.diff index dfa8f29..ee362ca 100644 --- a/patches/common/fix-ts-rootdir-webpack.diff +++ b/patches/common/fix-ts-rootdir-webpack.diff @@ -1,3 +1,8 @@ +Fix TypeScript rootDir for shared webpack config + +Adds explicit rootDir '.' to the shared webpack TypeScript loader options +to prevent build errors when extensions are compiled from different paths. + Index: third-party-src/extensions/shared.webpack.config.mjs =================================================================== --- third-party-src.orig/extensions/shared.webpack.config.mjs diff --git a/patches/common/heartbeat.diff b/patches/common/heartbeat.diff index b96d3b5..e6fdbfc 100644 --- a/patches/common/heartbeat.diff +++ b/patches/common/heartbeat.diff @@ -1,3 +1,8 @@ +Add /healthz health check endpoint to the remote extension host server + +Returns a JSON response with active connection status, enabling external +health monitoring of the Code Editor server. + Index: third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts =================================================================== --- third-party-src.orig/src/vs/server/node/remoteExtensionHostAgentServer.ts diff --git a/patches/common/installer.diff b/patches/common/installer.diff index 7f24db8..e9c8ced 100644 --- a/patches/common/installer.diff +++ b/patches/common/installer.diff @@ -1,3 +1,9 @@ +Customize the build and packaging pipeline for Code Editor + +Adds support for bundling a custom Node.js binary via CUSTOM_NODE_PATH, +includes LICENSE-THIRD-PARTY in the server package, and handles missing +git version gracefully by falling back to 'unknown'. + Index: third-party-src/build/lib/getVersion.ts =================================================================== --- third-party-src.orig/build/lib/getVersion.ts diff --git a/patches/common/integration.diff b/patches/common/integration.diff index 1b2f225..497cf11 100644 --- a/patches/common/integration.diff +++ b/patches/common/integration.diff @@ -1,3 +1,9 @@ +Rebrand Code OSS to Code Editor + +Renames the product from 'Code - OSS' to 'Code Editor' across product.json, +application names, data folder paths, server names, icons, and URLs. Adds +codeEditorVersion field to the product configuration. + Index: third-party-src/product.json =================================================================== --- third-party-src.orig/product.json diff --git a/patches/common/preapplied/remove-unsafe-headers.diff b/patches/common/preapplied/remove-unsafe-headers.diff index 17ff9bb..ef4cd65 100644 --- a/patches/common/preapplied/remove-unsafe-headers.diff +++ b/patches/common/preapplied/remove-unsafe-headers.diff @@ -1,3 +1,5 @@ +Replace 'unsafe-eval' with 'wasm-unsafe-eval' in Content Security Policy directives + Index: third-party-src/src/vs/server/node/webClientServer.ts =================================================================== --- third-party-src.orig/src/vs/server/node/webClientServer.ts diff --git a/patches/common/proposed-api.diff b/patches/common/proposed-api.diff index 3c75496..16770a8 100644 --- a/patches/common/proposed-api.diff +++ b/patches/common/proposed-api.diff @@ -1,6 +1,10 @@ +Unconditionally enable all proposed APIs + Original source: https://github.com/coder/code-server/blob/v4.101.2/patches/proposed-api.diff -Unconditionally enable the proposed API, and disable the `isProposedApiEnabled` check. +Makes isProposedApiEnabled always return true and forces +_envEnablesProposedApiForAll to true, allowing all extensions to use +proposed API features without explicit opt-in. Index: third-party-src/src/vs/workbench/services/extensions/common/extensions.ts =================================================================== diff --git a/patches/common/remove-accounts-feature.diff b/patches/common/remove-accounts-feature.diff index a2897ac..044c767 100644 --- a/patches/common/remove-accounts-feature.diff +++ b/patches/common/remove-accounts-feature.diff @@ -1,3 +1,8 @@ +Remove the accounts feature from the activity bar and authentication contributions + +Hides the accounts visibility toggle, disables authentication action registrations, +and comments out authentication workbench contributions. + Index: third-party-src/src/vs/workbench/browser/parts/globalCompositeBar.ts =================================================================== --- third-party-src.orig/src/vs/workbench/browser/parts/globalCompositeBar.ts diff --git a/patches/common/remove-builtin-extensions.diff b/patches/common/remove-builtin-extensions.diff index 9ea12b3..8b68ab8 100644 --- a/patches/common/remove-builtin-extensions.diff +++ b/patches/common/remove-builtin-extensions.diff @@ -1,3 +1,8 @@ +Remove built-in extensions from product.json + +Clears the builtInExtensions array to prevent downloading extensions +from external sources during the build. + Index: third-party-src/product.json =================================================================== --- third-party-src.orig/product.json diff --git a/patches/common/remove-cloud-changes-feature.diff b/patches/common/remove-cloud-changes-feature.diff index dc86ca5..4870815 100644 --- a/patches/common/remove-cloud-changes-feature.diff +++ b/patches/common/remove-cloud-changes-feature.diff @@ -1,3 +1,9 @@ +Remove the Continue Edit Session feature + +Removes the editSessions contribution import from the common workbench +main file as this feature is not supported due to it using a third-party +online service. + Index: third-party-src/src/vs/workbench/workbench.common.main.ts =================================================================== --- third-party-src.orig/src/vs/workbench/workbench.common.main.ts diff --git a/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff b/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff index c2acd4d..85f87c5 100644 --- a/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff +++ b/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff @@ -1,9 +1,8 @@ Remove option to disable prompting for non-trusted external URLs ---- - .../url/browser/trustedDomainsValidator.ts | 6 ------ - .../contrib/url/browser/url.contribution.ts | 16 ---------------- - 2 files changed, 22 deletions(-) +Removes the workbench.trustedDomains.promptInTrustedWorkspace setting +and its bypass logic so that users are always prompted before opening +non-trusted external URLs, regardless of workspace trust status. Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts =================================================================== diff --git a/patches/common/remove-vsda.diff b/patches/common/remove-vsda.diff index f5809e5..1b1aabf 100644 --- a/patches/common/remove-vsda.diff +++ b/patches/common/remove-vsda.diff @@ -1,3 +1,9 @@ +Remove VSDA (VS Code Digital Authentication) signing service + +Replaces the proprietary VSDA WebAssembly-based signing implementation with +stub methods that throw 'not supported' errors. OpenVSX does not currently +support signed extensions. + Index: third-party-src/src/vs/platform/sign/browser/signService.ts =================================================================== --- third-party-src.orig/src/vs/platform/sign/browser/signService.ts diff --git a/patches/common/replace-gulp-untar.diff b/patches/common/replace-gulp-untar.diff index 3a6219e..1835cec 100644 --- a/patches/common/replace-gulp-untar.diff +++ b/patches/common/replace-gulp-untar.diff @@ -1,3 +1,13 @@ +Replace gulp-untar with a custom tar extraction utility using the tar package + +Adds a custom untar() function to the build utilities that processes Vinyl +file streams, replacing the deprecated gulp-untar dependency with the +maintained tar package. + +Backported from: microsoft/vscode@1deca733b31c4a0d867381e035b70b8ccf01d714 +Backported from: microsoft/vscode/commit/fcfb37c8f86d43c46d4ae030e4e9c67c2a5f1fc2 +Fixed in: microsoft/vscode@1.109.0 + Index: third-party-src/build/lib/util.ts =================================================================== --- third-party-src.orig/build/lib/util.ts diff --git a/patches/common/service-worker-fix.diff b/patches/common/service-worker-fix.diff index 4804385..1aacd1b 100644 --- a/patches/common/service-worker-fix.diff +++ b/patches/common/service-worker-fix.diff @@ -1,5 +1,8 @@ -Do not use module type for service worker. Otherwise it will cause browser to not send cookies, which can result -in a 401. +Fix service worker registration to not use module type + +Removes { type: 'module' } from the service worker registration call. +Using module type causes the browser to not send cookies with service +worker requests, resulting in 401 authentication errors. Index: third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html =================================================================== diff --git a/patches/common/suppress-known-errors-script.diff b/patches/common/suppress-known-errors-script.diff index 5690699..3e6b105 100644 --- a/patches/common/suppress-known-errors-script.diff +++ b/patches/common/suppress-known-errors-script.diff @@ -1,3 +1,9 @@ +Add error suppression script for known non-critical errors + +Introduces suppressedErrors.js which loads error patterns from a JSON config +file and provides an isErrorSuppressed() function to filter out known +non-critical errors from being reported via the error channel. + Index: third-party-src/src/vs/editor/common/errors/suppressedErrors.js =================================================================== --- /dev/null diff --git a/patches/common/trusted-domains.diff b/patches/common/trusted-domains.diff index a7d31bb..e77f556 100644 --- a/patches/common/trusted-domains.diff +++ b/patches/common/trusted-domains.diff @@ -1,3 +1,9 @@ +Rebrand trusted domains help text from VS Code to Code Editor + +Updates the trusted domains configuration file examples and help text to +reference amazon.com and aws.amazon.com, and replaces 'VS Code' with +'Code Editor' in user-facing strings. + Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts =================================================================== --- third-party-src.orig/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts diff --git a/patches/internal/build.diff b/patches/internal/build.diff index d844c54..3e9e158 100644 --- a/patches/internal/build.diff +++ b/patches/internal/build.diff @@ -1,4 +1,8 @@ -Patch that is needed for producing internal builds. +Adjust build configuration for internal builds + +Reduces mangle worker pool from 4 to 3 workers to prevent OOM failures +in constrained build environments, and adds retry logic to vsce.listFiles +calls to handle intermittent npm list failures during parallel builds. Index: third-party-src/build/lib/mangle/index.ts =================================================================== diff --git a/patches/sagemaker/base-path-compatibility.diff b/patches/sagemaker/base-path-compatibility.diff index a2e9dfa..e8b1900 100644 --- a/patches/sagemaker/base-path-compatibility.diff +++ b/patches/sagemaker/base-path-compatibility.diff @@ -1,3 +1,9 @@ +Map legacy --base-path argument to --server-base-path for SageMaker compatibility + +Adds a constructor to ServerEnvironmentService that translates the deprecated --base-path +CLI argument to --server-base-path, maintaining backward +compatibility with existing SageMaker deployment configurations. + Index: third-party-src/src/vs/server/node/serverEnvironmentService.ts =================================================================== --- third-party-src.orig/src/vs/server/node/serverEnvironmentService.ts diff --git a/patches/sagemaker/display-both-versions-in-about.diff b/patches/sagemaker/display-both-versions-in-about.diff index 4598061..8c9ce4d 100644 --- a/patches/sagemaker/display-both-versions-in-about.diff +++ b/patches/sagemaker/display-both-versions-in-about.diff @@ -1,3 +1,9 @@ +Display SageMaker Code Editor version in the About dialog + +Adds sagemakerCodeEditorVersion to the product configuration and updates +the About dialog to show the SageMaker-specific version number alongside +the Code OSS version. + Index: code-editor-src/src/vs/base/common/product.ts =================================================================== --- code-editor-src.orig/src/vs/base/common/product.ts diff --git a/patches/sagemaker/fix-port-forwarding.diff b/patches/sagemaker/fix-port-forwarding.diff index f531ec6..563ece2 100644 --- a/patches/sagemaker/fix-port-forwarding.diff +++ b/patches/sagemaker/fix-port-forwarding.diff @@ -1,3 +1,8 @@ +Fix port forwarding proxy URI path for SageMaker + +Updates the port forwarding proxy URI to include the /codeeditor/default/ +path segment, matching the SageMaker routing convention for forwarded ports. + Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== --- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts diff --git a/patches/sagemaker/post-startup-notifications.diff b/patches/sagemaker/post-startup-notifications.diff index d5efc5e..e8c0348 100644 --- a/patches/sagemaker/post-startup-notifications.diff +++ b/patches/sagemaker/post-startup-notifications.diff @@ -1,3 +1,9 @@ +Add post-startup notifications extension for SageMaker + +Introduces a built-in extension that displays notifications to users after +the editor starts, supporting configurable notification messages for the +SageMaker environment. + Index: code-editor-src/extensions/post-startup-notifications/.vscode/extensions.json =================================================================== --- /dev/null diff --git a/patches/sagemaker/sagemaker-extension-smus-support.diff b/patches/sagemaker/sagemaker-extension-smus-support.diff index 275acf9..f38fd93 100644 --- a/patches/sagemaker/sagemaker-extension-smus-support.diff +++ b/patches/sagemaker/sagemaker-extension-smus-support.diff @@ -1,3 +1,9 @@ +Add SageMaker Unified Studio (SMUS) support to the SageMaker extension + +Adds SMUS service name detection, DataZone metadata fields, and constructs +the SMUS portal URL for session renewal when running in a SageMaker Unified +Studio environment. + Index: code-editor-src/extensions/sagemaker-extension/src/constant.ts =================================================================== --- code-editor-src.orig/extensions/sagemaker-extension/src/constant.ts diff --git a/patches/sagemaker/sagemaker-extension.diff b/patches/sagemaker/sagemaker-extension.diff index f2bd778..caefcef 100644 --- a/patches/sagemaker/sagemaker-extension.diff +++ b/patches/sagemaker/sagemaker-extension.diff @@ -1,3 +1,9 @@ +Add SageMaker session management extension + +Introduces the sagemaker-extension that monitors authentication cookies, +displays session expiry warnings, and provides sign-in/save prompts to +users when their SageMaker session is about to expire. + Index: third-party-src/extensions/sagemaker-extension/src/extension.ts =================================================================== --- /dev/null diff --git a/patches/sagemaker/sagemaker-extensions-sync.diff b/patches/sagemaker/sagemaker-extensions-sync.diff index 73cc469..49fd776 100644 --- a/patches/sagemaker/sagemaker-extensions-sync.diff +++ b/patches/sagemaker/sagemaker-extensions-sync.diff @@ -1,3 +1,9 @@ +Add SageMaker extensions sync extension + +Introduces a built-in extension that detects missing pre-packaged extensions +from the SageMaker Distribution and offers users the option to sync them +into their extensions directory. + Index: code-editor-src/extensions/sagemaker-extensions-sync/.vscodeignore =================================================================== --- /dev/null diff --git a/patches/sagemaker/sagemaker-idle-extension.diff b/patches/sagemaker/sagemaker-idle-extension.diff index 64c9403..cdb66b1 100644 --- a/patches/sagemaker/sagemaker-idle-extension.diff +++ b/patches/sagemaker/sagemaker-idle-extension.diff @@ -1,3 +1,9 @@ +Add SageMaker idle activity tracking extension + +Introduces a built-in extension that monitors user activity (file changes, +editor selections, terminal interactions) and logs the last active timestamp +to a local file. Provides an /api/idle endpoint for external idle detection. + Index: code-editor-src/extensions/sagemaker-idle-extension/README.md =================================================================== --- /dev/null diff --git a/patches/sagemaker/sagemaker-integration.diff b/patches/sagemaker/sagemaker-integration.diff index 36bfc2f..1a77af9 100644 --- a/patches/sagemaker/sagemaker-integration.diff +++ b/patches/sagemaker/sagemaker-integration.diff @@ -1,3 +1,9 @@ +Add SageMaker server-side integration client + +Introduces SagemakerServerClient which registers commands for parsing +SageMaker authentication cookies and adds a logout menu entry. Provides +the bridge between the Code Editor server and SageMaker's auth system. + Index: third-party-src/src/vs/workbench/browser/client.ts =================================================================== --- /dev/null diff --git a/patches/sagemaker/sagemaker-open-notebook-extension.diff b/patches/sagemaker/sagemaker-open-notebook-extension.diff index 1eb83a8..d148ced 100644 --- a/patches/sagemaker/sagemaker-open-notebook-extension.diff +++ b/patches/sagemaker/sagemaker-open-notebook-extension.diff @@ -1,3 +1,9 @@ +Add SageMaker open notebook extension + +Introduces a built-in extension and configuration setting that allows +opening notebooks directly from URL parameters (openNotebook, clusterId, +region), enabling deep-linking into specific notebooks from SageMaker. + Index: code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts =================================================================== --- code-editor-src.orig/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts diff --git a/patches/sagemaker/sagemaker-ui-dark-theme.diff b/patches/sagemaker/sagemaker-ui-dark-theme.diff index 24f84bf..75c22e5 100644 --- a/patches/sagemaker/sagemaker-ui-dark-theme.diff +++ b/patches/sagemaker/sagemaker-ui-dark-theme.diff @@ -1,3 +1,9 @@ +Add SageMaker UI dark theme extension + +Introduces a custom dark color theme extension tailored for the SageMaker +Code Editor UI, providing consistent visual styling with the SageMaker +console. + Index: code-editor-src/extensions/sagemaker-ui-dark-theme/.vscodeignore =================================================================== --- /dev/null diff --git a/patches/sagemaker/sagemaker-ui-post-startup.diff b/patches/sagemaker/sagemaker-ui-post-startup.diff index eeaa681..6d0d526 100644 --- a/patches/sagemaker/sagemaker-ui-post-startup.diff +++ b/patches/sagemaker/sagemaker-ui-post-startup.diff @@ -1,3 +1,9 @@ +Add post-startup script invocation API endpoint for SageMaker + +Adds a /api/poststartup HTTP endpoint to the web client server that +triggers execution of post-startup scripts, with support for SageMaker +Unified Studio environments. + Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== --- code-editor-src.orig/src/vs/server/node/webClientServer.ts diff --git a/patches/sagemaker/terminal-crash-mitigation.diff b/patches/sagemaker/terminal-crash-mitigation.diff index d1a7332..1aa8960 100644 --- a/patches/sagemaker/terminal-crash-mitigation.diff +++ b/patches/sagemaker/terminal-crash-mitigation.diff @@ -1,3 +1,9 @@ +Add SageMaker terminal crash mitigation extension + +Introduces a built-in extension that monitors terminal processes and +provides crash recovery mechanisms to improve terminal stability in the +SageMaker environment. + Index: code-editor-src/extensions/sagemaker-terminal-crash-mitigation/.vscodeignore =================================================================== --- /dev/null diff --git a/patches/sagemaker/update-csp.diff b/patches/sagemaker/update-csp.diff index 2d5da50..d0f3ca2 100644 --- a/patches/sagemaker/update-csp.diff +++ b/patches/sagemaker/update-csp.diff @@ -1,3 +1,9 @@ +Expand Content Security Policy connect-src for SageMaker + +Adds Microsoft and VS Code CDN domains to the CSP connect-src directive, +allowing the web client to connect to the extension marketplace, update +servers, and other required external services. + Index: third-party-src/src/vs/server/node/webClientServer.ts =================================================================== --- third-party-src.orig/src/vs/server/node/webClientServer.ts diff --git a/patches/sagemaker/validate-http-request-referer.diff b/patches/sagemaker/validate-http-request-referer.diff index bf490a9..7dd36a3 100644 --- a/patches/sagemaker/validate-http-request-referer.diff +++ b/patches/sagemaker/validate-http-request-referer.diff @@ -1,3 +1,9 @@ +Validate HTTP Referer header for vscode-remote-resource requests + +Adds a security check that compares the Referer header host against the +request Host header for /vscode-remote-resource API calls, returning 403 +Forbidden if they don't match to prevent cross-origin resource access. + Index: code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts =================================================================== --- code-editor-src.orig/src/vs/server/node/remoteExtensionHostAgentServer.ts diff --git a/patches/test/sagemaker/fix-smoke-tests.diff b/patches/test/sagemaker/fix-smoke-tests.diff index cacdbc2..dc8cc39 100644 --- a/patches/test/sagemaker/fix-smoke-tests.diff +++ b/patches/test/sagemaker/fix-smoke-tests.diff @@ -1,3 +1,9 @@ +Fix smoke tests for SageMaker environment + +Removes the absolute path requirement for file opening in QuickAccess and +fixes terminal label parsing to handle description text correctly in the +SageMaker test environment. + Index: code-editor-src/test/automation/src/quickaccess.ts =================================================================== --- code-editor-src.orig/test/automation/src/quickaccess.ts diff --git a/patches/test/sagemaker/sagemaker-extensions.diff b/patches/test/sagemaker/sagemaker-extensions.diff index 8da8da0..436d3f1 100644 --- a/patches/test/sagemaker/sagemaker-extensions.diff +++ b/patches/test/sagemaker/sagemaker-extensions.diff @@ -1,3 +1,9 @@ +Add SageMaker extension installation smoke tests + +Introduces e2e tests that verify extensions can be installed via the +terminal CLI command and appear correctly in the activity bar within +the SageMaker environment. + Index: code-editor-src/test/smoke/src/areas/sagemaker-extensions/sagemaker-extensions-install.test.ts =================================================================== --- /dev/null diff --git a/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff b/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff index 425ad3b..16f8eb2 100644 --- a/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff +++ b/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff @@ -1,3 +1,9 @@ +Add SageMaker smoke test entry point with DataZone navigation + +Introduces a Playwright-based test launcher that navigates through the +DataZone portal to reach the Code Editor, supporting SageMaker-specific +test infrastructure with space selection and authentication flows. + Index: code-editor-src/test/automation/src/playwrightBrowser.ts =================================================================== --- code-editor-src.orig/test/automation/src/playwrightBrowser.ts diff --git a/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff b/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff index 8d88f92..4f5d1d7 100644 --- a/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff +++ b/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff @@ -1,8 +1,8 @@ -Add custom cache to scanUserExtensions in reducing of excessive extension fetch requests +Cache custom built-in extensions to reduce excessive fetch requests ---- - .../browser/webExtensionsScannerService.ts | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) +Adds an in-memory cache for the result of readCustomBuiltinExtensions() +in the web extensions scanner service, preventing redundant network +requests on every call to scanUserExtensions. Index: third-party-src/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts =================================================================== diff --git a/patches/web-embedded/add-default-loader.diff b/patches/web-embedded/add-default-loader.diff index 25de937..bff8a21 100644 --- a/patches/web-embedded/add-default-loader.diff +++ b/patches/web-embedded/add-default-loader.diff @@ -1,3 +1,9 @@ +Include index.html and product.json in the web-embedded build output + +Adds the server index.html and a version-stamped product.json to the +web packaging pipeline so the embedded build can serve a standalone +entry point. + Index: third-party-src/build/gulpfile.vscode.web.ts =================================================================== --- third-party-src.orig/build/gulpfile.vscode.web.ts diff --git a/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff b/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff index e25715e..9b29c4d 100644 --- a/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff +++ b/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff @@ -1,8 +1,9 @@ -Clean up workbench and use TB CDN for webview in prod +Clean up workbench initialization and use CDN for webview in production ---- - src/vs/code/browser/workbench/workbench.ts | 23 ++++++++++++++-------- - 1 file changed, 15 insertions(+), 8 deletions(-) +Makes the workbench initialization async, reads configuration from URL +parameters (origin, function, vsCodeCdn, isDevo), falls back to fetching +product.json when no DOM config element exists, and sets the webview +endpoint to the CDN origin in non-devo environments. Index: third-party-src/src/vs/code/browser/workbench/workbench.ts =================================================================== diff --git a/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff b/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff index 368a6be..b33b489 100644 --- a/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff +++ b/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff @@ -1,6 +1,8 @@ -Disable built-in walkthroughs from command pallete +Disable built-in walkthroughs from command palette -This patch disables the built-in walkthroughs and welcome page functionality in codebase to streamline the initial user experience or to make room for custom walkthroughs. +This patch disables the built-in walkthroughs and welcome page functionality +in the codebase to streamline the initial user experience or to make room +for custom walkthroughs. --- .../browser/gettingStarted.contribution.ts | 86 +- .../common/gettingStartedContent.ts | 851 +++++++++--------- diff --git a/patches/web-embedded/dynamic-extension-webworker-init.diff b/patches/web-embedded/dynamic-extension-webworker-init.diff index 34b7293..9cb8188 100644 --- a/patches/web-embedded/dynamic-extension-webworker-init.diff +++ b/patches/web-embedded/dynamic-extension-webworker-init.diff @@ -1,3 +1,9 @@ +Use dynamic bootstrap for extension host web workers + +Replaces the static blob-based worker initialization with a dynamic +approach that forwards the full bootstrap event data to the worker, +avoiding inline script generation and improving CSP compatibility. + Index: third-party-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html =================================================================== --- third-party-src.orig/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html diff --git a/patches/web-embedded/emit-load-time-metrics.diff b/patches/web-embedded/emit-load-time-metrics.diff index 7af0a65..1a37293 100644 --- a/patches/web-embedded/emit-load-time-metrics.diff +++ b/patches/web-embedded/emit-load-time-metrics.diff @@ -1,8 +1,8 @@ -Emit load time metrics +Emit load time metrics to the embedding parent window ---- - src/vs/code/browser/workbench/workbench.ts | 11 +++++++++++ - 1 file changed, 11 insertions(+) +Measures the total workbench initialization time and sends it to the +parent window via postMessage using the vscode.metrics channel, enabling +the embedding application to track IDE load performance. Index: third-party-src/src/vs/code/browser/workbench/workbench.ts =================================================================== diff --git a/patches/web-embedded/enable-ts-features.diff b/patches/web-embedded/enable-ts-features.diff index 491f70b..6aec10d 100644 --- a/patches/web-embedded/enable-ts-features.diff +++ b/patches/web-embedded/enable-ts-features.diff @@ -1,3 +1,9 @@ +Enable advanced TypeScript language features for web-embedded + +Forces disableAutomaticTypingAcquisition for all server kinds and adds +memfs:// to the allowed file system provider paths, enabling TypeScript +IntelliSense to work with in-memory file systems. + Index: third-party-src/extensions/typescript-language-features/src/tsServer/spawner.ts =================================================================== --- third-party-src.orig/extensions/typescript-language-features/src/tsServer/spawner.ts diff --git a/patches/web-embedded/fix-file-tree-open.diff b/patches/web-embedded/fix-file-tree-open.diff index 032c3b8..96b0b24 100644 --- a/patches/web-embedded/fix-file-tree-open.diff +++ b/patches/web-embedded/fix-file-tree-open.diff @@ -1,3 +1,9 @@ +Fix file tree opening by reviving URIs in ExplorerItem + +Ensures the resource URI is properly revived via URI.revive() in the +ExplorerItem constructor, fixing issues where file tree items could not +be opened due to malformed URI objects. + Index: third-party-src/src/vs/workbench/contrib/files/common/explorerModel.ts =================================================================== --- third-party-src.orig/src/vs/workbench/contrib/files/common/explorerModel.ts diff --git a/patches/web-embedded/fix-watch-target.diff b/patches/web-embedded/fix-watch-target.diff index d03ef85..6a9e099 100644 --- a/patches/web-embedded/fix-watch-target.diff +++ b/patches/web-embedded/fix-watch-target.diff @@ -1,3 +1,9 @@ +Fix code-web.sh to work when node is available on PATH + +Adds a check for the node command and runs the web server directly +instead of going through the code() wrapper function, fixing startup +in environments where node is globally available. + Index: third-party-src/scripts/code-web.sh =================================================================== --- third-party-src.orig/scripts/code-web.sh diff --git a/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff b/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff index f0ed136..6bfe1d0 100644 --- a/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff +++ b/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff @@ -1,5 +1,9 @@ Only allow opening webviews from same-origin or trusted parent origins +Adds CSP style-src and connect-src directives for self-hosted webviews, +reads trusted origins from product.json, and validates the parent origin +against the trusted list before establishing the postMessage channel. + Index: third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html =================================================================== --- third-party-src.orig/src/vs/workbench/contrib/webview/browser/pre/index.html diff --git a/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff b/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff index 43b932a..b5ce980 100644 --- a/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff +++ b/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff @@ -1,8 +1,8 @@ -Override report issues with open webapp feedback command +Redirect issue reporting to the Lambda Console feedback command ---- - .../contrib/issue/common/issue.contribution.ts | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) +Replaces the built-in issue reporter handler with a delegation to the +lambda-console.reportIssue command, routing bug reports through the +embedding application's feedback mechanism instead of GitHub. Index: third-party-src/src/vs/workbench/contrib/issue/common/issue.contribution.ts =================================================================== diff --git a/patches/web-embedded/readd-workbench.diff b/patches/web-embedded/readd-workbench.diff index 393262f..77fcd8b 100644 --- a/patches/web-embedded/readd-workbench.diff +++ b/patches/web-embedded/readd-workbench.diff @@ -1,3 +1,9 @@ +Re-add the codeWeb entry point to the web build + +Adds buildfile.codeWeb back to the vscodeWebEntryPoints array in the +web gulp build file, ensuring the workbench code is included in the +web-embedded distribution. + Index: third-party-src/build/gulpfile.vscode.web.ts =================================================================== --- third-party-src.orig/build/gulpfile.vscode.web.ts diff --git a/patches/web-embedded/remove-chat-actions.diff b/patches/web-embedded/remove-chat-actions.diff index b394814..7578587 100644 --- a/patches/web-embedded/remove-chat-actions.diff +++ b/patches/web-embedded/remove-chat-actions.diff @@ -1,3 +1,8 @@ +Remove all chat-related action registrations from the web-embedded build + +Disables registration of all chat related actions. These are not supported +in the embedded Code Editor. + Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts =================================================================== --- third-party-src.orig/src/vs/workbench/contrib/chat/browser/chat.contribution.ts diff --git a/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff b/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff index baddd3e..56ada96 100644 --- a/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff +++ b/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff @@ -1,9 +1,8 @@ -Remove import/export profiles and revert file menu items in file menu +Remove import/export profiles and revert file menu items ---- - .../files/browser/fileActions.contribution.ts | 45 +---- - .../browser/userDataProfile.ts | 162 +----------------- - 2 files changed, 4 insertions(+), 203 deletions(-) +Removes the Revert File command from the command palette. removes +import/export functionality, as these features are not applicable in +the embedded web environment. Index: third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts =================================================================== diff --git a/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff b/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff index 23a4e68..abf1b13 100644 --- a/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff +++ b/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff @@ -1,10 +1,8 @@ -Remove new window actions and workspace section from profile page +Remove "New Window" related actions and workspace section from profile page ---- - .../contrib/userDataProfile/browser/userDataProfile.ts | 1 - - .../userDataProfile/browser/userDataProfilesEditor.ts | 2 -- - .../browser/userDataProfilesEditorModel.ts | 9 --------- - 3 files changed, 12 deletions(-) +Removes all actions which can open a new window from the embedded Code Editor. +This is needed because new window actions could be opened as a pop-up, which is +not embedded. This is why multi-window is not supported in the web-embedded environment. Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts =================================================================== diff --git a/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff b/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff index c2931ba..53b9912 100644 --- a/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff +++ b/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff @@ -1,11 +1,9 @@ Remove unsafe-eval and unsafe-inline from CSP directives ---- - src/vs/server/node/webClientServer.ts | 6 +++--- - .../notebook/browser/view/renderers/backLayerWebView.ts | 4 ++-- - src/vs/workbench/contrib/webview/browser/pre/index.html | 2 +- - .../extensions/worker/webWorkerExtensionHostIframe.html | 2 +- - 4 files changed, 7 insertions(+), 7 deletions(-) +Removes 'wasm-unsafe-eval' from the web client server script-src, +removes 'unsafe-inline' from the web client style-src and notebook +webview script-src, and tightens the extension host iframe CSP to +improve security posture for the web-embedded build. Index: third-party-src/src/vs/server/node/webClientServer.ts =================================================================== diff --git a/patches/web-embedded/remove-unused-recommended-extensions-action.diff b/patches/web-embedded/remove-unused-recommended-extensions-action.diff index 40f3aaa..dab90e7 100644 --- a/patches/web-embedded/remove-unused-recommended-extensions-action.diff +++ b/patches/web-embedded/remove-unused-recommended-extensions-action.diff @@ -1,3 +1,9 @@ +Remove workspace recommended extensions configuration action + +Removes the ConfigureWorkspaceFolderRecommendedExtensionsAction and its +associated menu entries and icon imports since workspace extension +recommendations are not used in the embedded environment. + Index: third-party-src/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts =================================================================== --- third-party-src.orig/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts diff --git a/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff b/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff index c640ac9..d827d71 100644 --- a/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff +++ b/patches/web-embedded/revise-help-about-modal-content-and-buttons.diff @@ -1,10 +1,8 @@ -Revise Help->About Modal content and buttons +Simplify the Help > About dialog for the web version ---- - src/vs/platform/dialogs/browser/dialog.ts | 18 ++++-------------- - src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.ts | 2 +- - src/vs/workbench/browser/parts/dialogs/dialogHandler.ts | 13 +++---------- - 3 files changed, 9 insertions(+), 24 deletions(-) +Removes the Copy button from the About modal, leaving only OK. Passes +the display details as the copy text instead of a separate formatted +string, and simplifies the dialog handler to not track button selection. Index: third-party-src/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.ts =================================================================== diff --git a/patches/web-embedded/suppress-known-errors-build-integration.diff b/patches/web-embedded/suppress-known-errors-build-integration.diff index 7cd43a6..d6d8400 100644 --- a/patches/web-embedded/suppress-known-errors-build-integration.diff +++ b/patches/web-embedded/suppress-known-errors-build-integration.diff @@ -1,3 +1,8 @@ +Include the error suppression script in the web-embedded build output + +Adds the suppressedErrors.js file path to the vscodeWebResourceIncludes +array so it is packaged into the web-embedded distribution. + Index: third-party-src/build/gulpfile.vscode.web.ts =================================================================== --- third-party-src.orig/build/gulpfile.vscode.web.ts diff --git a/patches/web-server/base-path.diff b/patches/web-server/base-path.diff index 83758f6..de5fa8a 100644 --- a/patches/web-server/base-path.diff +++ b/patches/web-server/base-path.diff @@ -1,3 +1,10 @@ +Add base path support for the web server + +Modifies URL resolution to prepend window.location.pathname for remote +resource paths, adds rootEndpoint to the product configuration, and +updates HTML templates to use relative base URLs for proper operation +behind reverse proxies with path prefixes. + Index: third-party-src/src/vs/base/common/network.ts =================================================================== --- third-party-src.orig/src/vs/base/common/network.ts diff --git a/patches/web-server/embedding-events.diff b/patches/web-server/embedding-events.diff index a41a744..89c5d1a 100644 --- a/patches/web-server/embedding-events.diff +++ b/patches/web-server/embedding-events.diff @@ -1,3 +1,9 @@ +Add embedding events for remote connection state changes + +Introduces a SendEventToParentAction command and hooks into the remote +agent connection state machine to forward connection/reconnection/ +disconnection events to the parent window via postMessage. + Index: third-party-src/src/vs/workbench/contrib/remote/browser/remote.ts =================================================================== --- third-party-src.orig/src/vs/workbench/contrib/remote/browser/remote.ts diff --git a/patches/web-server/integration.diff b/patches/web-server/integration.diff index 9fea200..5ae5acc 100644 --- a/patches/web-server/integration.diff +++ b/patches/web-server/integration.diff @@ -1,3 +1,9 @@ +Configure Open VSX as the extensions marketplace and add trusted domains + +Adds the Open VSX gallery service URLs to product.json, adds OIDC and +SSO device authorization domains to the trusted domains list, and updates +the welcome page branding. + Index: third-party-src/product.json =================================================================== --- third-party-src.orig/product.json diff --git a/patches/web-server/proxy-uri.diff b/patches/web-server/proxy-uri.diff index 4393190..9755d70 100644 --- a/patches/web-server/proxy-uri.diff +++ b/patches/web-server/proxy-uri.diff @@ -1,3 +1,9 @@ +Add HTTP reverse proxy support for port forwarding + +Introduces http-proxy as a dependency and implements proxy URI resolution +that routes localhost port requests through the Code Editor server, +enabling port forwarding in web-based environments. + Index: third-party-src/package.json =================================================================== --- third-party-src.orig/package.json diff --git a/patches/web-server/signature-verification.diff b/patches/web-server/signature-verification.diff index 52caae5..6cb063e 100644 --- a/patches/web-server/signature-verification.diff +++ b/patches/web-server/signature-verification.diff @@ -1,5 +1,8 @@ -Disable extension signature verification that was enabled for Linux in v1.100. -It does not work since it depends on a closed-source proprietary package - @vscode/vsce-sign and it's not compatible with OpenVSX. +Disable extension signature verification. + +Forces verifySignature to false regardless of configuration, since the +verification depends on the closed-source @vscode/vsce-sign package and +is not compatible with the Open VSX marketplace. Index: third-party-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts =================================================================== diff --git a/patches/web-server/suppress-known-errors-build-integration.diff b/patches/web-server/suppress-known-errors-build-integration.diff index 795b60a..eac97c5 100644 --- a/patches/web-server/suppress-known-errors-build-integration.diff +++ b/patches/web-server/suppress-known-errors-build-integration.diff @@ -1,3 +1,9 @@ +Integrate error suppression and reporting into the web server workbench HTML + +Adds the suppressedErrors.js script and a console.error monkey-patch to +the workbench HTML that filters known errors and forwards unknown errors +to the parent window via postMessage for metrics reporting. + Index: third-party-src/src/vs/code/browser/workbench/workbench.html =================================================================== --- third-party-src.orig/src/vs/code/browser/workbench/workbench.html From e76a2f69e3c07b33c5bd4b8c8cbc8794006b6374 Mon Sep 17 00:00:00 2001 From: Mark Kercso Date: Fri, 13 Mar 2026 09:09:57 +0000 Subject: [PATCH 03/16] Rebase patches for all targets --- patches/common/allow-unused-vars.diff | 14 +- patches/common/build.diff | 69 +- patches/common/disable-online-services.diff | 30 +- patches/common/disable-telemetry-service.diff | 26 +- patches/common/embedded-api.diff | 46 +- patches/common/fix-terminal-autoreplies.diff | 21 - patches/common/fix-ts-rootdir-webpack.diff | 6 +- patches/common/heartbeat.diff | 8 +- patches/common/installer.diff | 32 +- patches/common/integration.diff | 32 +- .../fix-chat-debug-editor-visibility.diff | 18 + .../preapplied/remove-unsafe-headers.diff | 30 +- patches/common/proposed-api.diff | 15 +- patches/common/remove-accounts-feature.diff | 12 +- patches/common/remove-builtin-extensions.diff | 710 +++++++++++------- .../common/remove-cloud-changes-feature.diff | 8 +- ...prompting-for-non-trusted-urls-option.diff | 18 +- patches/common/remove-vsda.diff | 6 +- patches/common/replace-gulp-untar.diff | 137 ---- patches/common/service-worker-fix.diff | 8 +- .../common/suppress-known-errors-script.diff | 6 +- patches/common/trusted-domains.diff | 20 +- patches/internal/build.diff | 41 +- patches/sagemaker.series | 3 +- .../sagemaker/base-path-compatibility.diff | 6 +- .../display-both-versions-in-about.diff | 8 +- patches/sagemaker/fix-port-forwarding.diff | 2 +- .../sagemaker/post-startup-notifications.diff | 2 +- patches/sagemaker/sagemaker-extension.diff | 50 +- .../sagemaker/sagemaker-extensions-sync.diff | 2 +- .../sagemaker/sagemaker-idle-extension.diff | 5 +- patches/sagemaker/sagemaker-integration.diff | 24 +- .../sagemaker-open-notebook-extension.diff | 8 +- .../sagemaker/sagemaker-ui-dark-theme.diff | 2 +- .../sagemaker/terminal-crash-mitigation.diff | 2 +- patches/sagemaker/update-csp.diff | 6 +- patches/test/sagemaker/fix-smoke-tests.diff | 5 +- .../test/sagemaker/sagemaker-extensions.diff | 8 +- .../sagemaker-smoke-testing-entry.diff | 34 +- patches/web-embedded-with-terminal.series | 3 +- patches/web-embedded.series | 3 +- .../add-a-much-simpler-workbench.diff | 6 +- ...to-scan-user-extensions-in-reducing-o.diff | 10 +- patches/web-embedded/add-default-loader.diff | 10 +- ...nch-and-use-tb-cdn-for-webview-in-pro.diff | 6 +- .../disable-built-in-walkthroughs-from-c.diff | 27 +- ...-actions-calls-accounts-merge-conflit.diff | 82 +- ...ble-user-tasks-and-fix-build-warnings.diff | 6 +- .../dynamic-extension-webworker-init.diff | 12 +- .../web-embedded/emit-load-time-metrics.diff | 14 +- patches/web-embedded/enable-ts-features.diff | 16 +- patches/web-embedded/fix-file-tree-open.diff | 10 +- .../fix-scm-progress-location.diff | 8 +- patches/web-embedded/fix-watch-target.diff | 6 +- ...nly-allow-trusted-origins-in-webviews.diff | 6 +- .../only-have-debug-view-container.diff | 6 +- ...-issues-with-open-webapp-feedback-com.diff | 6 +- patches/web-embedded/readd-workbench.diff | 10 +- patches/web-embedded/remove-chat-actions.diff | 18 +- ...xport-profiles-and-revert-file-menu-i.diff | 32 +- ...ies-for-merge-conflict-and-call-items.diff | 24 +- ...actions-and-profile-workspace-section.diff | 47 +- .../web-embedded/remove-source-control.diff | 33 +- .../remove-ssh-remote-host-in-code-oss.diff | 6 +- .../remove-terminal-in-code-oss.diff | 18 +- ...val-and-unsafe-inline-from-csp-direct.diff | 24 +- ...-unused-recommended-extensions-action.diff | 10 +- ...-help-about-modal-content-and-buttons.diff | 40 +- .../set-default-log-level-to-error.diff | 13 +- ...ppress-known-errors-build-integration.diff | 8 +- patches/web-server.series | 3 +- patches/web-server/base-path.diff | 56 +- patches/web-server/display-language.diff | 82 +- patches/web-server/embedding-events.diff | 26 +- patches/web-server/integration.diff | 89 ++- patches/web-server/local-storage.diff | 20 +- patches/web-server/marketplace.diff | 53 +- patches/web-server/proxy-uri.diff | 69 +- .../web-server/signature-verification.diff | 6 +- ...ppress-known-errors-build-integration.diff | 20 +- patches/web-server/webview.diff | 26 +- scripts/prepare-src.sh | 1 + 82 files changed, 1250 insertions(+), 1201 deletions(-) delete mode 100644 patches/common/fix-terminal-autoreplies.diff create mode 100644 patches/common/preapplied/fix-chat-debug-editor-visibility.diff diff --git a/patches/common/allow-unused-vars.diff b/patches/common/allow-unused-vars.diff index 4ba9112..bf0fb30 100644 --- a/patches/common/allow-unused-vars.diff +++ b/patches/common/allow-unused-vars.diff @@ -3,10 +3,10 @@ Relax TypeScript strict checks for unused locals and suppress ts-expect-error wa Disables noUnusedLocals in tsconfig and replaces @ts-expect-error with @ts-ignore to prevent build failures caused by variables introduced by other patches. -Index: third-party-src/src/tsconfig.base.json +Index: code-editor-src/src/tsconfig.base.json =================================================================== ---- third-party-src.orig/src/tsconfig.base.json -+++ third-party-src/src/tsconfig.base.json +--- code-editor-src.orig/src/tsconfig.base.json ++++ code-editor-src/src/tsconfig.base.json @@ -6,7 +6,7 @@ "experimentalDecorators": true, "noImplicitReturns": true, @@ -16,11 +16,11 @@ Index: third-party-src/src/tsconfig.base.json "noUncheckedSideEffectImports": true, "allowUnreachableCode": false, "strict": true, -Index: third-party-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts +Index: code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/remote/browser/tunnelView.ts -+++ third-party-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts -@@ -762,7 +762,7 @@ export class TunnelPanel extends ViewPan +--- code-editor-src.orig/src/vs/workbench/contrib/remote/browser/tunnelView.ts ++++ code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelView.ts +@@ -761,7 +761,7 @@ export class TunnelPanel extends ViewPan private protocolChangableContextKey: IContextKey; private isEditing: boolean = false; // TODO: Should this be removed? diff --git a/patches/common/build.diff b/patches/common/build.diff index 9bc34b5..8ce1581 100644 --- a/patches/common/build.diff +++ b/patches/common/build.diff @@ -1,53 +1,49 @@ -Update dependency versions and npm overrides for the build +Update dependency versions, npm overrides, and gulp command for the build -Bumps @vscode/proxy-agent, @vscode/sqlite3, and Electron versions. Removes -kerberos dependency and adds npm overrides for security and compatibility fixes -including braces, postcss, playwright, and @tootallnate/once. +Bumps Electron from 39.x to 40.6.0. Removes kerberos dependency and adds +npm overrides for security and compatibility fixes including braces, postcss, +playwright, form-data, tar-fs, koa, and serialize-javascript. Also updates +the gulp command to allow NODE_OPTIONS override for memory allocation. Index: code-editor-src/package.json =================================================================== --- code-editor-src.orig/package.json +++ code-editor-src/package.json -@@ -78,10 +78,10 @@ - "@vscode/deviceid": "^0.1.1", - "@vscode/iconv-lite-umd": "0.7.1", - "@vscode/policy-watcher": "^1.3.2", -- "@vscode/proxy-agent": "^0.36.0", -+ "@vscode/proxy-agent": "^0.37.0", - "@vscode/ripgrep": "^1.15.13", - "@vscode/spdlog": "^0.15.2", -- "@vscode/sqlite3": "5.1.10-vscode", -+ "@vscode/sqlite3": "5.1.12-vscode", - "@vscode/sudo-prompt": "9.3.1", - "@vscode/tree-sitter-wasm": "^0.3.0", - "@vscode/vscode-languagedetection": "1.0.21", -@@ -103,7 +103,6 @@ +@@ -39,7 +39,7 @@ + "watch-extensionsd": "deemon npm run watch-extensions", + "kill-watch-extensionsd": "deemon --kill npm run watch-extensions", + "precommit": "node --experimental-strip-types build/hygiene.ts", +- "gulp": "node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js", ++ "gulp": "NODE_OPTIONS=\"${NODE_OPTIONS:---max-old-space-size=8192}\" node ./node_modules/gulp/bin/gulp.js", + "electron": "node build/lib/electron.ts", + "7z": "7z", + "update-grammars": "node build/npm/update-all-grammars.ts", +@@ -114,7 +114,6 @@ "https-proxy-agent": "^7.0.2", "jschardet": "3.1.4", "katex": "^0.16.22", - "kerberos": "2.1.1", "minimist": "^1.2.8", - "native-is-elevated": "0.8.0", + "native-is-elevated": "0.9.0", "native-keymap": "^3.3.5", -@@ -160,7 +159,7 @@ +@@ -174,7 +173,7 @@ "css-loader": "^6.9.1", "debounce": "^1.0.0", "deemon": "^1.13.6", -- "electron": "39.2.7", +- "electron": "39.6.0", + "electron": "40.6.0", "eslint": "^9.36.0", "eslint-formatter-compact": "^8.40.0", "eslint-plugin-header": "3.1.1", -@@ -225,9 +224,20 @@ +@@ -238,9 +237,19 @@ }, "overrides": { "node-gyp-build": "4.8.1", - "kerberos@2.1.1": { - "node-addon-api": "7.1.0" -- } + "@types/node-fetch@^2.5.12": { + "form-data": "^3.0.4" -+ }, + }, + "@azure/core-http@^2.3.2": { + "form-data": "^4.0.4" + }, @@ -58,36 +54,25 @@ Index: code-editor-src/package.json + }, + "postcss": "^8.4.31", + "playwright": "^1.55.1", -+ "@tootallnate/once": "^3.0.1" + "serialize-javascript": "^7.0.3" }, "repository": { - "type": "git", Index: code-editor-src/remote/package.json =================================================================== --- code-editor-src.orig/remote/package.json +++ code-editor-src/remote/package.json -@@ -7,7 +7,7 @@ - "@microsoft/1ds-post-js": "^3.2.13", - "@vscode/deviceid": "^0.1.1", - "@vscode/iconv-lite-umd": "0.7.1", -- "@vscode/proxy-agent": "^0.36.0", -+ "@vscode/proxy-agent": "^0.37.0", - "@vscode/ripgrep": "^1.15.13", - "@vscode/spdlog": "^0.15.2", - "@vscode/tree-sitter-wasm": "^0.3.0", -@@ -30,11 +30,11 @@ +@@ -32,10 +32,10 @@ "https-proxy-agent": "^7.0.2", "jschardet": "3.1.4", "katex": "^0.16.22", - "kerberos": "2.1.1", "minimist": "^1.2.8", - "native-watchdog": "^1.4.1", - "node-pty": "^1.1.0-beta43", + "node-pty": "^1.2.0-beta.10", "tas-client": "0.3.1", + "undici": "^7.18.2", "vscode-oniguruma": "1.7.0", "vscode-regexpp": "^3.1.0", - "vscode-textmate": "^9.3.0", + "vscode-textmate": "^9.3.2", @@ -43,8 +43,6 @@ }, "overrides": { @@ -98,10 +83,10 @@ Index: code-editor-src/remote/package.json + "@tootallnate/once": "^3.0.1" } } -Index: third-party-src/build/lib/mangle/index.ts +Index: code-editor-src/build/lib/mangle/index.ts =================================================================== ---- third-party-src.orig/build/lib/mangle/index.ts -+++ third-party-src/build/lib/mangle/index.ts +--- code-editor-src.orig/build/lib/mangle/index.ts ++++ code-editor-src/build/lib/mangle/index.ts @@ -430,7 +430,7 @@ export class Mangler { this.config = config; diff --git a/patches/common/disable-online-services.diff b/patches/common/disable-online-services.diff index 5b2f115..0a18e04 100644 --- a/patches/common/disable-online-services.diff +++ b/patches/common/disable-online-services.diff @@ -4,11 +4,11 @@ Sets update mode to 'none', disables background updates, release notes, natural language settings search, and experiments. Prevents the editor from contacting Microsoft online services out of the box. -Index: third-party-src/src/vs/platform/update/common/update.config.contribution.ts +Index: code-editor-src/src/vs/platform/update/common/update.config.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/platform/update/common/update.config.contribution.ts -+++ third-party-src/src/vs/platform/update/common/update.config.contribution.ts -@@ -18,7 +18,7 @@ configurationRegistry.registerConfigurat +--- code-editor-src.orig/src/vs/platform/update/common/update.config.contribution.ts ++++ code-editor-src/src/vs/platform/update/common/update.config.contribution.ts +@@ -19,7 +19,7 @@ configurationRegistry.registerConfigurat 'update.mode': { type: 'string', enum: ['none', 'manual', 'start', 'default'], @@ -17,16 +17,16 @@ Index: third-party-src/src/vs/platform/update/common/update.config.contribution. scope: ConfigurationScope.APPLICATION, description: localize('updateMode', "Configure whether you receive automatic updates. Requires a restart after change. The updates are fetched from a Microsoft online service."), tags: ['usesOnlineServices'], -@@ -42,7 +42,7 @@ configurationRegistry.registerConfigurat +@@ -65,7 +65,7 @@ configurationRegistry.registerConfigurat }, 'update.enableWindowsBackgroundUpdates': { type: 'boolean', - default: true, + default: false, scope: ConfigurationScope.APPLICATION, - title: localize('enableWindowsBackgroundUpdatesTitle', "Enable Background Updates on Windows"), - description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new VS Code versions in the background on Windows."), -@@ -50,7 +50,7 @@ configurationRegistry.registerConfigurat + title: localize('enableWindowsBackgroundUpdatesTitle', "Enable Background Updates"), + description: localize('enableWindowsBackgroundUpdates', "Enable to download and install new VS Code versions in the background."), +@@ -73,7 +73,7 @@ configurationRegistry.registerConfigurat }, 'update.showReleaseNotes': { type: 'boolean', @@ -35,10 +35,10 @@ Index: third-party-src/src/vs/platform/update/common/update.config.contribution. scope: ConfigurationScope.APPLICATION, description: localize('showReleaseNotes', "Show Release Notes after an update. The Release Notes are fetched from a Microsoft online service."), tags: ['usesOnlineServices'] -Index: third-party-src/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts +Index: code-editor-src/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts -+++ third-party-src/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts ++++ code-editor-src/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts @@ -111,7 +111,7 @@ registry.registerConfiguration({ 'workbench.settings.enableNaturalLanguageSearch': { 'type': 'boolean', @@ -48,11 +48,11 @@ Index: third-party-src/src/vs/workbench/contrib/preferences/common/preferencesCo 'scope': ConfigurationScope.WINDOW, 'tags': ['usesOnlineServices'] }, -Index: third-party-src/src/vs/workbench/services/assignment/common/assignmentService.ts +Index: code-editor-src/src/vs/workbench/services/assignment/common/assignmentService.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/assignment/common/assignmentService.ts -+++ third-party-src/src/vs/workbench/services/assignment/common/assignmentService.ts -@@ -146,7 +146,7 @@ registry.registerConfiguration({ +--- code-editor-src.orig/src/vs/workbench/services/assignment/common/assignmentService.ts ++++ code-editor-src/src/vs/workbench/services/assignment/common/assignmentService.ts +@@ -329,7 +329,7 @@ registry.registerConfiguration({ 'workbench.enableExperiments': { 'type': 'boolean', 'description': localize('workbench.enableExperiments', "Fetches experiments to run from a Microsoft online service."), diff --git a/patches/common/disable-telemetry-service.diff b/patches/common/disable-telemetry-service.diff index dba262d..d822fc7 100644 --- a/patches/common/disable-telemetry-service.diff +++ b/patches/common/disable-telemetry-service.diff @@ -9,11 +9,11 @@ Note: when pulling a new change from upstream, make sure to replace all Microsoft, even if the telemetry is set to OFF. See: https://github.com/VSCodium/vscodium/issues/26 -Index: third-party-src/src/vs/platform/telemetry/common/telemetryService.ts +Index: code-editor-src/src/vs/platform/telemetry/common/telemetryService.ts =================================================================== ---- third-party-src.orig/src/vs/platform/telemetry/common/telemetryService.ts -+++ third-party-src/src/vs/platform/telemetry/common/telemetryService.ts -@@ -274,7 +274,7 @@ configurationRegistry.registerConfigurat +--- code-editor-src.orig/src/vs/platform/telemetry/common/telemetryService.ts ++++ code-editor-src/src/vs/platform/telemetry/common/telemetryService.ts +@@ -287,7 +287,7 @@ configurationRegistry.registerConfigurat 'properties': { [TELEMETRY_SETTING_ID]: { 'type': 'string', @@ -22,7 +22,7 @@ Index: third-party-src/src/vs/platform/telemetry/common/telemetryService.ts 'enumDescriptions': [ localize('telemetry.telemetryLevel.default', "Sends usage data, errors, and crash reports."), localize('telemetry.telemetryLevel.error', "Sends general error telemetry and crash reports."), -@@ -282,7 +282,7 @@ configurationRegistry.registerConfigurat +@@ -295,7 +295,7 @@ configurationRegistry.registerConfigurat localize('telemetry.telemetryLevel.off', "Disables all product telemetry.") ], 'markdownDescription': getTelemetryLevelSettingDescription(), @@ -31,7 +31,7 @@ Index: third-party-src/src/vs/platform/telemetry/common/telemetryService.ts 'restricted': true, 'scope': ConfigurationScope.APPLICATION, 'tags': ['usesOnlineServices', 'telemetry'], -@@ -334,7 +334,7 @@ configurationRegistry.registerConfigurat +@@ -347,7 +347,7 @@ configurationRegistry.registerConfigurat !product.privacyStatementUrl ? localize('telemetry.enableTelemetry', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made.", product.nameLong) : localize('telemetry.enableTelemetryMd', "Enable diagnostic data to be collected. This helps us to better understand how {0} is performing and where improvements need to be made. [Read more]({1}) about what we collect and our privacy statement.", product.nameLong, product.privacyStatementUrl), @@ -40,10 +40,10 @@ Index: third-party-src/src/vs/platform/telemetry/common/telemetryService.ts 'restricted': true, 'markdownDeprecationMessage': localize('enableTelemetryDeprecated', "If this setting is false, no telemetry will be sent regardless of the new setting's value. Deprecated in favor of the {0} setting.", `\`#${TELEMETRY_SETTING_ID}#\``), 'scope': ConfigurationScope.APPLICATION, -Index: third-party-src/src/vs/platform/telemetry/common/1dsAppender.ts +Index: code-editor-src/src/vs/platform/telemetry/common/1dsAppender.ts =================================================================== ---- third-party-src.orig/src/vs/platform/telemetry/common/1dsAppender.ts -+++ third-party-src/src/vs/platform/telemetry/common/1dsAppender.ts +--- code-editor-src.orig/src/vs/platform/telemetry/common/1dsAppender.ts ++++ code-editor-src/src/vs/platform/telemetry/common/1dsAppender.ts @@ -19,8 +19,8 @@ export interface IAppInsightsCore { unload(isAsync: boolean, unloadComplete: (unloadState: ITelemetryUnloadState) => void): void; } @@ -55,11 +55,11 @@ Index: third-party-src/src/vs/platform/telemetry/common/1dsAppender.ts async function getClient(instrumentationKey: string, addInternalFlag?: boolean, xhrOverride?: IXHROverride): Promise { // eslint-disable-next-line local/code-amd-node-module -Index: third-party-src/src/vs/workbench/electron-browser/desktop.contribution.ts +Index: code-editor-src/src/vs/workbench/electron-browser/desktop.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/electron-browser/desktop.contribution.ts -+++ third-party-src/src/vs/workbench/electron-browser/desktop.contribution.ts -@@ -340,7 +340,7 @@ import { MAX_ZOOM_LEVEL, MIN_ZOOM_LEVEL +--- code-editor-src.orig/src/vs/workbench/electron-browser/desktop.contribution.ts ++++ code-editor-src/src/vs/workbench/electron-browser/desktop.contribution.ts +@@ -341,7 +341,7 @@ import product from '../../platform/prod 'telemetry.enableCrashReporter': { 'type': 'boolean', 'description': localize('telemetry.enableCrashReporting', "Enable crash reports to be collected. This helps us improve stability. \nThis option requires restart to take effect."), diff --git a/patches/common/embedded-api.diff b/patches/common/embedded-api.diff index 70bd532..9f02ddd 100644 --- a/patches/common/embedded-api.diff +++ b/patches/common/embedded-api.diff @@ -34,10 +34,10 @@ received. src/vscode-dts/vscode.d.ts | 2 ++ 6 files changed, 47 insertions(+), 1 deletion(-) -Index: third-party-src/src/vs/workbench/api/browser/mainThreadWindow.ts +Index: code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/api/browser/mainThreadWindow.ts -+++ third-party-src/src/vs/workbench/api/browser/mainThreadWindow.ts +--- code-editor-src.orig/src/vs/workbench/api/browser/mainThreadWindow.ts ++++ code-editor-src/src/vs/workbench/api/browser/mainThreadWindow.ts @@ -3,6 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -77,11 +77,11 @@ Index: third-party-src/src/vs/workbench/api/browser/mainThreadWindow.ts + mainWindow.parent.postMessage(message, origin); + } } -Index: third-party-src/src/vs/workbench/api/common/extHost.api.impl.ts +Index: code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/api/common/extHost.api.impl.ts -+++ third-party-src/src/vs/workbench/api/common/extHost.api.impl.ts -@@ -690,6 +690,14 @@ export function createApiFactoryAndRegis +--- code-editor-src.orig/src/vs/workbench/api/common/extHost.api.impl.ts ++++ code-editor-src/src/vs/workbench/api/common/extHost.api.impl.ts +@@ -790,6 +790,14 @@ export function createApiFactoryAndRegis // namespace: window const window: typeof vscode.window = { @@ -96,11 +96,11 @@ Index: third-party-src/src/vs/workbench/api/common/extHost.api.impl.ts get activeTextEditor() { return extHostEditors.getActiveTextEditor(); }, -Index: third-party-src/src/vs/workbench/api/common/extHost.protocol.ts +Index: code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/api/common/extHost.protocol.ts -+++ third-party-src/src/vs/workbench/api/common/extHost.protocol.ts -@@ -1744,6 +1744,7 @@ export interface MainThreadWindowShape e +--- code-editor-src.orig/src/vs/workbench/api/common/extHost.protocol.ts ++++ code-editor-src/src/vs/workbench/api/common/extHost.protocol.ts +@@ -2045,6 +2045,7 @@ export interface MainThreadWindowShape e $getInitialState(): Promise<{ isFocused: boolean; isActive: boolean }>; $openUri(uri: UriComponents, uriString: string | undefined, options: IOpenUriOptions): Promise; $asExternalUri(uri: UriComponents, options: IOpenUriOptions): Promise; @@ -108,18 +108,18 @@ Index: third-party-src/src/vs/workbench/api/common/extHost.protocol.ts } export enum CandidatePortSource { -@@ -2721,6 +2722,7 @@ export interface ExtHostWindowShape { +@@ -3070,6 +3071,7 @@ export interface ExtHostWindowShape { $onDidChangeWindowFocus(value: boolean): void; $onDidChangeWindowActive(value: boolean): void; $onDidChangeActiveNativeWindowHandle(handle: string | undefined): void; + $receiveMessage(message: any): void; } - export interface ExtHostLogLevelServiceShape { -Index: third-party-src/src/vs/workbench/api/common/extHostWindow.ts + export type PowerSystemIdleState = 'active' | 'idle' | 'locked' | 'unknown'; +Index: code-editor-src/src/vs/workbench/api/common/extHostWindow.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/api/common/extHostWindow.ts -+++ third-party-src/src/vs/workbench/api/common/extHostWindow.ts +--- code-editor-src.orig/src/vs/workbench/api/common/extHostWindow.ts ++++ code-editor-src/src/vs/workbench/api/common/extHostWindow.ts @@ -26,6 +26,7 @@ export class ExtHostWindow implements Ex private _proxy: MainThreadWindowShape; @@ -155,10 +155,10 @@ Index: third-party-src/src/vs/workbench/api/common/extHostWindow.ts } export const IExtHostWindow = createDecorator('IExtHostWindow'); -Index: third-party-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +Index: code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts -+++ third-party-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +--- code-editor-src.orig/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts ++++ code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts @@ -44,7 +44,7 @@ export class ExtensionsProposedApi { for (const [k, value] of Object.entries(productService.extensionEnabledApiProposals)) { const key = ExtensionIdentifier.toKey(k); @@ -168,11 +168,11 @@ Index: third-party-src/src/vs/workbench/services/extensions/common/extensionsPro _logService.warn(`Via 'product.json#extensionEnabledApiProposals' extension '${key}' wants API proposal '${name}' but that proposal DOES NOT EXIST. Likely, the proposal has been finalized (check 'vscode.d.ts') or was abandoned.`); return false; } -Index: third-party-src/src/vscode-dts/vscode.d.ts +Index: code-editor-src/src/vscode-dts/vscode.d.ts =================================================================== ---- third-party-src.orig/src/vscode-dts/vscode.d.ts -+++ third-party-src/src/vscode-dts/vscode.d.ts -@@ -11000,6 +11000,8 @@ declare module 'vscode' { +--- code-editor-src.orig/src/vscode-dts/vscode.d.ts ++++ code-editor-src/src/vscode-dts/vscode.d.ts +@@ -11067,6 +11067,8 @@ declare module 'vscode' { * asking for user input. */ export namespace window { diff --git a/patches/common/fix-terminal-autoreplies.diff b/patches/common/fix-terminal-autoreplies.diff deleted file mode 100644 index 1fd9c1a..0000000 --- a/patches/common/fix-terminal-autoreplies.diff +++ /dev/null @@ -1,21 +0,0 @@ -Backport fix for terminal auto-replies security vulnerability (GHSA-3pwg-f3hj-wp8p) - -Adds the 'restricted' flag to the terminal.integrated.autoReplies setting -to prevent untrusted workspaces from configuring automatic terminal replies, -which could be exploited for command injection. - -Advisory: https://github.com/microsoft/vscode/security/advisories/GHSA-3pwg-f3hj-wp8p -Based on: https://github.com/microsoft/vscode/commit/670c6d9b2a6588cc90a1e347015966dc391795ba - -Index: code-editor-src/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts -=================================================================== ---- code-editor-src.orig/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts -+++ code-editor-src/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.ts -@@ -26,6 +26,7 @@ export const terminalAutoRepliesConfigur - }, - { type: 'null' }] - }, -+ restricted: true, - default: {} - }, - }; diff --git a/patches/common/fix-ts-rootdir-webpack.diff b/patches/common/fix-ts-rootdir-webpack.diff index ee362ca..85b8c58 100644 --- a/patches/common/fix-ts-rootdir-webpack.diff +++ b/patches/common/fix-ts-rootdir-webpack.diff @@ -3,10 +3,10 @@ Fix TypeScript rootDir for shared webpack config Adds explicit rootDir '.' to the shared webpack TypeScript loader options to prevent build errors when extensions are compiled from different paths. -Index: third-party-src/extensions/shared.webpack.config.mjs +Index: code-editor-src/extensions/shared.webpack.config.mjs =================================================================== ---- third-party-src.orig/extensions/shared.webpack.config.mjs -+++ third-party-src/extensions/shared.webpack.config.mjs +--- code-editor-src.orig/extensions/shared.webpack.config.mjs ++++ code-editor-src/extensions/shared.webpack.config.mjs @@ -17,6 +17,7 @@ const require = createRequire(import.met const tsLoaderOptions = { compilerOptions: { diff --git a/patches/common/heartbeat.diff b/patches/common/heartbeat.diff index e6fdbfc..5746ce5 100644 --- a/patches/common/heartbeat.diff +++ b/patches/common/heartbeat.diff @@ -3,11 +3,11 @@ Add /healthz health check endpoint to the remote extension host server Returns a JSON response with active connection status, enabling external health monitoring of the Code Editor server. -Index: third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts +Index: code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/remoteExtensionHostAgentServer.ts -+++ third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts -@@ -130,6 +130,13 @@ class RemoteExtensionHostAgentServer ext +--- code-editor-src.orig/src/vs/server/node/remoteExtensionHostAgentServer.ts ++++ code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts +@@ -131,6 +131,13 @@ class RemoteExtensionHostAgentServer ext pathname = pathname.substring(this._serverProductPath.length); } diff --git a/patches/common/installer.diff b/patches/common/installer.diff index e9c8ced..741c755 100644 --- a/patches/common/installer.diff +++ b/patches/common/installer.diff @@ -4,10 +4,10 @@ Adds support for bundling a custom Node.js binary via CUSTOM_NODE_PATH, includes LICENSE-THIRD-PARTY in the server package, and handles missing git version gracefully by falling back to 'unknown'. -Index: third-party-src/build/lib/getVersion.ts +Index: code-editor-src/build/lib/getVersion.ts =================================================================== ---- third-party-src.orig/build/lib/getVersion.ts -+++ third-party-src/build/lib/getVersion.ts +--- code-editor-src.orig/build/lib/getVersion.ts ++++ code-editor-src/build/lib/getVersion.ts @@ -12,5 +12,5 @@ export function getVersion(root: string) version = git.getVersion(root); } @@ -15,19 +15,19 @@ Index: third-party-src/build/lib/getVersion.ts - return version; + return version || "unknown"; } -Index: third-party-src/build/gulpfile.reh.ts +Index: code-editor-src/build/gulpfile.reh.ts =================================================================== ---- third-party-src.orig/build/gulpfile.reh.ts -+++ third-party-src/build/gulpfile.reh.ts -@@ -33,6 +33,7 @@ import log from 'fancy-log'; +--- code-editor-src.orig/build/gulpfile.reh.ts ++++ code-editor-src/build/gulpfile.reh.ts +@@ -35,6 +35,7 @@ import log from 'fancy-log'; import buildfile from './buildfile.ts'; import { fetchUrls, fetchGithub } from './lib/fetch.ts'; import jsonEditor from 'gulp-json-editor'; +import through from 'through2'; - const REPO_ROOT = path.dirname(import.meta.dirname); -@@ -197,6 +198,15 @@ function nodejs(platform: string, arch: + const rcedit = promisify(rceditCallback); +@@ -201,6 +202,15 @@ function nodejs(platform: string, arch: arch = 'x64'; } @@ -43,7 +43,7 @@ Index: third-party-src/build/gulpfile.reh.ts log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from ${product.nodejsRepository}...`); const glibcPrefix = process.env['VSCODE_NODE_GLIBC'] ?? ''; -@@ -251,7 +261,7 @@ function nodejs(platform: string, arch: +@@ -255,7 +265,7 @@ function nodejs(platform: string, arch: } } @@ -52,7 +52,7 @@ Index: third-party-src/build/gulpfile.reh.ts const destination = path.join(BUILD_ROOT, destinationFolderName); return () => { -@@ -328,6 +338,7 @@ function packageTask(type: string, platf +@@ -332,6 +342,7 @@ function packageTask(type: string, platf })); const license = gulp.src(['remote/LICENSE'], { base: 'remote', allowEmpty: true }); @@ -60,7 +60,7 @@ Index: third-party-src/build/gulpfile.reh.ts const jsFilter = util.filter(data => !data.isDirectory() && /\.js$/.test(data.path)); -@@ -343,7 +354,10 @@ function packageTask(type: string, platf +@@ -347,7 +358,10 @@ function packageTask(type: string, platf .pipe(jsFilter.restore); const nodePath = `.build/node/v${nodeVersion}/${platform}-${arch}`; @@ -72,7 +72,7 @@ Index: third-party-src/build/gulpfile.reh.ts let web: NodeJS.ReadWriteStream[] = []; if (type === 'reh-web') { -@@ -359,6 +373,7 @@ function packageTask(type: string, platf +@@ -363,6 +377,7 @@ function packageTask(type: string, platf packageJsonStream, productJsonStream, license, @@ -80,7 +80,7 @@ Index: third-party-src/build/gulpfile.reh.ts sources, deps, node, -@@ -385,20 +400,24 @@ function packageTask(type: string, platf +@@ -389,20 +404,24 @@ function packageTask(type: string, platf .pipe(rename(`bin/${product.serverApplicationName}.cmd`)), ); } else if (platform === 'linux' || platform === 'alpine' || platform === 'darwin') { @@ -105,7 +105,7 @@ Index: third-party-src/build/gulpfile.reh.ts .pipe(rename(`bin/${product.serverApplicationName}`)) .pipe(util.setExecutableBit()) ); -@@ -465,6 +484,13 @@ function tweakProductForServerWeb(produc +@@ -503,6 +522,13 @@ function tweakProductForServerWeb(produc ['', 'min'].forEach(minified => { const sourceFolderName = `out-vscode-${type}${dashed(minified)}`; const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`; @@ -117,5 +117,5 @@ Index: third-party-src/build/gulpfile.reh.ts + )); + gulp.task(slimServerTaskCI); - const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series( + const packageTasks: task.Task[] = [ compileNativeExtensionsBuildTask, diff --git a/patches/common/integration.diff b/patches/common/integration.diff index 497cf11..31f0c63 100644 --- a/patches/common/integration.diff +++ b/patches/common/integration.diff @@ -2,12 +2,16 @@ Rebrand Code OSS to Code Editor Renames the product from 'Code - OSS' to 'Code Editor' across product.json, application names, data folder paths, server names, icons, and URLs. Adds -codeEditorVersion field to the product configuration. +codeEditorVersion field to the product configuration. Customizes the About +dialog to show Code Editor version alongside Code-OSS version. -Index: third-party-src/product.json +Note: In 1.111.x, the dialog.ts file moved from src/vs/platform/dialogs/browser/ +to src/vs/workbench/browser/parts/dialogs/. + +Index: code-editor-src/product.json =================================================================== ---- third-party-src.orig/product.json -+++ third-party-src/product.json +--- code-editor-src.orig/product.json ++++ code-editor-src/product.json @@ -1,18 +1,19 @@ { - "nameShort": "Code - OSS", @@ -49,10 +53,10 @@ Index: third-party-src/product.json "nodejsRepository": "https://nodejs.org", "urlProtocol": "code-oss", "webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/", -Index: third-party-src/src/vs/base/common/product.ts +Index: code-editor-src/src/vs/base/common/product.ts =================================================================== ---- third-party-src.orig/src/vs/base/common/product.ts -+++ third-party-src/src/vs/base/common/product.ts +--- code-editor-src.orig/src/vs/base/common/product.ts ++++ code-editor-src/src/vs/base/common/product.ts @@ -69,6 +69,7 @@ export interface IProductConfiguration { readonly date?: string; readonly quality?: string; @@ -61,10 +65,10 @@ Index: third-party-src/src/vs/base/common/product.ts readonly nameShort: string; readonly nameLong: string; -Index: third-party-src/src/vs/platform/product/common/product.ts +Index: code-editor-src/src/vs/platform/product/common/product.ts =================================================================== ---- third-party-src.orig/src/vs/platform/product/common/product.ts -+++ third-party-src/src/vs/platform/product/common/product.ts +--- code-editor-src.orig/src/vs/platform/product/common/product.ts ++++ code-editor-src/src/vs/platform/product/common/product.ts @@ -62,8 +62,8 @@ else { if (Object.keys(product).length === 0) { Object.assign(product, { @@ -76,11 +80,11 @@ Index: third-party-src/src/vs/platform/product/common/product.ts applicationName: 'code-oss', dataFolderName: '.vscode-oss', urlProtocol: 'code-oss', -Index: third-party-src/src/vs/platform/dialogs/browser/dialog.ts +Index: code-editor-src/src/vs/workbench/browser/parts/dialogs/dialog.ts =================================================================== ---- third-party-src.orig/src/vs/platform/dialogs/browser/dialog.ts -+++ third-party-src/src/vs/platform/dialogs/browser/dialog.ts -@@ -46,9 +46,9 @@ export function createWorkbenchDialogOpt +--- code-editor-src.orig/src/vs/workbench/browser/parts/dialogs/dialog.ts ++++ code-editor-src/src/vs/workbench/browser/parts/dialogs/dialog.ts +@@ -48,9 +48,9 @@ export function createWorkbenchDialogOpt export function createBrowserAboutDialogDetails(productService: IProductService): { title: string; details: string; detailsToCopy: string } { const detailString = (useAgo: boolean): string => { return localize('aboutDetail', diff --git a/patches/common/preapplied/fix-chat-debug-editor-visibility.diff b/patches/common/preapplied/fix-chat-debug-editor-visibility.diff new file mode 100644 index 0000000..f65243b --- /dev/null +++ b/patches/common/preapplied/fix-chat-debug-editor-visibility.diff @@ -0,0 +1,18 @@ +Fix upstream bug where setEditorVisible is missing protected modifier + +The chatDebugEditor.ts overrides setEditorVisible without the protected modifier, +which causes the mangler to fail because it makes a protected method public. + +Index: code-editor-src/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts +=================================================================== +--- code-editor-src.orig/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts ++++ code-editor-src/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.ts +@@ -303,7 +303,7 @@ export class ChatDebugEditor extends Edi + } + } + +- override setEditorVisible(visible: boolean): void { ++ protected override setEditorVisible(visible: boolean): void { + super.setEditorVisible(visible); + if (visible) { + this.telemetryService.publicLog2<{}, ChatDebugPanelOpenedClassification>('chatDebugPanelOpened'); diff --git a/patches/common/preapplied/remove-unsafe-headers.diff b/patches/common/preapplied/remove-unsafe-headers.diff index ef4cd65..c138158 100644 --- a/patches/common/preapplied/remove-unsafe-headers.diff +++ b/patches/common/preapplied/remove-unsafe-headers.diff @@ -1,9 +1,9 @@ Replace 'unsafe-eval' with 'wasm-unsafe-eval' in Content Security Policy directives -Index: third-party-src/src/vs/server/node/webClientServer.ts +Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/webClientServer.ts -+++ third-party-src/src/vs/server/node/webClientServer.ts +--- code-editor-src.orig/src/vs/server/node/webClientServer.ts ++++ code-editor-src/src/vs/server/node/webClientServer.ts @@ -423,7 +423,7 @@ export class WebClientServer { 'default-src \'self\';', 'img-src \'self\' https: data: blob:;', @@ -13,10 +13,10 @@ Index: third-party-src/src/vs/server/node/webClientServer.ts 'child-src \'self\';', `frame-src 'self' https://*.vscode-cdn.net data:;`, 'worker-src \'self\' data: blob:;', -Index: third-party-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +Index: code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts -+++ third-party-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +--- code-editor-src.orig/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts ++++ code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts @@ -320,7 +320,7 @@ export class BackLayerWebView -Index: third-party-src/src/vs/code/electron-browser/workbench/workbench-dev.html +Index: code-editor-src/src/vs/code/electron-browser/workbench/workbench-dev.html =================================================================== ---- third-party-src.orig/src/vs/code/electron-browser/workbench/workbench-dev.html -+++ third-party-src/src/vs/code/electron-browser/workbench/workbench-dev.html +--- code-editor-src.orig/src/vs/code/electron-browser/workbench/workbench-dev.html ++++ code-editor-src/src/vs/code/electron-browser/workbench/workbench-dev.html @@ -26,7 +26,7 @@ ; script-src @@ -52,10 +52,10 @@ Index: third-party-src/src/vs/code/electron-browser/workbench/workbench-dev.html blob: 'nonce-0c6a828f1297' ; -Index: third-party-src/src/vs/code/electron-browser/workbench/workbench.html +Index: code-editor-src/src/vs/code/electron-browser/workbench/workbench.html =================================================================== ---- third-party-src.orig/src/vs/code/electron-browser/workbench/workbench.html -+++ third-party-src/src/vs/code/electron-browser/workbench/workbench.html +--- code-editor-src.orig/src/vs/code/electron-browser/workbench/workbench.html ++++ code-editor-src/src/vs/code/electron-browser/workbench/workbench.html @@ -26,7 +26,7 @@ ; script-src diff --git a/patches/common/proposed-api.diff b/patches/common/proposed-api.diff index 16770a8..0af0319 100644 --- a/patches/common/proposed-api.diff +++ b/patches/common/proposed-api.diff @@ -6,11 +6,11 @@ Makes isProposedApiEnabled always return true and forces _envEnablesProposedApiForAll to true, allowing all extensions to use proposed API features without explicit opt-in. -Index: third-party-src/src/vs/workbench/services/extensions/common/extensions.ts +Index: code-editor-src/src/vs/workbench/services/extensions/common/extensions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/extensions/common/extensions.ts -+++ third-party-src//src/vs/workbench/services/extensions/common/extensions.ts -@@ -314,10 +314,7 @@ function extensionDescriptionArrayToMap( +--- code-editor-src.orig/src/vs/workbench/services/extensions/common/extensions.ts ++++ code-editor-src/src/vs/workbench/services/extensions/common/extensions.ts +@@ -321,10 +321,7 @@ function extensionDescriptionArrayToMap( } export function isProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): boolean { @@ -22,10 +22,10 @@ Index: third-party-src/src/vs/workbench/services/extensions/common/extensions.ts } export function checkProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): void { -Index: third-party-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +Index: code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts -+++ third-party-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts +--- code-editor-src.orig/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts ++++ code-editor-src/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts @@ -31,7 +31,7 @@ export class ExtensionsProposedApi { this._envEnabledExtensions = new Set((_environmentService.extensionEnabledProposedApi ?? []).map(id => ExtensionIdentifier.toKey(id))); @@ -35,4 +35,3 @@ Index: third-party-src/src/vs/workbench/services/extensions/common/extensionsPro !_environmentService.isBuilt || // always allow proposed API when running out of sources (_environmentService.isExtensionDevelopment && productService.quality !== 'stable') || // do not allow proposed API against stable builds when developing an extension (this._envEnabledExtensions.size === 0 && Array.isArray(_environmentService.extensionEnabledProposedApi)); // always allow proposed API if --enable-proposed-api is provided without extension ID - diff --git a/patches/common/remove-accounts-feature.diff b/patches/common/remove-accounts-feature.diff index 044c767..d41bcdc 100644 --- a/patches/common/remove-accounts-feature.diff +++ b/patches/common/remove-accounts-feature.diff @@ -3,10 +3,10 @@ Remove the accounts feature from the activity bar and authentication contributio Hides the accounts visibility toggle, disables authentication action registrations, and comments out authentication workbench contributions. -Index: third-party-src/src/vs/workbench/browser/parts/globalCompositeBar.ts +Index: code-editor-src/src/vs/workbench/browser/parts/globalCompositeBar.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/parts/globalCompositeBar.ts -+++ third-party-src/src/vs/workbench/browser/parts/globalCompositeBar.ts +--- code-editor-src.orig/src/vs/workbench/browser/parts/globalCompositeBar.ts ++++ code-editor-src/src/vs/workbench/browser/parts/globalCompositeBar.ts @@ -132,7 +132,7 @@ export class GlobalCompositeBar extends } @@ -25,10 +25,10 @@ Index: third-party-src/src/vs/workbench/browser/parts/globalCompositeBar.ts } private set accountsVisibilityPreference(value: boolean) { -Index: third-party-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts @@ -88,13 +88,6 @@ class AuthenticationContribution extends } diff --git a/patches/common/remove-builtin-extensions.diff b/patches/common/remove-builtin-extensions.diff index 8b68ab8..39a5def 100644 --- a/patches/common/remove-builtin-extensions.diff +++ b/patches/common/remove-builtin-extensions.diff @@ -1,13 +1,41 @@ -Remove built-in extensions from product.json +Remove built-in extensions and disable GitHub Copilot features -Clears the builtInExtensions array to prevent downloading extensions -from external sources during the build. +This patch customizes Code Editor for AWS by: -Index: third-party-src/product.json +1. product.json: + - Clears builtInExtensions array (prevents downloading ms-vscode.js-debug, + js-debug-companion, vscode-js-profile-table from external sources) + - Replaces GitHub Copilot defaultChatAgent with Amazon Q configuration + +2. assignmentFilters.ts: + - Replaces tas-client import with inline IExperimentationFilterProvider interface + (avoids external dependency) + - Disables GitHub Copilot extension version tracking + +3. chat.contribution.ts: + - Adds `included: false` to all chat/AI configuration settings to hide them + from the Settings UI (features like chat tips, agent mode, MCP servers, + inline chat, checkpoints, etc.) + +4. inlineChat.ts: + - Adds `included: false` to inline chat settings (EnableV2, notebookAgent, + Affordance, RenderMode, FixDiagnostics) + +5. accessibilityConfiguration.ts: + - Adds `included: false` to chat-related accessibility settings + +6. settingsLayout.ts: + - Removes mergeEditor settings group from the Settings UI layout + +7. Other files: + - Disables various Copilot/chat-related features and telemetry settings + - Hides experimental AI features from user-facing configuration + +Index: code-editor-src/product.json =================================================================== ---- third-party-src.orig/product.json -+++ third-party-src/product.json -@@ -33,122 +33,14 @@ +--- code-editor-src.orig/product.json ++++ code-editor-src/product.json +@@ -33,127 +33,14 @@ "nodejsRepository": "https://nodejs.org", "urlProtocol": "code-oss", "webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/", @@ -30,8 +58,8 @@ Index: third-party-src/product.json - }, - { - "name": "ms-vscode.js-debug", -- "version": "1.105.0", -- "sha256": "0c45b90342e8aafd4ff2963b4006de64208ca58c2fd01fea7a710fe61dcfd12a", +- "version": "1.110.0", +- "sha256": "ad3f7d935b64f4ee123853c464b47b3cba13e5018edef831770ae9c3eb218f5b", - "repo": "https://github.com/microsoft/vscode-js-debug", - "metadata": { - "id": "25629058-ddac-4e17-abba-74678e126c5d", @@ -65,6 +93,8 @@ Index: third-party-src/product.json "defaultChatAgent": { - "extensionId": "GitHub.copilot", - "chatExtensionId": "GitHub.copilot-chat", +- "chatExtensionOutputId": "GitHub.copilot-chat.GitHub Copilot Chat.log", +- "chatExtensionOutputExtensionStateCommand": "github.copilot.debug.extensionState", - "documentationUrl": "https://aka.ms/github-copilot-overview", - "termsStatementUrl": "https://aka.ms/github-copilot-terms-statement", - "privacyStatementUrl": "https://aka.ms/github-copilot-privacy-statement", @@ -93,6 +123,7 @@ Index: third-party-src/product.json - "name": "Apple" - } - }, +- "providerExtensionId": "vscode.github-authentication", - "providerUriSetting": "github-enterprise.uri", - "providerScopes": [ - [ @@ -120,7 +151,9 @@ Index: third-party-src/product.json - "resolveMergeConflictsCommand": "github.copilot.git.resolveMergeConflicts", - "completionsAdvancedSetting": "github.copilot.advanced", - "completionsEnablementSetting": "github.copilot.enable", -- "nextEditSuggestionsSetting": "github.copilot.nextEditSuggestions.enabled" +- "nextEditSuggestionsSetting": "github.copilot.nextEditSuggestions.enabled", +- "tokenEntitlementUrl": "https://api.github.com/copilot_internal/v2/token", +- "mcpRegistryDataUrl": "https://api.github.com/copilot/mcp_registry" + "extensionId": "Amazon.amazon-q-vscode", + "chatExtensionId": "Amazon.amazon-q-vscode" }, @@ -135,16 +168,17 @@ Index: third-party-src/product.json ] }, "linkProtectionTrustedDomains": [ -Index: third-party-src/src/vs/workbench/services/assignment/common/assignmentFilters.ts +Index: code-editor-src/src/vs/workbench/services/assignment/common/assignmentFilters.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/assignment/common/assignmentFilters.ts -+++ third-party-src/src/vs/workbench/services/assignment/common/assignmentFilters.ts -@@ -3,7 +3,14 @@ +--- code-editor-src.orig/src/vs/workbench/services/assignment/common/assignmentFilters.ts ++++ code-editor-src/src/vs/workbench/services/assignment/common/assignmentFilters.ts +@@ -3,8 +3,14 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import type { IExperimentationFilterProvider } from 'tas-client'; -+import { Event } from '../../../../base/common/event.js'; +-import { Emitter } from '../../../../base/common/event.js'; ++import { Emitter, Event } from '../../../../base/common/event.js'; + +// Inline interface to avoid tas-client dependency +interface IExperimentationFilterProvider { @@ -152,12 +186,12 @@ Index: third-party-src/src/vs/workbench/services/assignment/common/assignmentFil + getFilters(): Map; + onDidChangeFilters?: Event; +} - import { IExtensionService } from '../../extensions/common/extensions.js'; import { Disposable } from '../../../../base/common/lifecycle.js'; - import { ExtensionIdentifier } from '../../../../platform/extensions/common/extensions.js'; -@@ -74,54 +81,25 @@ export class CopilotAssignmentFilterProv - this.copilotSku = this._storageService.get(StorageVersionKeys.CopilotSku, StorageScope.PROFILE); - this.copilotInternalOrg = this._storageService.get(StorageVersionKeys.CopilotInternalOrg, StorageScope.PROFILE); + import { getInternalOrg } from '../../../../platform/assignment/common/assignment.js'; + import { IDefaultAccountService } from '../../../../platform/defaultAccount/common/defaultAccount.js'; +@@ -101,11 +107,12 @@ export class CopilotAssignmentFilterProv + this.copilotIsSn = this._storageService.get(StorageVersionKeys.CopilotIsSn, StorageScope.PROFILE); + this.copilotIsFcv1 = this._storageService.get(StorageVersionKeys.CopilotIsFcv1, StorageScope.PROFILE); - this._register(this._extensionService.onDidChangeExtensionsStatus(extensionIdentifiers => { - if (extensionIdentifiers.some(identifier => ExtensionIdentifier.equals(identifier, 'github.copilot') || ExtensionIdentifier.equals(identifier, 'github.copilot-chat'))) { @@ -173,12 +207,15 @@ Index: third-party-src/src/vs/workbench/services/assignment/common/assignmentFil this._register(this._chatEntitlementService.onDidChangeEntitlement(() => { this.updateCopilotEntitlementInfo(); +@@ -115,45 +122,15 @@ export class CopilotAssignmentFilterProv + this.updateCopilotTokenInfo(); })); - this.updateExtensionVersions(); + // Disabled: GitHub Copilot extensions are not included in this build + // this.updateExtensionVersions(); this.updateCopilotEntitlementInfo(); + this.updateCopilotTokenInfo(); } private async updateExtensionVersions() { @@ -220,44 +257,44 @@ Index: third-party-src/src/vs/workbench/services/assignment/common/assignmentFil } private updateCopilotEntitlementInfo() { -Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -148,43 +148,51 @@ configurationRegistry.registerConfigurat +--- code-editor-src.orig/src/vs/workbench/contrib/chat/browser/chat.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +@@ -195,56 +195,66 @@ configurationRegistry.registerConfigurat description: nls.localize('chat.fontSize', "Controls the font size in pixels in chat messages."), default: 13, minimum: 6, - maximum: 100 + maximum: 100, -+ included: false ++ included: false, }, 'chat.fontFamily': { type: 'string', description: nls.localize('chat.fontFamily', "Controls the font family in chat messages."), - default: 'default' + default: 'default', -+ included: false ++ included: false, }, 'chat.editor.fontSize': { type: 'number', description: nls.localize('interactiveSession.editor.fontSize', "Controls the font size in pixels in chat codeblocks."), default: isMacintosh ? 12 : 14, -+ included: false ++ included: false, }, 'chat.editor.fontFamily': { type: 'string', description: nls.localize('interactiveSession.editor.fontFamily', "Controls the font family in chat codeblocks."), - default: 'default' + default: 'default', -+ included: false ++ included: false, }, 'chat.editor.fontWeight': { type: 'string', description: nls.localize('interactiveSession.editor.fontWeight', "Controls the font weight in chat codeblocks."), - default: 'default' + default: 'default', -+ included: false ++ included: false, }, 'chat.editor.wordWrap': { type: 'string', @@ -265,37 +302,53 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t default: 'off', - enum: ['on', 'off'] + enum: ['on', 'off'], -+ included: false ++ included: false, }, 'chat.editor.lineHeight': { type: 'number', description: nls.localize('interactiveSession.editor.lineHeight', "Controls the line height in pixels in chat codeblocks. Use 0 to compute the line height from the font size."), - default: 0 + default: 0, -+ included: false ++ included: false, }, - 'chat.commandCenter.enabled': { + [ChatConfiguration.AgentStatusEnabled]: { type: 'boolean', - markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control chat (requires {0}).", '`#window.commandCenter#`'), -- default: true -+ default: true, -+ included: false + markdownDescription: nls.localize('chat.agentsControl.enabled', "Controls whether the 'Agent Status' indicator is shown in the title bar command center. Enabling this setting will automatically enable {0}. The unread/in-progress session indicators require {1} to be enabled.", '`#window.commandCenter#`', '`#chat.viewSessions.enabled#`'), + default: true, +- tags: ['experimental'] ++ tags: ['experimental'], ++ included: false, + }, + [ChatConfiguration.UnifiedAgentsBar]: { + type: 'boolean', + markdownDescription: nls.localize('chat.unifiedAgentsBar.enabled', "Replaces the command center search box with a unified chat and search widget."), + default: false, +- tags: ['experimental'] ++ tags: ['experimental'], ++ included: false, + }, + [ChatConfiguration.AgentSessionProjectionEnabled]: { + type: 'boolean', + markdownDescription: nls.localize('chat.agentSessionProjection.enabled', "Controls whether Agent Session Projection mode is enabled for reviewing agent sessions in a focused workspace."), + default: false, + tags: ['experimental'], ++ included: false, }, 'chat.implicitContext.enabled': { type: 'object', -@@ -201,52 +209,61 @@ configurationRegistry.registerConfigurat - }, - default: { - 'panel': 'always', +@@ -265,31 +275,36 @@ configurationRegistry.registerConfigurat + tags: ['experimental'], + experiment: { + mode: 'startup' - } + }, -+ included: false ++ included: false, }, 'chat.implicitContext.suggestedContext': { type: 'boolean', markdownDescription: nls.localize('chat.implicitContext.suggestedContext', "Controls whether the new implicit context flow is shown. In Ask and Edit modes, the context will automatically be included. When using an agent, context will be suggested as an attachment. Selections are always included as context."), default: true, -+ included: false ++ included: false, }, 'chat.editing.autoAcceptDelay': { type: 'number', @@ -304,21 +357,39 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t minimum: 0, - maximum: 100 + maximum: 100, -+ included: false ++ included: false, }, 'chat.editing.confirmEditRequestRemoval': { type: 'boolean', scope: ConfigurationScope.APPLICATION, markdownDescription: nls.localize('chat.editing.confirmEditRequestRemoval', "Whether to show a confirmation before removing a request and its associated edits."), default: true, -+ included: false ++ included: false, }, 'chat.editing.confirmEditRequestRetry': { type: 'boolean', scope: ConfigurationScope.APPLICATION, markdownDescription: nls.localize('chat.editing.confirmEditRequestRetry', "Whether to show a confirmation before retrying a request and its associated edits."), default: true, -+ included: false ++ included: false, + }, + 'chat.editing.explainChanges.enabled': { + type: 'boolean', +@@ -308,7 +323,8 @@ configurationRegistry.registerConfigurat + tags: ['experimental'], + experiment: { + mode: 'auto' +- } ++ }, ++ included: false, + }, + 'chat.upvoteAnimation': { + type: 'string', +@@ -322,17 +338,20 @@ configurationRegistry.registerConfigurat + ], + description: nls.localize('chat.upvoteAnimation', "Controls whether an animation is shown when clicking the thumbs up button on a chat response."), + default: 'floatingThumbs', ++ included: false, }, 'chat.experimental.detectParticipant.enabled': { type: 'boolean', @@ -326,31 +397,38 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t description: nls.localize('chat.experimental.detectParticipant.enabled', "Enables chat participant autodetection for panel chat."), - default: null + default: null, -+ included: false ++ included: false, }, 'chat.detectParticipant.enabled': { type: 'boolean', description: nls.localize('chat.detectParticipant.enabled', "Enables chat participant autodetection for panel chat."), - default: true + default: true, -+ included: false ++ included: false, }, - 'chat.renderRelatedFiles': { - type: 'boolean', - description: nls.localize('chat.renderRelatedFiles', "Controls whether related files should be rendered in the chat input."), -- default: false -+ default: false, -+ included: false + [ChatConfiguration.InlineReferencesStyle]: { + type: 'string', +@@ -342,7 +361,8 @@ configurationRegistry.registerConfigurat + nls.localize('chat.inlineReferences.style.link', "Display file and symbol references as simple blue links without icons.") + ], + description: nls.localize('chat.inlineReferences.style', "Controls how file and symbol references are displayed in chat messages."), +- default: 'box' ++ default: 'box', ++ included: false, }, - 'chat.notifyWindowOnConfirmation': { - type: 'boolean', - description: nls.localize('chat.notifyWindowOnConfirmation', "Controls whether a chat session should present the user with an OS notification when a confirmation is needed while the window is not in focus. This includes a window badge as well as notification toast."), - default: true, -+ included: false + [ChatConfiguration.EditorAssociations]: { + type: 'object', +@@ -351,7 +371,8 @@ configurationRegistry.registerConfigurat + type: 'string' + }, + default: { +- } ++ }, ++ included: false, }, - [ChatConfiguration.GlobalAutoApprove]: { - default: false, -@@ -254,6 +271,7 @@ configurationRegistry.registerConfigurat + [ChatConfiguration.NotifyWindowOnConfirmation]: { + type: 'string', +@@ -383,6 +404,7 @@ configurationRegistry.registerConfigurat type: 'boolean', scope: ConfigurationScope.APPLICATION_MACHINE, tags: ['experimental'], @@ -358,7 +436,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t policy: { name: 'ChatToolsAutoApprove', category: PolicyCategory.InteractiveSession, -@@ -279,7 +297,8 @@ configurationRegistry.registerConfigurat +@@ -410,7 +432,8 @@ configurationRegistry.registerConfigurat type: 'object', additionalProperties: { type: 'boolean', @@ -368,7 +446,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [ChatConfiguration.AutoApprovedUrls]: { default: {}, -@@ -296,7 +315,8 @@ configurationRegistry.registerConfigurat +@@ -427,7 +450,8 @@ configurationRegistry.registerConfigurat } } ] @@ -378,20 +456,12 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [ChatConfiguration.EligibleForAutoApproval]: { default: {}, -@@ -326,52 +346,61 @@ configurationRegistry.registerConfigurat +@@ -456,41 +480,48 @@ configurationRegistry.registerConfigurat value: nls.localize('chat.tools.eligibleForAutoApproval', 'Controls which tools are eligible for automatic approval. Tools set to \'false\' will always present a confirmation and will never offer the option to auto-approve. The default behavior (or setting a tool to \'true\') may result in the tool offering auto-approval options.') } }, - } + }, -+ included: false, - }, - [ChatConfiguration.SuspendThrottling]: { // TODO@deepak1556 remove this once https://github.com/microsoft/vscode/issues/263554 is resolved. - type: 'boolean', - description: nls.localize('chat.suspendThrottling', "Controls whether background throttling is suspended when a chat request is in progress, allowing the chat session to continue even when the window is not in focus."), - default: true, -- tags: ['preview'] -+ tags: ['preview'], + included: false, }, 'chat.sendElementsToChat.enabled': { @@ -429,12 +499,6 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t type: 'string', enum: ['inline', 'hover', 'input', 'none'], default: 'inline', -+ included: false, - }, - [ChatConfiguration.ChatViewWelcomeEnabled]: { - type: 'boolean', - default: true, - description: nls.localize('chat.welcome.enabled', "Show welcome banner when chat is empty."), + included: false, }, [ChatConfiguration.ChatViewSessionsEnabled]: { @@ -445,22 +509,30 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [ChatConfiguration.ChatViewSessionsOrientation]: { type: 'string', -@@ -382,26 +411,31 @@ configurationRegistry.registerConfigurat +@@ -501,16 +532,19 @@ configurationRegistry.registerConfigurat ], default: 'sideBySide', description: nls.localize('chat.viewSessions.orientation', "Controls the orientation of the chat agent sessions view when it is shown alongside the chat."), + included: false, }, - [ChatConfiguration.ChatViewTitleEnabled]: { + [ChatConfiguration.ChatViewProgressBadgeEnabled]: { type: 'boolean', - default: true, - description: nls.localize('chat.viewTitle.enabled', "Show the title of the chat above the chat in the chat view."), + default: false, + description: nls.localize('chat.viewProgressBadge.enabled', "Show a progress badge on the chat view when an agent session is in progress that is opened in that view."), + included: false, }, - [ChatConfiguration.NotifyWindowOnResponseReceived]: { + [ChatConfiguration.ChatContextUsageEnabled]: { type: 'boolean', default: true, - description: nls.localize('chat.notifyWindowOnResponseReceived', "Controls whether a chat session should present the user with an OS notification when a response is received while the window is not in focus. This includes a window badge as well as notification toast."), + description: nls.localize('chat.contextUsage.enabled', "Show the context window usage indicator in the chat input."), ++ included: false, + }, + [ChatConfiguration.NotifyWindowOnResponseReceived]: { + type: 'string', +@@ -522,16 +556,19 @@ configurationRegistry.registerConfigurat + ], + default: 'windowNotFocused', + description: nls.localize('chat.notifyWindowOnResponseReceived', "Controls whether a chat session should present the user with an OS notification when a response is received. This includes a window badge as well as notification toast."), + included: false, }, 'chat.checkpoints.enabled': { @@ -478,7 +550,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [mcpAccessConfig]: { type: 'string', -@@ -447,7 +481,8 @@ configurationRegistry.registerConfigurat +@@ -577,7 +614,8 @@ configurationRegistry.registerConfigurat } ] }, @@ -488,15 +560,22 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [mcpAutoStartConfig]: { type: 'string', -@@ -464,6 +499,7 @@ configurationRegistry.registerConfigurat +@@ -594,12 +632,14 @@ configurationRegistry.registerConfigurat nls.localize('chat.mcp.autostart.newAndOutdated', "Automatically start new and outdated MCP servers that are not yet running.") ], tags: ['experimental'], ++ included: false, + }, + [mcpAppsEnabledConfig]: { + type: 'boolean', + description: nls.localize('chat.mcp.ui.enabled', "Controls whether MCP servers can provide custom UI for tool invocations."), + default: true, + tags: ['experimental'], + included: false, }, [mcpServerSamplingSection]: { type: 'object', -@@ -491,6 +527,7 @@ configurationRegistry.registerConfigurat +@@ -627,6 +667,7 @@ configurationRegistry.registerConfigurat } } }, @@ -504,23 +583,17 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [AssistedTypes[AddConfigurationType.NuGetPackage].enabledConfigKey]: { type: 'boolean', -@@ -499,12 +536,14 @@ configurationRegistry.registerConfigurat +@@ -635,7 +676,8 @@ configurationRegistry.registerConfigurat tags: ['experimental'], experiment: { mode: 'startup' - } + }, -+ included: false, - }, - [ChatConfiguration.Edits2Enabled]: { - type: 'boolean', - description: nls.localize('chat.edits2Enabled', "Enable the new Edits mode that is based on tool-calling. When this is enabled, models that don't support tool-calling are unavailable for Edits mode."), - default: false, + included: false, }, [ChatConfiguration.ExtensionToolsEnabled]: { type: 'boolean', -@@ -520,7 +559,8 @@ configurationRegistry.registerConfigurat +@@ -651,7 +693,8 @@ configurationRegistry.registerConfigurat value: nls.localize('chat.extensionToolsEnabled', "Enable using tools contributed by third-party extensions.") } }, @@ -528,12 +601,32 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t + }, + included: false, }, - [ChatConfiguration.AgentEnabled]: { + [ChatConfiguration.PluginsEnabled]: { type: 'boolean', -@@ -537,19 +577,22 @@ configurationRegistry.registerConfigurat +@@ -692,8 +735,9 @@ configurationRegistry.registerConfigurat + key: 'chat.agent.enabled.description', value: nls.localize('chat.agent.enabled.description', "When enabled, agent mode can be activated from chat and tools in agentic contexts with side effects can be used."), } - } +- } +- } ++ }, ++ }, ++ included: false, + }, + [ChatConfiguration.PlanAgentDefaultModel]: { + type: 'string', +@@ -720,6 +764,7 @@ configurationRegistry.registerConfigurat + ], + description: nls.localize('chat.requestQueuing.defaultAction.description', "Controls which action is the default for the queue button when a request is in progress."), + default: 'steer', ++ included: false, + }, + [ChatConfiguration.EditModeHidden]: { + type: 'boolean', +@@ -728,18 +773,21 @@ configurationRegistry.registerConfigurat + tags: ['experimental'], + experiment: { + mode: 'auto' - } + }, + included: false, @@ -542,7 +635,6 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t type: 'boolean', description: nls.localize('chat.mathEnabled.description', "Enable math rendering in chat responses using KaTeX."), default: true, - tags: ['preview'], + included: false, }, [ChatConfiguration.ShowCodeBlockProgressAnimation]: { @@ -552,9 +644,9 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t tags: ['experimental'], + included: false, }, - ['chat.statusWidget.sku']: { - type: 'string', -@@ -563,7 +606,8 @@ configurationRegistry.registerConfigurat + ['chat.statusWidget.anonymous']: { + type: 'boolean', +@@ -748,7 +796,8 @@ configurationRegistry.registerConfigurat tags: ['experimental', 'advanced'], experiment: { mode: 'auto' @@ -564,7 +656,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [mcpDiscoverySection]: { type: 'object', -@@ -571,13 +615,14 @@ configurationRegistry.registerConfigurat +@@ -756,13 +805,14 @@ configurationRegistry.registerConfigurat additionalProperties: false, default: Object.fromEntries(allDiscoverySources.map(k => [k, false])), markdownDescription: nls.localize('mcp.discovery.enabled', "Configures discovery of Model Context Protocol servers from configuration from various other applications."), @@ -580,7 +672,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [mcpGalleryServiceUrlConfig]: { type: 'string', -@@ -626,6 +671,7 @@ configurationRegistry.registerConfigurat +@@ -815,6 +865,7 @@ configurationRegistry.registerConfigurat '/Users/vscode/repos/instructions': true, }, ], @@ -588,7 +680,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [PromptsConfig.PROMPT_LOCATIONS_KEY]: { type: 'object', -@@ -655,6 +701,7 @@ configurationRegistry.registerConfigurat +@@ -848,6 +899,7 @@ configurationRegistry.registerConfigurat '/Users/vscode/repos/prompts': true, }, ], @@ -596,15 +688,23 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [PromptsConfig.MODE_LOCATION_KEY]: { type: 'object', -@@ -685,6 +732,7 @@ configurationRegistry.registerConfigurat +@@ -878,6 +930,7 @@ configurationRegistry.registerConfigurat '/Users/vscode/repos/chatmodes': true, }, ], ++ included: false, + }, + [PromptsConfig.AGENTS_LOCATION_KEY]: { + type: 'object', +@@ -914,6 +967,7 @@ configurationRegistry.registerConfigurat + '~/.copilot/agents': true, + }, + ], + included: false, }, [PromptsConfig.USE_AGENT_MD]: { type: 'boolean', -@@ -693,7 +741,8 @@ configurationRegistry.registerConfigurat +@@ -922,7 +976,8 @@ configurationRegistry.registerConfigurat default: true, restricted: true, disallowConfigurationDefault: true, @@ -614,7 +714,7 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [PromptsConfig.USE_NESTED_AGENT_MD]: { type: 'boolean', -@@ -702,7 +751,8 @@ configurationRegistry.registerConfigurat +@@ -931,7 +986,8 @@ configurationRegistry.registerConfigurat default: false, restricted: true, disallowConfigurationDefault: true, @@ -622,57 +722,99 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t + tags: ['experimental', 'prompts', 'reusable prompts', 'prompt snippets', 'instructions'], + included: false, }, - [PromptsConfig.USE_AGENT_SKILLS]: { + [PromptsConfig.USE_CLAUDE_MD]: { type: 'boolean', -@@ -711,7 +761,8 @@ configurationRegistry.registerConfigurat - default: false, +@@ -940,7 +996,8 @@ configurationRegistry.registerConfigurat + default: true, restricted: true, disallowConfigurationDefault: true, -- tags: ['experimental', 'prompts', 'reusable prompts', 'prompt snippets', 'instructions'] -+ tags: ['experimental', 'prompts', 'reusable prompts', 'prompt snippets', 'instructions'], +- tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'] ++ tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'], + included: false, }, - [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: { - type: 'object', -@@ -739,6 +790,7 @@ configurationRegistry.registerConfigurat - 'document': 'resourceLangId == markdown' - } - ], + [PromptsConfig.USE_AGENT_SKILLS]: { + type: 'boolean', +@@ -949,7 +1006,8 @@ configurationRegistry.registerConfigurat + default: true, + restricted: true, + disallowConfigurationDefault: true, +- tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'] ++ tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'], + included: false, }, - [ChatConfiguration.TodosShowWidget]: { + [PromptsConfig.USE_SKILL_ADHERENCE_PROMPT]: { type: 'boolean', -@@ -747,7 +799,8 @@ configurationRegistry.registerConfigurat - tags: ['experimental'], +@@ -961,7 +1019,8 @@ configurationRegistry.registerConfigurat + tags: ['experimental', 'prompts', 'reusable prompts', 'prompt snippets', 'instructions'], experiment: { mode: 'auto' - } + }, + included: false, }, - 'chat.todoListTool.writeOnly': { + [PromptsConfig.INCLUDE_APPLYING_INSTRUCTIONS]: { type: 'boolean', -@@ -756,7 +809,8 @@ configurationRegistry.registerConfigurat - tags: ['experimental'], - experiment: { - mode: 'auto' -- } -+ }, +@@ -970,7 +1029,8 @@ configurationRegistry.registerConfigurat + default: true, + restricted: true, + disallowConfigurationDefault: true, +- tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'] ++ tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'], + included: false, }, - 'chat.todoListTool.descriptionField': { + [PromptsConfig.INCLUDE_REFERENCED_INSTRUCTIONS]: { type: 'boolean', -@@ -765,7 +819,8 @@ configurationRegistry.registerConfigurat - tags: ['experimental'], - experiment: { - mode: 'auto' -- } -+ }, +@@ -979,7 +1039,8 @@ configurationRegistry.registerConfigurat + default: false, + restricted: true, + disallowConfigurationDefault: true, +- tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'] ++ tags: ['prompts', 'reusable prompts', 'prompt snippets', 'instructions'], ++ included: false, + }, + [PromptsConfig.SKILLS_LOCATION_KEY]: { + type: 'object', +@@ -1011,6 +1072,7 @@ configurationRegistry.registerConfigurat + '~/.custom/skills': true, + }, + ], ++ included: false, + }, + [PromptsConfig.HOOKS_LOCATION_KEY]: { + type: 'object', +@@ -1039,6 +1101,7 @@ configurationRegistry.registerConfigurat + 'custom-hooks/hooks.json': true, + }, + ], ++ included: false, + }, + [PromptsConfig.USE_CHAT_HOOKS]: { + type: 'boolean', +@@ -1077,7 +1140,8 @@ configurationRegistry.registerConfigurat + default: false, + restricted: true, + disallowConfigurationDefault: true, +- tags: ['preview', 'prompts', 'hooks', 'agent'] ++ tags: ['preview', 'prompts', 'hooks', 'agent'], ++ included: false, + }, + [PromptsConfig.PROMPT_FILES_SUGGEST_KEY]: { + type: 'object', +@@ -1105,11 +1169,13 @@ configurationRegistry.registerConfigurat + 'document': 'resourceLangId == markdown' + } + ], ++ included: false, + }, + [ChatConfiguration.TodosShowWidget]: { + type: 'boolean', + default: true, + description: nls.localize('chat.tools.todos.showWidget', "Controls whether to show the todo list widget above the chat input. When enabled, the widget displays todo items created by the agent and updates as progress is made."), + included: false, }, [ChatConfiguration.ThinkingStyle]: { type: 'string', -@@ -778,12 +833,14 @@ configurationRegistry.registerConfigurat +@@ -1122,12 +1188,14 @@ configurationRegistry.registerConfigurat ], description: nls.localize('chat.agent.thinkingStyle', "Controls how thinking is rendered."), tags: ['experimental'], @@ -687,24 +829,29 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, 'chat.agent.thinking.collapsedTools': { type: 'string', -@@ -796,12 +853,14 @@ configurationRegistry.registerConfigurat - ], - markdownDescription: nls.localize('chat.agent.thinking.collapsedTools', "Controls how tool calls are displayed in relation to thinking sections."), +@@ -1194,17 +1262,20 @@ configurationRegistry.registerConfigurat + additionalProperties: false, + markdownDescription: nls.localize('chat.agent.thinking.phrases', "Customize the loading messages shown during agent operations. Use `\"mode\": \"replace\"` to use only your phrases, or `\"mode\": \"append\"` to add them to the defaults."), tags: ['experimental'], + included: false, }, - 'chat.disableAIFeatures': { + [ChatConfiguration.AutoExpandToolFailures]: { + type: 'boolean', + default: true, + markdownDescription: nls.localize('chat.tools.autoExpandFailures', "When enabled, tool failures are automatically expanded in the chat UI to show error details."), ++ included: false, + }, + [ChatConfiguration.AIDisabled]: { type: 'boolean', description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."), -- default: false, + default: false, - scope: ConfigurationScope.WINDOW -+ default: true, + scope: ConfigurationScope.WINDOW, + included: false, }, 'chat.allowAnonymousAccess': { // TODO@bpasero remove me eventually type: 'boolean', -@@ -810,7 +869,8 @@ configurationRegistry.registerConfigurat +@@ -1222,18 +1293,21 @@ configurationRegistry.registerConfigurat tags: ['experimental'], experiment: { mode: 'auto' @@ -712,26 +859,23 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t + }, + included: false, }, - [ChatConfiguration.RestoreLastPanelSession]: { // TODO@bpasero review this setting later + [ChatConfiguration.RestoreLastPanelSession]: { type: 'boolean', -@@ -819,13 +879,15 @@ configurationRegistry.registerConfigurat - tags: ['experimental'], - experiment: { - mode: 'auto' -- } -+ }, + description: nls.localize('chat.restoreLastPanelSession', "Controls whether the last session is restored in panel after restart."), +- default: false ++ default: false, + included: false, }, [ChatConfiguration.ExitAfterDelegation]: { type: 'boolean', description: nls.localize('chat.exitAfterDelegation', "Controls whether the chat panel automatically exits after delegating a request to another session."), - default: true, + default: false, tags: ['preview'], + included: false, }, 'chat.extensionUnification.enabled': { type: 'boolean', -@@ -834,13 +896,15 @@ configurationRegistry.registerConfigurat +@@ -1242,7 +1316,8 @@ configurationRegistry.registerConfigurat tags: ['experimental'], experiment: { mode: 'auto' @@ -741,26 +885,36 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t }, [ChatConfiguration.SubagentToolCustomAgents]: { type: 'boolean', - description: nls.localize('chat.subagentTool.customAgents', "Whether the runSubagent tool is able to use custom agents. When enabled, the tool can take the name of a custom agent, but it must be given the exact name of the agent."), - default: false, - tags: ['experimental'], +@@ -1250,13 +1325,15 @@ configurationRegistry.registerConfigurat + default: true, + experiment: { + mode: 'auto' +- } ++ }, + included: false, - } + }, + [ChatConfiguration.ChatCustomizationMenuEnabled]: { + type: 'boolean', + tags: ['preview'], + description: nls.localize('chat.aiCustomizationMenu.enabled', "Controls whether the Chat Customizations editor is available in the Command Palette. When disabled, the Chat Customizations editor and related commands are hidden."), + default: true, ++ included: false, + }, } }); -@@ -964,6 +1028,7 @@ class ChatAgentSettingContribution exten - type: 'number', +@@ -1463,6 +1540,7 @@ class ChatAgentSettingContribution exten markdownDescription: nls.localize('chat.agent.maxRequests', "The maximum number of requests to allow per-turn when using an agent. When the limit is reached, will ask to confirm to continue."), - default: defaultValue, + default: value ?? 50, + order: 2, + included: false, }, } }; -Index: third-party-src/src/vs/workbench/services/chat/common/chatEntitlementService.ts +Index: code-editor-src/src/vs/workbench/services/chat/common/chatEntitlementService.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/chat/common/chatEntitlementService.ts -+++ third-party-src/src/vs/workbench/services/chat/common/chatEntitlementService.ts -@@ -1199,14 +1199,11 @@ export class ChatEntitlementContext exte +--- code-editor-src.orig/src/vs/workbench/services/chat/common/chatEntitlementService.ts ++++ code-editor-src/src/vs/workbench/services/chat/common/chatEntitlementService.ts +@@ -1080,14 +1080,11 @@ export class ChatEntitlementContext exte } private withConfiguration(state: IChatEntitlementContextState): IChatEntitlementContextState { @@ -780,11 +934,11 @@ Index: third-party-src/src/vs/workbench/services/chat/common/chatEntitlementServ } update(context: { installed: boolean; disabled: boolean; untrusted: boolean }): Promise; -Index: third-party-src/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +Index: code-editor-src/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -+++ third-party-src/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts -@@ -713,7 +713,7 @@ export function registerChatActions() { +--- code-editor-src.orig/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts ++++ code-editor-src/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts +@@ -1119,7 +1119,7 @@ export function registerChatActions() { super({ id: 'workbench.action.chat.showExtensionsUsingCopilot', title: localize2('showCopilotUsageExtensions', "Show Extensions using Copilot"), @@ -793,11 +947,11 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/actions/chatActions category: EXTENSIONS_CATEGORY, precondition: ChatContextKeys.enabled }); -Index: third-party-src/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts +Index: code-editor-src/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts -+++ third-party-src/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts -@@ -184,7 +184,7 @@ export class ChatSetupContribution exten +--- code-editor-src.orig/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts ++++ code-editor-src/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts +@@ -221,7 +221,7 @@ export class ChatSetupContribution exten id: CHAT_SETUP_ACTION_ID, title: ChatSetupTriggerAction.CHAT_SETUP_ACTION_LABEL, category: CHAT_CATEGORY, @@ -806,44 +960,37 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup precondition: ContextKeyExpr.or( ChatContextKeys.Setup.hidden, ChatContextKeys.Setup.disabled, -Index: third-party-src/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts +Index: code-editor-src/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts -+++ third-party-src/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts -@@ -259,11 +259,6 @@ export const tocData: ITOCEntry - settings: ['mergeEditor.*'] +--- code-editor-src.orig/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts ++++ code-editor-src/src/vs/workbench/contrib/preferences/browser/settingsLayout.ts +@@ -365,11 +365,6 @@ export const tocData: ITOCEntry + settings: ['notebook.*', 'interactiveWindow.*'] }, { -- id: 'features/chat', -- label: localize('chat', 'Chat'), -- settings: ['chat.*', 'inlineChat.*', 'mcp'] +- id: 'features/mergeEditor', +- label: localize('mergeEditor', 'Merge Editor'), +- settings: ['mergeEditor.*'] - }, - { id: 'features/issueReporter', label: localize('issueReporter', 'Issue Reporter'), settings: ['issueReporter.*'], -Index: third-party-src/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts +Index: code-editor-src/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts -+++ third-party-src/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts -@@ -28,12 +28,14 @@ Registry.as(Exte +--- code-editor-src.orig/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts ++++ code-editor-src/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts +@@ -30,7 +30,8 @@ Registry.as(Exte [InlineChatConfigKeys.FinishOnType]: { description: localize('finishOnType', "Whether to finish an inline chat session when typing outside of changed regions."), default: false, - type: 'boolean' + type: 'boolean', -+ included: false - }, - [InlineChatConfigKeys.HoldToSpeech]: { - description: localize('holdToSpeech', "Whether holding the inline chat keybinding will automatically enable speech recognition."), - default: true, -- type: 'boolean' -+ type: 'boolean', + included: false }, [InlineChatConfigKeys.EnableV2]: { description: localize('enableV2', "Whether to use the next version of inline chat."), -@@ -42,7 +44,8 @@ Registry.as(Exte +@@ -39,7 +40,8 @@ Registry.as(Exte tags: ['preview'], experiment: { mode: 'auto' @@ -853,21 +1000,51 @@ Index: third-party-src/src/vs/workbench/contrib/inlineChat/common/inlineChat.ts }, [InlineChatConfigKeys.notebookAgent]: { markdownDescription: localize('notebookAgent', "Enable agent-like behavior for inline chat widget in notebooks."), -@@ -51,7 +54,8 @@ Registry.as(Exte +@@ -48,7 +50,8 @@ Registry.as(Exte tags: ['experimental'], experiment: { mode: 'startup' - } + }, ++ included: false + }, + [InlineChatConfigKeys.Affordance]: { + description: localize('affordance', "Controls whether an inline chat affordance is shown when text is selected."), +@@ -63,7 +66,8 @@ Registry.as(Exte + experiment: { + mode: 'auto' + }, +- tags: ['experimental'] ++ tags: ['experimental'], ++ included: false + }, + [InlineChatConfigKeys.RenderMode]: { + description: localize('renderMode', "Controls how inline chat is rendered."), +@@ -77,7 +81,8 @@ Registry.as(Exte + experiment: { + mode: 'auto' + }, +- tags: ['experimental'] ++ tags: ['experimental'], ++ included: false, + }, + [InlineChatConfigKeys.FixDiagnostics]: { + description: localize('fixDiagnostics', "Controls whether the Fix action is shown for diagnostics in the editor."), +@@ -86,7 +91,8 @@ Registry.as(Exte + experiment: { + mode: 'auto' + }, +- tags: ['experimental'] ++ tags: ['experimental'], + included: false } } }); -Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts +Index: code-editor-src/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts -+++ third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts -@@ -136,15 +136,18 @@ const configuration: IConfigurationNode +--- code-editor-src.orig/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts ++++ code-editor-src/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts +@@ -138,15 +138,18 @@ const configuration: IConfigurationNode }, [AccessibilityVerbositySettingId.Chat]: { description: localize('verbosity.chat.description', 'Provide information about how to access the chat help menu when the chat input is focused.'), @@ -889,7 +1066,7 @@ Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibil }, [AccessibilityVerbositySettingId.InlineCompletions]: { description: localize('verbosity.inlineCompletions.description', 'Provide information about how to access the inline completions hover and Accessible View.'), -@@ -535,7 +538,8 @@ const configuration: IConfigurationNode +@@ -541,7 +544,8 @@ const configuration: IConfigurationNode 'description': localize('accessibility.signals.chatEditModifiedFile.sound', "Plays a sound when revealing a file with changes from chat edits"), ...soundFeatureBase } @@ -899,7 +1076,7 @@ Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibil }, 'accessibility.signals.notebookCellCompleted': { ...signalFeatureBase, -@@ -595,7 +599,8 @@ const configuration: IConfigurationNode +@@ -601,7 +605,8 @@ const configuration: IConfigurationNode 'description': localize('accessibility.signals.chatRequestSent.announcement', "Announces when a chat request is made."), ...announcementFeatureBase }, @@ -909,7 +1086,7 @@ Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibil }, 'accessibility.signals.chatResponseReceived': { ...defaultNoAnnouncement, -@@ -605,7 +610,8 @@ const configuration: IConfigurationNode +@@ -611,7 +616,8 @@ const configuration: IConfigurationNode 'description': localize('accessibility.signals.chatResponseReceived.sound', "Plays a sound on when the response has been received."), ...soundFeatureBase }, @@ -919,7 +1096,7 @@ Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibil }, 'accessibility.signals.codeActionTriggered': { ...defaultNoAnnouncement, -@@ -784,7 +790,8 @@ const configuration: IConfigurationNode +@@ -790,7 +796,8 @@ const configuration: IConfigurationNode 'sound': 'auto', 'announcement': 'auto' }, @@ -929,7 +1106,7 @@ Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibil }, 'accessibility.underlineLinks': { 'type': 'boolean', -@@ -815,12 +822,14 @@ const configuration: IConfigurationNode +@@ -821,12 +828,14 @@ const configuration: IConfigurationNode 'accessibility.openChatEditedFiles': { 'type': 'boolean', 'default': false, @@ -946,21 +1123,29 @@ Index: third-party-src/src/vs/workbench/contrib/accessibility/browser/accessibil } } }; -@@ -857,7 +866,8 @@ export function registerAccessibilityCon +@@ -863,13 +872,15 @@ export function registerAccessibilityCon [AccessibilityWorkbenchSettingId.VerboseChatProgressUpdates]: { 'type': 'boolean', 'default': true, - 'markdownDescription': localize('accessibility.verboseChatProgressUpdates', "Controls whether verbose progress announcements should be made when a chat request is in progress, including information like searched text for with X results, created file , or read file .") + 'markdownDescription': localize('accessibility.verboseChatProgressUpdates', "Controls whether verbose progress announcements should be made when a chat request is in progress, including information like searched text for with X results, created file , or read file ."), ++ included: false + }, + [AccessibilityWorkbenchSettingId.ShowChatCheckmarks]: { + 'type': 'boolean', + 'default': false, + 'tags': ['accessibility'], +- 'markdownDescription': localize('accessibility.chat.showCheckmarks', "Controls whether checkmark icons are shown on completed tool calls and other collapsible items in chat responses.") ++ 'markdownDescription': localize('accessibility.chat.showCheckmarks', "Controls whether checkmark icons are shown on completed tool calls and other collapsible items in chat responses."), + included: false } } }); -Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts +Index: code-editor-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts -+++ third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts -@@ -70,6 +70,7 @@ export const terminalChatAgentToolsConfi +--- code-editor-src.orig/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts ++++ code-editor-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts +@@ -74,6 +74,7 @@ export const terminalChatAgentToolsConfi description: localize('autoApproveMode.description', "Controls whether to allow auto approval in the run in terminal tool."), type: 'boolean', default: true, @@ -968,7 +1153,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c policy: { name: 'ChatToolsTerminalEnableAutoApprove', category: PolicyCategory.IntegratedTerminal, -@@ -83,6 +84,7 @@ export const terminalChatAgentToolsConfi +@@ -87,6 +88,7 @@ export const terminalChatAgentToolsConfi } }, [TerminalChatAgentToolsSettingId.AutoApprove]: { @@ -976,7 +1161,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c markdownDescription: [ localize('autoApprove.description.intro', "A list of commands or regular expressions that control whether the run in terminal tool commands require explicit approval. These will be matched against the start of a command. A regular expression can be provided by wrapping the string in {0} characters followed by optional flags such as {1} for case-insensitivity.", '`/`', '`i`'), localize('autoApprove.description.values', "Set to {0} to automatically approve commands, {1} to always require explicit approval or {2} to unset the value.", '`true`', '`false`', '`null`'), -@@ -359,6 +361,7 @@ export const terminalChatAgentToolsConfi +@@ -412,6 +414,7 @@ export const terminalChatAgentToolsConfi default: false, tags: ['experimental'], markdownDescription: localize('ignoreDefaultAutoApproveRules.description', "Whether to ignore the built-in default auto-approve rules used by the run in terminal tool as defined in {0}. When this setting is enabled, the run in terminal tool will ignore any rule that comes from the default set but still follow rules defined in the user, remote and workspace settings. Use this setting at your own risk; the default auto-approve rules are designed to protect you against running dangerous commands.", `\`#${TerminalChatAgentToolsSettingId.AutoApprove}#\``), @@ -984,7 +1169,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c }, [TerminalChatAgentToolsSettingId.AutoApproveWorkspaceNpmScripts]: { restricted: true, -@@ -368,6 +371,7 @@ export const terminalChatAgentToolsConfi +@@ -421,6 +424,7 @@ export const terminalChatAgentToolsConfi default: true, tags: ['experimental'], markdownDescription: localize('autoApproveWorkspaceNpmScripts.description', "Whether to automatically approve npm, yarn, and pnpm run commands when the script is defined in a workspace package.json file. Since the workspace is trusted, scripts defined in package.json are considered safe to run without explicit approval."), @@ -992,15 +1177,15 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c }, [TerminalChatAgentToolsSettingId.BlockDetectedFileWrites]: { type: 'string', -@@ -380,6 +384,7 @@ export const terminalChatAgentToolsConfi +@@ -433,6 +437,7 @@ export const terminalChatAgentToolsConfi default: 'outsideWorkspace', tags: ['experimental'], - markdownDescription: localize('blockFileWrites.description', "Controls whether detected file write operations are blocked in the run in terminal tool. When detected, this will require explicit approval regardless of whether the command would normally be auto approved. Note that this cannot detect all possible methods of writing files, this is what is currently detected:\n\n- File redirection (detected via the bash or PowerShell tree sitter grammar)"), + markdownDescription: localize('blockFileWrites.description', "Controls whether detected file write operations are blocked in the run in terminal tool. When detected, this will require explicit approval regardless of whether the command would normally be auto approved. Note that this cannot detect all possible methods of writing files, this is what is currently detected:\n\n- File redirection (detected via the bash or PowerShell tree sitter grammar)\n- `sed` in-place editing (`-i`, `-I`, `--in-place`)"), + included: false, }, [TerminalChatAgentToolsSettingId.ShellIntegrationTimeout]: { markdownDescription: localize('shellIntegrationTimeout.description', "Configures the duration in milliseconds to wait for shell integration to be detected when the run in terminal tool launches a new terminal. Set to `0` to wait the minimum time, the default value `-1` means the wait time is variable based on the value of {0} and whether it's a remote window. A large value can be useful if your shell starts very slowly and a low value if you're intentionally not using shell integration.", `\`#${TerminalSettingId.ShellIntegrationEnabled}#\``), -@@ -404,7 +409,8 @@ export const terminalChatAgentToolsConfi +@@ -457,7 +462,8 @@ export const terminalChatAgentToolsConfi path: '${1}' } } @@ -1010,7 +1195,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c }, [TerminalChatAgentToolsSettingId.TerminalProfileMacOs]: { restricted: true, -@@ -421,7 +427,8 @@ export const terminalChatAgentToolsConfi +@@ -474,7 +480,8 @@ export const terminalChatAgentToolsConfi path: '${1}' } } @@ -1020,7 +1205,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c }, [TerminalChatAgentToolsSettingId.TerminalProfileWindows]: { restricted: true, -@@ -438,13 +445,15 @@ export const terminalChatAgentToolsConfi +@@ -491,13 +498,15 @@ export const terminalChatAgentToolsConfi path: '${1}' } } @@ -1032,12 +1217,12 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c type: 'boolean', default: false, tags: ['experimental'], - markdownDescription: localize('autoReplyToPrompts.key', "Whether to automatically respond to prompts in the terminal such as `Confirm? y/n`. This is an experimental feature and may not work in all scenarios."), + markdownDescription: localize('autoReplyToPrompts.key', "Whether to automatically respond to prompts in the terminal such as `Confirm? y/n`. This is an experimental feature and may not work in all scenarios.\n\n**This feature is inherently risky to use as you're deferring potentially sensitive decisions to an LLM. Use at your own risk.**"), + included: false, }, [TerminalChatAgentToolsSettingId.OutputLocation]: { - markdownDescription: localize('outputLocation.description', "Where to show the output from the run in terminal tool session."), -@@ -458,7 +467,8 @@ export const terminalChatAgentToolsConfi + markdownDescription: localize('outputLocation.description', "Where to show the output from the run in terminal tool."), +@@ -511,7 +520,8 @@ export const terminalChatAgentToolsConfi tags: ['experimental'], experiment: { mode: 'auto' @@ -1045,21 +1230,38 @@ Index: third-party-src/src/vs/workbench/contrib/terminalContrib/chatAgentTools/c + }, + included: false, }, - [TerminalChatAgentToolsSettingId.PreventShellHistory]: { - type: 'boolean', -@@ -470,6 +480,7 @@ export const terminalChatAgentToolsConfi + [TerminalChatAgentToolsSettingId.TerminalSandboxEnabled]: { + markdownDescription: localize('terminalSandbox.enabledSetting', "Controls whether to run commands in a sandboxed terminal for the run in terminal tool."), +@@ -622,6 +632,7 @@ export const terminalChatAgentToolsConfi `- \`fish\`: ${localize('preventShellHistory.description.fish', "Sets `fish_private_mode` to prevent any command from entering history")}`, `- \`pwsh\`: ${localize('preventShellHistory.description.pwsh', "Sets a custom history handler via PSReadLine's `AddToHistoryHandler` to prevent any command from entering history")}`, ].join('\n'), ++ included: false, + }, + [TerminalChatAgentToolsSettingId.EnforceTimeoutFromModel]: { + restricted: true, +@@ -632,6 +643,7 @@ export const terminalChatAgentToolsConfi + mode: 'auto' + }, + markdownDescription: localize('enforceTimeoutFromModel.description', "Whether to enforce the timeout value provided by the model in the run in terminal tool. When enabled, if the model provides a timeout parameter, the tool will stop tracking the command after that duration and return the output collected so far."), + included: false, } }; -Index: third-party-src/src/vs/platform/configuration/common/configurationRegistry.ts +@@ -644,6 +656,7 @@ for (const id of [ + ]) { + terminalChatAgentToolsConfiguration[id] = { + deprecated: true, +- markdownDeprecationMessage: localize('autoApprove.deprecated', 'Use {0} instead', `\`#${TerminalChatAgentToolsSettingId.AutoApprove}#\``) ++ markdownDeprecationMessage: localize('autoApprove.deprecated', 'Use {0} instead', `\`#${TerminalChatAgentToolsSettingId.AutoApprove}#\``), ++ included: false, + }; + } +Index: code-editor-src/src/vs/platform/configuration/common/configurationRegistry.ts =================================================================== ---- third-party-src.orig/src/vs/platform/configuration/common/configurationRegistry.ts -+++ third-party-src/src/vs/platform/configuration/common/configurationRegistry.ts -@@ -508,8 +508,7 @@ class ConfigurationRegistry extends Disp +--- code-editor-src.orig/src/vs/platform/configuration/common/configurationRegistry.ts ++++ code-editor-src/src/vs/platform/configuration/common/configurationRegistry.ts +@@ -530,8 +530,7 @@ class ConfigurationRegistry extends Disp source, defaultValueSource: source }; @@ -1068,12 +1270,12 @@ Index: third-party-src/src/vs/platform/configuration/common/configurationRegistr + this.excludedConfigurationProperties[key] = property; } - private mergeDefaultConfigurationsForOverrideIdentifier(overrideIdentifier: string, configurationValueObject: IStringDictionary, valueSource: IExtensionInfo | undefined, existingDefaultOverride: IConfigurationDefaultOverrideValue | undefined): IConfigurationDefaultOverrideValue | undefined { -Index: third-party-src/src/vs/workbench/browser/workbench.contribution.ts + private mergeDefaultConfigurationsForOverrideIdentifier(overrideIdentifier: string, configurationValueObject: IStringDictionary, valueSource: ConfigurationDefaultSource | undefined, existingDefaultOverride: IConfigurationDefaultOverrideValue | undefined): IConfigurationDefaultOverrideValue | undefined { +Index: code-editor-src/src/vs/workbench/browser/workbench.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/workbench.contribution.ts -+++ third-party-src/src/vs/workbench/browser/workbench.contribution.ts -@@ -495,13 +495,15 @@ const registry = Registry.as { const enabled = aiStatsEnabled.read(r); - if (!enabled) { + const aiDisabled = chatEntitlementService.sentimentObs.read(r).hidden; diff --git a/patches/common/remove-cloud-changes-feature.diff b/patches/common/remove-cloud-changes-feature.diff index 4870815..545d4b9 100644 --- a/patches/common/remove-cloud-changes-feature.diff +++ b/patches/common/remove-cloud-changes-feature.diff @@ -4,11 +4,11 @@ Removes the editSessions contribution import from the common workbench main file as this feature is not supported due to it using a third-party online service. -Index: third-party-src/src/vs/workbench/workbench.common.main.ts +Index: code-editor-src/src/vs/workbench/workbench.common.main.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/workbench.common.main.ts -+++ third-party-src/src/vs/workbench/workbench.common.main.ts -@@ -379,9 +379,6 @@ import './contrib/userDataSync/browser/u +--- code-editor-src.orig/src/vs/workbench/workbench.common.main.ts ++++ code-editor-src/src/vs/workbench/workbench.common.main.ts +@@ -387,9 +387,6 @@ import './contrib/userDataSync/browser/u // User Data Profiles import './contrib/userDataProfile/browser/userDataProfile.contribution.js'; diff --git a/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff b/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff index 85f87c5..d09c1c9 100644 --- a/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff +++ b/patches/common/remove-disable-prompting-for-non-trusted-urls-option.diff @@ -4,10 +4,10 @@ Removes the workbench.trustedDomains.promptInTrustedWorkspace setting and its bypass logic so that users are always prompted before opening non-trusted external URLs, regardless of workspace trust status. -Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts +Index: code-editor-src/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts -+++ third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts +--- code-editor-src.orig/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts ++++ code-editor-src/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts @@ -8,7 +8,6 @@ import Severity from '../../../../base/c import { URI } from '../../../../base/common/uri.js'; import { localize } from '../../../../nls.js'; @@ -23,7 +23,7 @@ Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsValida -import { IWorkspaceTrustManagementService } from '../../../../platform/workspace/common/workspaceTrust.js'; import { IWorkbenchContribution } from '../../../common/contributions.js'; import { ITrustedDomainService } from './trustedDomainService.js'; - import { isURLDomainTrusted } from '../common/trustedDomains.js'; + import { isURLDomainTrusted } from '../../../../platform/url/common/trustedDomains.js'; @@ -35,8 +33,6 @@ export class OpenerValidatorContribution @IClipboardService private readonly _clipboardService: IClipboardService, @ITelemetryService private readonly _telemetryService: ITelemetryService, @@ -44,10 +44,10 @@ Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsValida const originalResource = resource; let resourceUri: URI; if (typeof resource === 'string') { -Index: third-party-src/src/vs/workbench/contrib/url/browser/url.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/url/browser/url.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/url/browser/url.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/url/browser/url.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/url/browser/url.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/url/browser/url.contribution.ts @@ -18,8 +18,6 @@ import { TrustedDomainsFileSystemProvide import { OpenerValidatorContributions } from './trustedDomainsValidator.js'; import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js'; @@ -56,8 +56,8 @@ Index: third-party-src/src/vs/workbench/contrib/url/browser/url.contribution.ts -import { workbenchConfigurationNodeBase } from '../../../common/configuration.js'; import { ITrustedDomainService, TrustedDomainService } from './trustedDomainService.js'; import { registerSingleton, InstantiationType } from '../../../../platform/instantiation/common/extensions.js'; - -@@ -77,17 +75,4 @@ registerWorkbenchContribution2( + import { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js'; +@@ -84,17 +82,4 @@ registerWorkbenchContribution2( ); diff --git a/patches/common/remove-vsda.diff b/patches/common/remove-vsda.diff index 1b1aabf..002325f 100644 --- a/patches/common/remove-vsda.diff +++ b/patches/common/remove-vsda.diff @@ -4,10 +4,10 @@ Replaces the proprietary VSDA WebAssembly-based signing implementation with stub methods that throw 'not supported' errors. OpenVSX does not currently support signed extensions. -Index: third-party-src/src/vs/platform/sign/browser/signService.ts +Index: code-editor-src/src/vs/platform/sign/browser/signService.ts =================================================================== ---- third-party-src.orig/src/vs/platform/sign/browser/signService.ts -+++ third-party-src/src/vs/platform/sign/browser/signService.ts +--- code-editor-src.orig/src/vs/platform/sign/browser/signService.ts ++++ code-editor-src/src/vs/platform/sign/browser/signService.ts @@ -58,40 +58,12 @@ export class SignService extends Abstrac @memoize diff --git a/patches/common/replace-gulp-untar.diff b/patches/common/replace-gulp-untar.diff index 1835cec..064c816 100644 --- a/patches/common/replace-gulp-untar.diff +++ b/patches/common/replace-gulp-untar.diff @@ -8,140 +8,3 @@ Backported from: microsoft/vscode@1deca733b31c4a0d867381e035b70b8ccf01d714 Backported from: microsoft/vscode/commit/fcfb37c8f86d43c46d4ae030e4e9c67c2a5f1fc2 Fixed in: microsoft/vscode@1.109.0 -Index: third-party-src/build/lib/util.ts -=================================================================== ---- third-party-src.orig/build/lib/util.ts -+++ third-party-src/build/lib/util.ts -@@ -15,6 +15,8 @@ import through from 'through'; - import sm from 'source-map'; - import { pathToFileURL } from 'url'; - import ternaryStream from 'ternary-stream'; -+import type { Transform } from 'stream'; -+import * as tar from 'tar'; - - const root = path.dirname(path.dirname(import.meta.dirname)); - -@@ -429,3 +431,39 @@ export class VinylStat implements fs.Sta - isFIFO(): boolean { return false; } - isSocket(): boolean { return false; } - } -+ -+export function untar(): Transform { -+ return es.through(function (this: through.ThroughStream, f: VinylFile) { -+ if (!f.contents || !Buffer.isBuffer(f.contents)) { -+ this.emit('error', new Error('Expected file with Buffer contents')); -+ return; -+ } -+ -+ const self = this; -+ const parser = new tar.Parser(); -+ -+ parser.on('entry', (entry: tar.ReadEntry) => { -+ if (entry.type === 'File') { -+ const chunks: Buffer[] = []; -+ entry.on('data', (chunk: Buffer) => chunks.push(chunk)); -+ entry.on('end', () => { -+ const file = new VinylFile({ -+ path: entry.path, -+ contents: Buffer.concat(chunks), -+ stat: new VinylStat({ -+ mode: entry.mode, -+ mtime: entry.mtime, -+ size: entry.size -+ }) -+ }); -+ self.emit('data', file); -+ }); -+ } else { -+ entry.resume(); -+ } -+ }); -+ -+ parser.on('error', (err: Error) => self.emit('error', err)); -+ parser.end(f.contents); -+ }) as Transform; -+} -\ No newline at end of file -Index: third-party-src/package.json -=================================================================== ---- third-party-src.orig/package.json -+++ third-party-src/package.json -@@ -182,7 +182,6 @@ - "gulp-replace": "^0.5.4", - "gulp-sourcemaps": "^3.0.0", - "gulp-svgmin": "^4.1.0", -- "gulp-untar": "^0.0.7", - "husky": "^0.13.1", - "innosetup": "^6.4.1", - "istanbul-lib-coverage": "^3.2.0", -@@ -209,6 +208,7 @@ - "source-map": "0.6.1", - "source-map-support": "^0.3.2", - "style-loader": "^3.3.2", -+ "tar": "^7.5.10", - "ts-loader": "^9.5.1", - "tsec": "0.2.7", - "tslib": "^2.6.3", -Index: third-party-src/build/gulpfile.cli.ts -=================================================================== ---- third-party-src.orig/build/gulpfile.cli.ts -+++ third-party-src/build/gulpfile.cli.ts -@@ -13,9 +13,8 @@ import { tmpdir } from 'os'; - import { existsSync, mkdirSync, rmSync } from 'fs'; - import * as task from './lib/task.ts'; - import watcher from './lib/watch/index.ts'; --import { debounce } from './lib/util.ts'; -+import * as util from './lib/util.ts'; - import { createReporter } from './lib/reporter.ts'; --import untar from 'gulp-untar'; - import gunzip from 'gulp-gunzip'; - - const root = 'cli'; -@@ -88,7 +87,7 @@ const acquireBuiltOpenSSL = (callback: ( - - gulp.src('*.tgz', { cwd: dir }) - .pipe(gunzip()) -- .pipe(untar()) -+ .pipe(util.untar()) - .pipe(gulp.dest(`${root}/openssl`)) - .on('error', callback) - .on('end', () => { -@@ -141,7 +140,7 @@ const compileCliTask = task.define('comp - const watchCliTask = task.define('watch-cli', () => { - warnIfRustNotInstalled(); - return watcher(`${src}/**`, { read: false }) -- .pipe(debounce(compileCliTask as task.StreamTask)); -+ .pipe(util.debounce(compileCliTask as task.StreamTask)); - }); - - gulp.task(compileCliTask); -Index: third-party-src/build/gulpfile.reh.ts -=================================================================== ---- third-party-src.orig/build/gulpfile.reh.ts -+++ third-party-src/build/gulpfile.reh.ts -@@ -21,7 +21,7 @@ import vfs from 'vinyl-fs'; - import packageJson from '../package.json' with { type: 'json' }; - import flatmap from 'gulp-flatmap'; - import gunzip from 'gulp-gunzip'; --import untar from 'gulp-untar'; -+ - import File from 'vinyl'; - import * as fs from 'fs'; - import glob from 'glob'; -@@ -246,14 +246,14 @@ function nodejs(platform: string, arch: - return (product.nodejsRepository !== 'https://nodejs.org' ? - fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 }) : - fetchUrls(`/dist/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`, { base: 'https://nodejs.org', checksumSha256 }) -- ).pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar()))) -+ ).pipe(flatmap(stream => stream.pipe(gunzip()).pipe(util.untar()))) - .pipe(filter('**/node')) - .pipe(util.setExecutableBit('**')) - .pipe(rename('node')); - case 'alpine': - return product.nodejsRepository !== 'https://nodejs.org' ? - fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 }) -- .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar()))) -+ .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(util.untar()))) - .pipe(filter('**/node')) - .pipe(util.setExecutableBit('**')) - .pipe(rename('node')) diff --git a/patches/common/service-worker-fix.diff b/patches/common/service-worker-fix.diff index 1aacd1b..3a6c854 100644 --- a/patches/common/service-worker-fix.diff +++ b/patches/common/service-worker-fix.diff @@ -4,11 +4,11 @@ Removes { type: 'module' } from the service worker registration call. Using module type causes the browser to not send cookies with service worker requests, resulting in 401 authentication errors. -Index: third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html +Index: code-editor-src/src/vs/workbench/contrib/webview/browser/pre/index.html =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/webview/browser/pre/index.html -+++ third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html -@@ -238,7 +238,7 @@ +--- code-editor-src.orig/src/vs/workbench/contrib/webview/browser/pre/index.html ++++ code-editor-src/src/vs/workbench/contrib/webview/browser/pre/index.html +@@ -256,7 +256,7 @@ } const swPath = encodeURI(`service-worker.js?v=${expectedWorkerVersion}&vscode-resource-base-authority=${searchParams.get('vscode-resource-base-authority')}&remoteAuthority=${searchParams.get('remoteAuthority') ?? ''}`); diff --git a/patches/common/suppress-known-errors-script.diff b/patches/common/suppress-known-errors-script.diff index 3e6b105..bac3f49 100644 --- a/patches/common/suppress-known-errors-script.diff +++ b/patches/common/suppress-known-errors-script.diff @@ -4,10 +4,10 @@ Introduces suppressedErrors.js which loads error patterns from a JSON config file and provides an isErrorSuppressed() function to filter out known non-critical errors from being reported via the error channel. -Index: third-party-src/src/vs/editor/common/errors/suppressedErrors.js +Index: code-editor-src/src/vs/editor/common/errors/suppressedErrors.js =================================================================== --- /dev/null -+++ third-party-src/src/vs/editor/common/errors/suppressedErrors.js ++++ code-editor-src/src/vs/editor/common/errors/suppressedErrors.js @@ -0,0 +1,58 @@ +/** + * @@ -67,5 +67,3 @@ Index: third-party-src/src/vs/editor/common/errors/suppressedErrors.js +} + +// Export the function for use in other files -+window.isErrorSuppressed = isErrorSuppressed; -\ No newline at end of file diff --git a/patches/common/trusted-domains.diff b/patches/common/trusted-domains.diff index e77f556..d741c62 100644 --- a/patches/common/trusted-domains.diff +++ b/patches/common/trusted-domains.diff @@ -4,10 +4,10 @@ Updates the trusted domains configuration file examples and help text to reference amazon.com and aws.amazon.com, and replaces 'VS Code' with 'Code Editor' in user-facing strings. -Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts +Index: code-editor-src/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts -+++ third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts +--- code-editor-src.orig/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts ++++ code-editor-src/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.ts @@ -26,14 +26,14 @@ const TRUSTED_DOMAINS_STAT: IStat = { const CONFIG_HELP_TEXT_PRE = `// Links matching one or more entries in the list below can be opened without link protection. @@ -54,10 +54,10 @@ Index: third-party-src/src/vs/workbench/contrib/url/browser/trustedDomainsFileSy } content += CONFIG_HELP_TEXT_AFTER; -Index: third-party-src/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts +Index: code-editor-src/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts -+++ third-party-src/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts +--- code-editor-src.orig/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts ++++ code-editor-src/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.ts @@ -11,7 +11,7 @@ export default function content(accessor const isServerless = platform.isWeb && !accessor.get(IWorkbenchEnvironmentService).remoteAuthority; return ` @@ -94,11 +94,11 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeWalkthrough/browser/edito ## Thanks! -Index: third-party-src/product.json +Index: code-editor-src/product.json =================================================================== ---- third-party-src.orig/product.json -+++ third-party-src/product.json -@@ -150,5 +150,16 @@ +--- code-editor-src.orig/product.json ++++ code-editor-src/product.json +@@ -155,5 +155,16 @@ "github-enterprise": [ "GitHub.copilot-chat" ] diff --git a/patches/internal/build.diff b/patches/internal/build.diff index 3e9e158..7dc43a0 100644 --- a/patches/internal/build.diff +++ b/patches/internal/build.diff @@ -1,35 +1,9 @@ Adjust build configuration for internal builds -Reduces mangle worker pool from 4 to 3 workers to prevent OOM failures -in constrained build environments, and adds retry logic to vsce.listFiles -calls to handle intermittent npm list failures during parallel builds. +Adds retry logic to vsce.listFiles calls to handle intermittent npm list +failures during parallel builds. Also removes ripgrep, native-keymap, and +telemetry-extractor dependencies not needed for internal builds. -Index: third-party-src/build/lib/mangle/index.ts -=================================================================== ---- third-party-src.orig/build/lib/mangle/index.ts -+++ third-party-src/build/lib/mangle/index.ts -@@ -407,7 +407,7 @@ export class Mangler { - ) { - - this.renameWorkerPool = workerpool.pool(path.join(__dirname, 'renameWorker.js'), { -- maxWorkers: 4, -+ maxWorkers: 3, - minWorkers: 'max' - }); - } -Index: third-party-src/build/lib/mangle/index.js -=================================================================== ---- third-party-src.orig/build/lib/mangle/index.js -+++ third-party-src/build/lib/mangle/index.js -@@ -354,7 +354,7 @@ class Mangler { - this.log = log; - this.config = config; - this.renameWorkerPool = workerpool_1.default.pool(path_1.default.join(__dirname, 'renameWorker.js'), { -- maxWorkers: 4, -+ maxWorkers: 3, - minWorkers: 'max' - }); - } Index: third-party-src/build/lib/extensions.js =================================================================== --- third-party-src.orig/build/lib/extensions.js @@ -146,15 +120,6 @@ Index: third-party-src/package.json =================================================================== --- third-party-src.orig/package.json +++ third-party-src/package.json -@@ -32,7 +32,7 @@ - "watch-extensionsd": "deemon npm run watch-extensions", - "kill-watch-extensionsd": "deemon --kill npm run watch-extensions", - "precommit": "node build/hygiene.js", -- "gulp": "node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js", -+ "gulp": "NODE_OPTIONS=\"${NODE_OPTIONS:---max-old-space-size=8192}\" node ./node_modules/gulp/bin/gulp.js", - "electron": "node build/lib/electron", - "7z": "7z", - "update-grammars": "node build/npm/update-all-grammars.mjs", @@ -77,7 +77,6 @@ "@vscode/iconv-lite-umd": "0.7.0", "@vscode/policy-watcher": "^1.3.2", diff --git a/patches/sagemaker.series b/patches/sagemaker.series index cdfa9d9..f07cfca 100644 --- a/patches/sagemaker.series +++ b/patches/sagemaker.series @@ -1,4 +1,5 @@ common/preapplied/remove-unsafe-headers.diff +common/preapplied/fix-chat-debug-editor-visibility.diff common/disable-online-services.diff common/disable-telemetry-service.diff common/remove-accounts-feature.diff @@ -16,9 +17,7 @@ common/service-worker-fix.diff common/proposed-api.diff common/build.diff common/integration.diff -common/replace-gulp-untar.diff common/fix-ts-rootdir-webpack.diff -common/fix-terminal-autoreplies.diff web-server/suppress-known-errors-build-integration.diff web-server/local-storage.diff web-server/base-path.diff diff --git a/patches/sagemaker/base-path-compatibility.diff b/patches/sagemaker/base-path-compatibility.diff index e8b1900..847111b 100644 --- a/patches/sagemaker/base-path-compatibility.diff +++ b/patches/sagemaker/base-path-compatibility.diff @@ -4,10 +4,10 @@ Adds a constructor to ServerEnvironmentService that translates the deprecated -- CLI argument to --server-base-path, maintaining backward compatibility with existing SageMaker deployment configurations. -Index: third-party-src/src/vs/server/node/serverEnvironmentService.ts +Index: code-editor-src/src/vs/server/node/serverEnvironmentService.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/serverEnvironmentService.ts -+++ third-party-src/src/vs/server/node/serverEnvironmentService.ts +--- code-editor-src.orig/src/vs/server/node/serverEnvironmentService.ts ++++ code-editor-src/src/vs/server/node/serverEnvironmentService.ts @@ -9,6 +9,7 @@ import { NativeEnvironmentService } from import { OPTIONS, OptionDescriptions } from '../../platform/environment/node/argv.js'; import { refineServiceDecorator } from '../../platform/instantiation/common/instantiation.js'; diff --git a/patches/sagemaker/display-both-versions-in-about.diff b/patches/sagemaker/display-both-versions-in-about.diff index 8c9ce4d..c912bc5 100644 --- a/patches/sagemaker/display-both-versions-in-about.diff +++ b/patches/sagemaker/display-both-versions-in-about.diff @@ -28,11 +28,11 @@ Index: code-editor-src/product.json "applicationName": "code", "dataFolderName": ".vscode-editor", "win32MutexName": "vscodeoss", -Index: code-editor-src/src/vs/platform/dialogs/browser/dialog.ts +Index: code-editor-src/src/vs/workbench/browser/parts/dialogs/dialog.ts =================================================================== ---- code-editor-src.orig/src/vs/platform/dialogs/browser/dialog.ts -+++ code-editor-src/src/vs/platform/dialogs/browser/dialog.ts -@@ -46,8 +46,8 @@ export function createWorkbenchDialogOpt +--- code-editor-src.orig/src/vs/workbench/browser/parts/dialogs/dialog.ts ++++ code-editor-src/src/vs/workbench/browser/parts/dialogs/dialog.ts +@@ -48,8 +48,8 @@ export function createWorkbenchDialogOpt export function createBrowserAboutDialogDetails(productService: IProductService): { title: string; details: string; detailsToCopy: string } { const detailString = (useAgo: boolean): string => { return localize('aboutDetail', diff --git a/patches/sagemaker/fix-port-forwarding.diff b/patches/sagemaker/fix-port-forwarding.diff index 563ece2..f5fd191 100644 --- a/patches/sagemaker/fix-port-forwarding.diff +++ b/patches/sagemaker/fix-port-forwarding.diff @@ -7,7 +7,7 @@ Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== --- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts +++ code-editor-src/src/vs/code/browser/workbench/workbench.ts -@@ -635,7 +635,7 @@ function readCookie(name: string): strin +@@ -641,7 +641,7 @@ function readCookie(name: string): strin const localhostMatch = extractLocalHostUriMetaDataForPortMapping(resolvedUri) if (localhostMatch && resolvedUri.authority !== location.host) { if (config?.productConfiguration?.rootEndpoint) { diff --git a/patches/sagemaker/post-startup-notifications.diff b/patches/sagemaker/post-startup-notifications.diff index e8c0348..e2bef42 100644 --- a/patches/sagemaker/post-startup-notifications.diff +++ b/patches/sagemaker/post-startup-notifications.diff @@ -781,7 +781,7 @@ Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== --- code-editor-src.orig/build/gulpfile.extensions.ts +++ code-editor-src/build/gulpfile.extensions.ts -@@ -69,6 +69,7 @@ const compilations = [ +@@ -90,6 +90,7 @@ const compilations = [ 'extensions/sagemaker-terminal-crash-mitigation/tsconfig.json', 'extensions/sagemaker-open-notebook-extension/tsconfig.json', 'extensions/sagemaker-ui-dark-theme/tsconfig.json', diff --git a/patches/sagemaker/sagemaker-extension.diff b/patches/sagemaker/sagemaker-extension.diff index caefcef..ca5dc14 100644 --- a/patches/sagemaker/sagemaker-extension.diff +++ b/patches/sagemaker/sagemaker-extension.diff @@ -4,10 +4,10 @@ Introduces the sagemaker-extension that monitors authentication cookies, displays session expiry warnings, and provides sign-in/save prompts to users when their SageMaker session is about to expire. -Index: third-party-src/extensions/sagemaker-extension/src/extension.ts +Index: code-editor-src/extensions/sagemaker-extension/src/extension.ts =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/src/extension.ts ++++ code-editor-src/extensions/sagemaker-extension/src/extension.ts @@ -0,0 +1,172 @@ +import * as vscode from 'vscode'; +import * as fs from 'fs'; @@ -181,10 +181,10 @@ Index: third-party-src/extensions/sagemaker-extension/src/extension.ts + // render warning message regarding auto upgrade disabled + renderExtensionAutoUpgradeDisabledNotification(); +} -Index: third-party-src/extensions/sagemaker-extension/src/sessionWarning.ts +Index: code-editor-src/extensions/sagemaker-extension/src/sessionWarning.ts =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/src/sessionWarning.ts ++++ code-editor-src/extensions/sagemaker-extension/src/sessionWarning.ts @@ -0,0 +1,44 @@ +import * as vscode from "vscode"; +import { @@ -231,10 +231,10 @@ Index: third-party-src/extensions/sagemaker-extension/src/sessionWarning.ts + } +} \ No newline at end of file -Index: third-party-src/extensions/sagemaker-extension/.vscodeignore +Index: code-editor-src/extensions/sagemaker-extension/.vscodeignore =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/.vscodeignore ++++ code-editor-src/extensions/sagemaker-extension/.vscodeignore @@ -0,0 +1,11 @@ +.vscode/** +.vscode-test/** @@ -247,10 +247,10 @@ Index: third-party-src/extensions/sagemaker-extension/.vscodeignore +out/** +cgmanifest.json +preview-src/** -Index: third-party-src/extensions/sagemaker-extension/package.json +Index: code-editor-src/extensions/sagemaker-extension/package.json =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/package.json ++++ code-editor-src/extensions/sagemaker-extension/package.json @@ -0,0 +1,52 @@ +{ + "name": "sagemaker-extension", @@ -304,10 +304,10 @@ Index: third-party-src/extensions/sagemaker-extension/package.json + "repository": { + } +} -Index: third-party-src/extensions/sagemaker-extension/README.md +Index: code-editor-src/extensions/sagemaker-extension/README.md =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/README.md ++++ code-editor-src/extensions/sagemaker-extension/README.md @@ -0,0 +1,5 @@ +# Sagemaker Extension + @@ -315,10 +315,10 @@ Index: third-party-src/extensions/sagemaker-extension/README.md + +Session Management: The extension monitors the SageMaker cookie to ensure seamless session continuity. It proactively alerts users to sign in again before the session expires, enhancing the user experience by preventing unexpected session interruptions. \ No newline at end of file -Index: third-party-src/extensions/sagemaker-extension/tsconfig.json +Index: code-editor-src/extensions/sagemaker-extension/tsconfig.json =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/tsconfig.json ++++ code-editor-src/extensions/sagemaker-extension/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig.base.json", @@ -330,10 +330,10 @@ Index: third-party-src/extensions/sagemaker-extension/tsconfig.json + "../../src/vscode-dts/vscode.d.ts" + ] +} -Index: third-party-src/extensions/sagemaker-extension/extension-browser.webpack.config.js +Index: code-editor-src/extensions/sagemaker-extension/extension-browser.webpack.config.js =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/extension-browser.webpack.config.js ++++ code-editor-src/extensions/sagemaker-extension/extension-browser.webpack.config.js @@ -0,0 +1,13 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright Amazon.com Inc. or its affiliates. All rights reserved. @@ -348,10 +348,10 @@ Index: third-party-src/extensions/sagemaker-extension/extension-browser.webpack. + extension: './src/extension.ts' + }, +}); -Index: third-party-src/extensions/sagemaker-extension/extension.webpack.config.js +Index: code-editor-src/extensions/sagemaker-extension/extension.webpack.config.js =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/extension.webpack.config.js ++++ code-editor-src/extensions/sagemaker-extension/extension.webpack.config.js @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright Amazon.com Inc. or its affiliates. All rights reserved. @@ -369,10 +369,10 @@ Index: third-party-src/extensions/sagemaker-extension/extension.webpack.config.j + extension: './src/extension.ts', + } +}); -Index: third-party-src/extensions/sagemaker-extension/src/constant.ts +Index: code-editor-src/extensions/sagemaker-extension/src/constant.ts =================================================================== --- /dev/null -+++ third-party-src/extensions/sagemaker-extension/src/constant.ts ++++ code-editor-src/extensions/sagemaker-extension/src/constant.ts @@ -0,0 +1,72 @@ +// Constants +export const WARNING_TIME_HEADER = 'Session expiring soon'; @@ -447,11 +447,11 @@ Index: third-party-src/extensions/sagemaker-extension/src/constant.ts + } +} \ No newline at end of file -Index: third-party-src/build/gulpfile.extensions.ts +Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== ---- third-party-src.orig/build/gulpfile.extensions.ts -+++ third-party-src/build/gulpfile.extensions.ts -@@ -64,6 +64,7 @@ const compilations = [ +--- code-editor-src.orig/build/gulpfile.extensions.ts ++++ code-editor-src/build/gulpfile.extensions.ts +@@ -85,6 +85,7 @@ const compilations = [ 'extensions/references-view/tsconfig.json', 'extensions/search-result/tsconfig.json', 'extensions/simple-browser/tsconfig.json', @@ -459,10 +459,10 @@ Index: third-party-src/build/gulpfile.extensions.ts 'extensions/tunnel-forwarding/tsconfig.json', 'extensions/typescript-language-features/web/tsconfig.json', 'extensions/typescript-language-features/tsconfig.json', -Index: third-party-src/build/npm/dirs.ts +Index: code-editor-src/build/npm/dirs.ts =================================================================== ---- third-party-src.orig/build/npm/dirs.ts -+++ third-party-src/build/npm/dirs.ts +--- code-editor-src.orig/build/npm/dirs.ts ++++ code-editor-src/build/npm/dirs.ts @@ -42,6 +42,7 @@ export const dirs = [ 'extensions/npm', 'extensions/php-language-features', diff --git a/patches/sagemaker/sagemaker-extensions-sync.diff b/patches/sagemaker/sagemaker-extensions-sync.diff index 49fd776..cb3322c 100644 --- a/patches/sagemaker/sagemaker-extensions-sync.diff +++ b/patches/sagemaker/sagemaker-extensions-sync.diff @@ -442,7 +442,7 @@ Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== --- code-editor-src.orig/build/gulpfile.extensions.ts +++ code-editor-src/build/gulpfile.extensions.ts -@@ -67,6 +67,7 @@ const compilations = [ +@@ -88,6 +88,7 @@ const compilations = [ 'extensions/sagemaker-extension/tsconfig.json', 'extensions/sagemaker-idle-extension/tsconfig.json', 'extensions/sagemaker-terminal-crash-mitigation/tsconfig.json', diff --git a/patches/sagemaker/sagemaker-idle-extension.diff b/patches/sagemaker/sagemaker-idle-extension.diff index cdb66b1..c689f3d 100644 --- a/patches/sagemaker/sagemaker-idle-extension.diff +++ b/patches/sagemaker/sagemaker-idle-extension.diff @@ -204,9 +204,10 @@ Index: code-editor-src/src/vs/server/node/webClientServer.ts *--------------------------------------------------------------------------------------------*/ -import { createReadStream, promises } from 'fs'; +-import type * as http from 'http'; +import { createReadStream, promises, existsSync, writeFileSync } from 'fs'; +import * as fs from 'fs'; - import * as http from 'http'; ++import * as http from 'http'; +import * as path from 'path'; import * as url from 'url'; import * as cookie from 'cookie'; @@ -305,7 +306,7 @@ Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== --- code-editor-src.orig/build/gulpfile.extensions.ts +++ code-editor-src/build/gulpfile.extensions.ts -@@ -65,6 +65,7 @@ const compilations = [ +@@ -86,6 +86,7 @@ const compilations = [ 'extensions/search-result/tsconfig.json', 'extensions/simple-browser/tsconfig.json', 'extensions/sagemaker-extension/tsconfig.json', diff --git a/patches/sagemaker/sagemaker-integration.diff b/patches/sagemaker/sagemaker-integration.diff index 1a77af9..8e3de8d 100644 --- a/patches/sagemaker/sagemaker-integration.diff +++ b/patches/sagemaker/sagemaker-integration.diff @@ -4,10 +4,10 @@ Introduces SagemakerServerClient which registers commands for parsing SageMaker authentication cookies and adds a logout menu entry. Provides the bridge between the Code Editor server and SageMaker's auth system. -Index: third-party-src/src/vs/workbench/browser/client.ts +Index: code-editor-src/src/vs/workbench/browser/client.ts =================================================================== --- /dev/null -+++ third-party-src/src/vs/workbench/browser/client.ts ++++ code-editor-src/src/vs/workbench/browser/client.ts @@ -0,0 +1,61 @@ +import { Disposable } from '../../base/common/lifecycle.js'; +import { CommandsRegistry } from '../../platform/commands/common/commands.js'; @@ -71,13 +71,13 @@ Index: third-party-src/src/vs/workbench/browser/client.ts + } +} \ No newline at end of file -Index: third-party-src/src/vs/workbench/browser/web.main.ts +Index: code-editor-src/src/vs/workbench/browser/web.main.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/web.main.ts -+++ third-party-src/src/vs/workbench/browser/web.main.ts +--- code-editor-src.orig/src/vs/workbench/browser/web.main.ts ++++ code-editor-src/src/vs/workbench/browser/web.main.ts @@ -98,6 +98,7 @@ import { INotificationService, Severity import { IDefaultAccountService } from '../../platform/defaultAccount/common/defaultAccount.js'; - import { DefaultAccountService } from '../services/accounts/common/defaultAccount.js'; + import { DefaultAccountService } from '../services/accounts/browser/defaultAccount.js'; import { AccountPolicyService } from '../services/policies/common/accountPolicyService.js'; +import { SagemakerServerClient } from '../../workbench/browser/client.js'; @@ -93,10 +93,10 @@ Index: third-party-src/src/vs/workbench/browser/web.main.ts // Window this._register(instantiationService.createInstance(BrowserWindow)); -Index: third-party-src/product.json +Index: code-editor-src/product.json =================================================================== ---- third-party-src.orig/product.json -+++ third-party-src/product.json +--- code-editor-src.orig/product.json ++++ code-editor-src/product.json @@ -9,8 +9,8 @@ "nlsBaseUrl": "", "publisherUrl": "" @@ -108,10 +108,10 @@ Index: third-party-src/product.json "codeEditorVersion": "1.0.0", "applicationName": "code", "dataFolderName": ".vscode-editor", -Index: third-party-src/src/vs/platform/product/common/product.ts +Index: code-editor-src/src/vs/platform/product/common/product.ts =================================================================== ---- third-party-src.orig/src/vs/platform/product/common/product.ts -+++ third-party-src/src/vs/platform/product/common/product.ts +--- code-editor-src.orig/src/vs/platform/product/common/product.ts ++++ code-editor-src/src/vs/platform/product/common/product.ts @@ -70,10 +70,12 @@ else { if (Object.keys(product).length === 0) { Object.assign(product, { diff --git a/patches/sagemaker/sagemaker-open-notebook-extension.diff b/patches/sagemaker/sagemaker-open-notebook-extension.diff index d148ced..7ee8030 100644 --- a/patches/sagemaker/sagemaker-open-notebook-extension.diff +++ b/patches/sagemaker/sagemaker-open-notebook-extension.diff @@ -17,14 +17,14 @@ Index: code-editor-src/src/vs/workbench/contrib/extensions/browser/extensions.co + scope: ConfigurationScope.APPLICATION, + default: {}, + }, - [VerifyExtensionSignatureConfigKey]: { + 'extensions.allowOpenInModalEditor': { type: 'boolean', - description: localize('extensions.verifySignature', "When enabled, extensions are verified to be signed before getting installed."), + description: localize('extensions.allowOpenInModalEditor', "Controls whether extensions and MCP servers open in a modal editor overlay."), Index: code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts =================================================================== --- code-editor-src.orig/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts +++ code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts -@@ -1085,6 +1085,17 @@ export class ExtensionsWorkbenchService +@@ -1087,6 +1087,17 @@ export class ExtensionsWorkbenchService urlService.registerHandler(this); this.whenInitialized = this.initialize(); @@ -293,7 +293,7 @@ Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== --- code-editor-src.orig/build/gulpfile.extensions.ts +++ code-editor-src/build/gulpfile.extensions.ts -@@ -67,6 +67,7 @@ const compilations = [ +@@ -88,6 +88,7 @@ const compilations = [ 'extensions/sagemaker-extension/tsconfig.json', 'extensions/sagemaker-idle-extension/tsconfig.json', 'extensions/sagemaker-terminal-crash-mitigation/tsconfig.json', diff --git a/patches/sagemaker/sagemaker-ui-dark-theme.diff b/patches/sagemaker/sagemaker-ui-dark-theme.diff index 75c22e5..4808a33 100644 --- a/patches/sagemaker/sagemaker-ui-dark-theme.diff +++ b/patches/sagemaker/sagemaker-ui-dark-theme.diff @@ -373,7 +373,7 @@ Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== --- code-editor-src.orig/build/gulpfile.extensions.ts +++ code-editor-src/build/gulpfile.extensions.ts -@@ -68,6 +68,7 @@ const compilations = [ +@@ -89,6 +89,7 @@ const compilations = [ 'extensions/sagemaker-idle-extension/tsconfig.json', 'extensions/sagemaker-terminal-crash-mitigation/tsconfig.json', 'extensions/sagemaker-open-notebook-extension/tsconfig.json', diff --git a/patches/sagemaker/terminal-crash-mitigation.diff b/patches/sagemaker/terminal-crash-mitigation.diff index 1aa8960..d3b5625 100644 --- a/patches/sagemaker/terminal-crash-mitigation.diff +++ b/patches/sagemaker/terminal-crash-mitigation.diff @@ -242,7 +242,7 @@ Index: code-editor-src/build/gulpfile.extensions.ts =================================================================== --- code-editor-src.orig/build/gulpfile.extensions.ts +++ code-editor-src/build/gulpfile.extensions.ts -@@ -66,6 +66,7 @@ const compilations = [ +@@ -87,6 +87,7 @@ const compilations = [ 'extensions/simple-browser/tsconfig.json', 'extensions/sagemaker-extension/tsconfig.json', 'extensions/sagemaker-idle-extension/tsconfig.json', diff --git a/patches/sagemaker/update-csp.diff b/patches/sagemaker/update-csp.diff index d0f3ca2..3784d3f 100644 --- a/patches/sagemaker/update-csp.diff +++ b/patches/sagemaker/update-csp.diff @@ -4,10 +4,10 @@ Adds Microsoft and VS Code CDN domains to the CSP connect-src directive, allowing the web client to connect to the extension marketplace, update servers, and other required external services. -Index: third-party-src/src/vs/server/node/webClientServer.ts +Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/webClientServer.ts -+++ third-party-src/src/vs/server/node/webClientServer.ts +--- code-editor-src.orig/src/vs/server/node/webClientServer.ts ++++ code-editor-src/src/vs/server/node/webClientServer.ts @@ -438,7 +438,7 @@ export class WebClientServer { `frame-src 'self' https://*.vscode-cdn.net data:;`, 'worker-src \'self\' data: blob:;', diff --git a/patches/test/sagemaker/fix-smoke-tests.diff b/patches/test/sagemaker/fix-smoke-tests.diff index dc8cc39..0119af4 100644 --- a/patches/test/sagemaker/fix-smoke-tests.diff +++ b/patches/test/sagemaker/fix-smoke-tests.diff @@ -91,7 +91,7 @@ Index: code-editor-src/test/smoke/src/areas/multiroot/multiroot.test.ts =================================================================== --- code-editor-src.orig/test/smoke/src/areas/multiroot/multiroot.test.ts +++ code-editor-src/test/smoke/src/areas/multiroot/multiroot.test.ts -@@ -3,51 +3,39 @@ +@@ -3,54 +3,39 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -155,6 +155,9 @@ Index: code-editor-src/test/smoke/src/areas/multiroot/multiroot.test.ts // Shared before/after handling - installAllHandlers(logger, opts => { +- if (!opts.workspacePath) { +- throw new Error('Multiroot tests require a workspace to be open'); +- } - const workspacePath = createWorkspaceFile(opts.workspacePath); - return { ...opts, workspacePath }; + installAllHandlers(logger); diff --git a/patches/test/sagemaker/sagemaker-extensions.diff b/patches/test/sagemaker/sagemaker-extensions.diff index 436d3f1..3cc164a 100644 --- a/patches/test/sagemaker/sagemaker-extensions.diff +++ b/patches/test/sagemaker/sagemaker-extensions.diff @@ -72,15 +72,15 @@ Index: code-editor-src/test/smoke/src/main.ts =================================================================== --- code-editor-src.orig/test/smoke/src/main.ts +++ code-editor-src/test/smoke/src/main.ts -@@ -21,6 +21,7 @@ import { setup as setupLaunchTests } fro - import { setup as setupTerminalTests } from './areas/terminal/terminal.test'; +@@ -22,6 +22,7 @@ import { setup as setupTerminalTests } f import { setup as setupTaskTests } from './areas/task/task.test'; - import { setup as setupChatTests } from './areas/chat/chat.test'; + import { setup as setupChatTests } from './areas/chat/chatDisabled.test'; + import { setup as setupAccessibilityTests } from './areas/accessibility/accessibility.test'; +import { setup as setupSageMakerExtensionsTests } from './areas/sagemaker-extensions/sagemaker-extensions.test'; const rootPath = path.join(__dirname, '..', '..', '..'); -@@ -252,6 +253,7 @@ describe(`VSCode Smoke Tests (${opts.web +@@ -253,6 +254,7 @@ describe(`VSCode Smoke Tests (${opts.web setupTerminalTests(logger); setupTaskTests(logger); setupStatusbarTests(logger); diff --git a/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff b/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff index 16f8eb2..9de7cde 100644 --- a/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff +++ b/patches/test/sagemaker/sagemaker-smoke-testing-entry.diff @@ -26,7 +26,7 @@ Index: code-editor-src/test/automation/src/playwrightBrowser.ts const { serverProcess, endpoint } = await launchServer(options); // Launch browser -@@ -165,6 +174,144 @@ async function launchBrowser(options: La +@@ -176,6 +185,144 @@ async function launchBrowser(options: La return { browser, context, page, pageLoadedPromise }; } @@ -191,15 +191,16 @@ Index: code-editor-src/test/smoke/src/main.ts import { setup as setupDataLossTests } from './areas/workbench/data-loss.test'; import { setup as setupPreferencesTests } from './areas/preferences/preferences.test'; -@@ -21,7 +16,6 @@ import { setup as setupNotebookTests } f +@@ -21,8 +16,6 @@ import { setup as setupNotebookTests } f import { setup as setupLanguagesTests } from './areas/languages/languages.test'; import { setup as setupStatusbarTests } from './areas/statusbar/statusbar.test'; import { setup as setupExtensionTests } from './areas/extensions/extensions.test'; +-import { setup as setupExtensionHostRestartTests } from './areas/extensions/extension-host-restart.test'; -import { setup as setupMultirootTests } from './areas/multiroot/multiroot.test'; import { setup as setupLocalizationTests } from './areas/workbench/localization.test'; import { setup as setupLaunchTests } from './areas/workbench/launch.test'; import { setup as setupTerminalTests } from './areas/terminal/terminal.test'; -@@ -118,33 +112,10 @@ try { +@@ -120,33 +113,10 @@ try { logger.log(`Error enabling graceful-fs: ${error}`); } @@ -235,7 +236,7 @@ Index: code-editor-src/test/smoke/src/main.ts function fail(errorMessage): void { logger.log(errorMessage); -@@ -221,7 +192,10 @@ else { +@@ -223,7 +193,10 @@ else { const testCodeServerPath = opts.build || process.env.VSCODE_REMOTE_SERVER_PATH; if (typeof testCodeServerPath === 'string') { @@ -247,7 +248,7 @@ Index: code-editor-src/test/smoke/src/main.ts fail(`Cannot find Code server at ${testCodeServerPath}.`); } else { logger.log(`Running web smoke tests against ${testCodeServerPath}`); -@@ -243,115 +217,6 @@ logger.log(`VS Code product quality: ${q +@@ -245,125 +218,6 @@ logger.log(`VS Code product quality: ${q const userDataDir = path.join(testDataPath, 'd'); @@ -328,7 +329,7 @@ Index: code-editor-src/test/smoke/src/main.ts - }); - - if (process.platform === 'darwin') { -- // Visual Studio Code.app/Contents/MacOS/Electron +- // Visual Studio Code.app/Contents/MacOS/Code - stableCodePath = path.dirname(path.dirname(path.dirname(stableCodeExecutable))); - } else { - // VSCode/Code.exe (Windows) | VSCode/code (Linux) @@ -357,13 +358,23 @@ Index: code-editor-src/test/smoke/src/main.ts - } - await measureAndLog(() => setupRepository(), 'setupRepository', logger); - +- // Copy smoke test extension for extension host restart test +- if (!opts.web && !opts.remote) { +- const smokeExtPath = path.join(rootPath, 'test', 'smoke', 'extensions', 'vscode-smoketest-ext-host'); +- const dest = path.join(extensionsPath, 'vscode-smoketest-ext-host'); +- if (fs.existsSync(dest)) { +- fs.rmSync(dest, { recursive: true, force: true }); +- } +- fs.cpSync(smokeExtPath, dest, { recursive: true }); +- } +- - logger.log('Smoketest setup done!\n'); -} - // Before all tests run setup before(async function () { this.timeout(5 * 60 * 1000); // increase since we download VSCode -@@ -376,19 +241,6 @@ before(async function () { +@@ -388,19 +242,6 @@ before(async function () { extraArgs: (opts.electronArgs || '').split(' ').map(arg => arg.trim()).filter(arg => !!arg) }; this.defaultOptions = options; @@ -383,10 +394,11 @@ Index: code-editor-src/test/smoke/src/main.ts }); describe(`VSCode Smoke Tests (${opts.web ? 'Web' : 'Electron'})`, () => { -@@ -401,7 +253,6 @@ describe(`VSCode Smoke Tests (${opts.web +@@ -413,8 +254,6 @@ describe(`VSCode Smoke Tests (${opts.web setupTaskTests(logger); setupStatusbarTests(logger); if (quality !== Quality.Dev && quality !== Quality.OSS) { setupExtensionTests(logger); } +- if (!opts.web && !opts.remote) { setupExtensionHostRestartTests(logger); } - setupMultirootTests(logger); if (!opts.web && !opts.remote && quality !== Quality.Dev && quality !== Quality.OSS) { setupLocalizationTests(logger); } if (!opts.web && !opts.remote) { setupLaunchTests(logger); } @@ -395,7 +407,7 @@ Index: code-editor-src/test/automation/src/code.ts =================================================================== --- code-editor-src.orig/test/automation/src/code.ts +++ code-editor-src/test/automation/src/code.ts -@@ -93,7 +93,9 @@ export async function launch(options: La +@@ -94,7 +94,9 @@ export async function launch(options: La // Browser smoke tests if (options.web) { const { serverProcess, driver } = await measureAndLog(() => launchPlaywrightBrowser(options), 'launch playwright (browser)', options.logger); @@ -406,7 +418,7 @@ Index: code-editor-src/test/automation/src/code.ts return new Code(driver, options.logger, serverProcess, undefined, options.quality, options.version); } -@@ -114,7 +116,7 @@ export class Code { +@@ -115,7 +117,7 @@ export class Code { constructor( driver: PlaywrightDriver, readonly logger: Logger, @@ -415,7 +427,7 @@ Index: code-editor-src/test/automation/src/code.ts private readonly safeToKill: Promise | undefined, readonly quality: Quality, readonly version: { major: number; minor: number; patch: number } -@@ -174,6 +176,13 @@ export class Code { +@@ -175,6 +177,13 @@ export class Code { async exit(): Promise { return measureAndLog(() => new Promise(resolve => { diff --git a/patches/web-embedded-with-terminal.series b/patches/web-embedded-with-terminal.series index 55a6b35..9026fdf 100644 --- a/patches/web-embedded-with-terminal.series +++ b/patches/web-embedded-with-terminal.series @@ -1,4 +1,5 @@ common/preapplied/remove-unsafe-headers.diff +common/preapplied/fix-chat-debug-editor-visibility.diff common/disable-online-services.diff common/disable-telemetry-service.diff common/remove-accounts-feature.diff @@ -16,9 +17,7 @@ common/service-worker-fix.diff common/proposed-api.diff common/build.diff common/integration.diff -common/replace-gulp-untar.diff common/fix-ts-rootdir-webpack.diff -common/fix-terminal-autoreplies.diff web-embedded/readd-workbench.diff web-embedded/suppress-known-errors-build-integration.diff web-embedded/disable-built-in-walkthroughs-from-c.diff diff --git a/patches/web-embedded.series b/patches/web-embedded.series index 4bf73d8..7ebc769 100644 --- a/patches/web-embedded.series +++ b/patches/web-embedded.series @@ -1,4 +1,5 @@ common/preapplied/remove-unsafe-headers.diff +common/preapplied/fix-chat-debug-editor-visibility.diff common/disable-online-services.diff common/disable-telemetry-service.diff common/remove-accounts-feature.diff @@ -16,9 +17,7 @@ common/service-worker-fix.diff common/proposed-api.diff common/build.diff common/integration.diff -common/replace-gulp-untar.diff common/fix-ts-rootdir-webpack.diff -common/fix-terminal-autoreplies.diff web-embedded/readd-workbench.diff web-embedded/suppress-known-errors-build-integration.diff web-embedded/disable-built-in-walkthroughs-from-c.diff diff --git a/patches/web-embedded/add-a-much-simpler-workbench.diff b/patches/web-embedded/add-a-much-simpler-workbench.diff index 0ba2205..bb9e6d9 100644 --- a/patches/web-embedded/add-a-much-simpler-workbench.diff +++ b/patches/web-embedded/add-a-much-simpler-workbench.diff @@ -7,10 +7,10 @@ workbench HTML file at compile time. src/vs/code/browser/workbench/workbench.ts | 634 ++------------------- 1 file changed, 52 insertions(+), 582 deletions(-) -Index: third-party-src/src/vs/code/browser/workbench/workbench.ts +Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== ---- third-party-src.orig/src/vs/code/browser/workbench/workbench.ts -+++ third-party-src/src/vs/code/browser/workbench/workbench.ts +--- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts ++++ code-editor-src/src/vs/code/browser/workbench/workbench.ts @@ -3,599 +3,14 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ diff --git a/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff b/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff index 4f5d1d7..99ca3e2 100644 --- a/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff +++ b/patches/web-embedded/add-custom-cache-to-scan-user-extensions-in-reducing-o.diff @@ -4,11 +4,11 @@ Adds an in-memory cache for the result of readCustomBuiltinExtensions() in the web extensions scanner service, preventing redundant network requests on every call to scanUserExtensions. -Index: third-party-src/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts +Index: code-editor-src/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts -+++ third-party-src/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts -@@ -100,6 +100,7 @@ export class WebExtensionsScannerService +--- code-editor-src.orig/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts ++++ code-editor-src/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.ts +@@ -101,6 +101,7 @@ export class WebExtensionsScannerService private readonly customBuiltinExtensionsCacheResource: URI | undefined = undefined; private readonly resourcesAccessQueueMap = new ResourceMap>(); private readonly extensionsEnabledWithApiProposalVersion: string[]; @@ -16,7 +16,7 @@ Index: third-party-src/src/vs/workbench/services/extensionManagement/browser/web constructor( @IBrowserWorkbenchEnvironmentService private readonly environmentService: IBrowserWorkbenchEnvironmentService, -@@ -471,7 +472,9 @@ export class WebExtensionsScannerService +@@ -472,7 +473,9 @@ export class WebExtensionsScannerService const extensions = new Map(); // Custom builtin extensions defined through `additionalBuiltinExtensions` API diff --git a/patches/web-embedded/add-default-loader.diff b/patches/web-embedded/add-default-loader.diff index bff8a21..3655a92 100644 --- a/patches/web-embedded/add-default-loader.diff +++ b/patches/web-embedded/add-default-loader.diff @@ -4,11 +4,11 @@ Adds the server index.html and a version-stamped product.json to the web packaging pipeline so the embedded build can serve a standalone entry point. -Index: third-party-src/build/gulpfile.vscode.web.ts +Index: code-editor-src/build/gulpfile.vscode.web.ts =================================================================== ---- third-party-src.orig/build/gulpfile.vscode.web.ts -+++ third-party-src/build/gulpfile.vscode.web.ts -@@ -182,6 +182,10 @@ function packageTask(sourceFolderName: s +--- code-editor-src.orig/build/gulpfile.vscode.web.ts ++++ code-editor-src/build/gulpfile.vscode.web.ts +@@ -206,6 +206,10 @@ function packageTask(sourceFolderName: s gulp.src('resources/server/code-192.png', { base: 'resources/server' }), gulp.src('resources/server/code-512.png', { base: 'resources/server' }) ); @@ -19,7 +19,7 @@ Index: third-party-src/build/gulpfile.vscode.web.ts const all = es.merge( packageJsonStream, -@@ -190,7 +194,9 @@ function packageTask(sourceFolderName: s +@@ -214,7 +218,9 @@ function packageTask(sourceFolderName: s deps, favicon, manifest, diff --git a/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff b/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff index 9b29c4d..13b9d41 100644 --- a/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff +++ b/patches/web-embedded/clean-up-workbench-and-use-tb-cdn-for-webview-in-pro.diff @@ -5,10 +5,10 @@ parameters (origin, function, vsCodeCdn, isDevo), falls back to fetching product.json when no DOM config element exists, and sets the webview endpoint to the CDN origin in non-devo environments. -Index: third-party-src/src/vs/code/browser/workbench/workbench.ts +Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== ---- third-party-src.orig/src/vs/code/browser/workbench/workbench.ts -+++ third-party-src/src/vs/code/browser/workbench/workbench.ts +--- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts ++++ code-editor-src/src/vs/code/browser/workbench/workbench.ts @@ -597,16 +597,32 @@ function readCookie(name: string): strin return undefined; } diff --git a/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff b/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff index b33b489..01d1cb4 100644 --- a/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff +++ b/patches/web-embedded/disable-built-in-walkthroughs-from-c.diff @@ -8,10 +8,10 @@ for custom walkthroughs. .../common/gettingStartedContent.ts | 851 +++++++++--------- 2 files changed, 464 insertions(+), 473 deletions(-) -Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts @@ -4,15 +4,13 @@ *--------------------------------------------------------------------------------------------*/ @@ -30,7 +30,7 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/ge import { EditorPaneDescriptor, IEditorPaneRegistry } from '../../../browser/editor.js'; import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js'; import { IWalkthroughsService } from './gettingStartedService.js'; -@@ -40,12 +38,7 @@ registerAction2(class extends Action2 { +@@ -43,12 +41,7 @@ registerAction2(class extends Action2 { id: 'workbench.action.openWalkthrough', title: localize2('miWelcome', 'Welcome'), category: Categories.Help, @@ -44,7 +44,7 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/ge metadata: { description: localize2('minWelcomeDescription', 'Opens a Walkthrough to help you get started in VS Code.') } -@@ -116,30 +109,30 @@ Registry.as(EditorE +@@ -127,30 +120,30 @@ Registry.as(EditorE const category = localize2('welcome', "Welcome"); @@ -99,11 +99,11 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/ge CommandsRegistry.registerCommand({ id: 'walkthroughs.selectStep', -@@ -306,16 +299,14 @@ configurationRegistry.registerConfigurat +@@ -317,17 +310,14 @@ configurationRegistry.registerConfigurat 'workbench.startupEditor': { 'scope': ConfigurationScope.RESOURCE, 'type': 'string', -- 'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'terminal'], +- 'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'terminal', 'agentSessionsWelcomePage'], + 'enum': ['none', 'welcomePage', 'welcomePageInEmptyWorkbench', 'terminal'], 'enumDescriptions': [ localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.none' }, "Start without an editor."), @@ -112,21 +112,22 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/ge - localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.newUntitledFile' }, "Open a new untitled text file (only applies when opening an empty window)."), localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePageInEmptyWorkbench' }, "Open the Welcome page when opening an empty workbench."), localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.terminal' }, "Open a new terminal in the editor area."), +- localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.agentSessionsWelcomePage' }, "Open the Agent Sessions Welcome page. Will override the workbench secondary side bar visibility settings."), ], - 'default': 'welcomePage', + 'default': 'none', - 'description': localize('workbench.startupEditor', "Controls which editor is shown at startup, if none are restored from the previous session.") + 'description': localize('workbench.startupEditor', "Controls which editor is shown at startup, if none are restored from the previous session."), + 'experiment': { mode: 'auto' } }, - 'workbench.welcomePage.preferReducedMotion': { -@@ -333,4 +324,3 @@ registerWorkbenchContribution2(StartupPa +@@ -346,4 +336,3 @@ registerWorkbenchContribution2(StartupPa registerWorkbenchContribution2(StartupPageRunnerContribution.ID, StartupPageRunnerContribution, WorkbenchPhase.AfterRestored); AccessibleViewRegistry.register(new GettingStartedAccessibleView()); - -Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts +Index: code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts -+++ third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts +--- code-editor-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts ++++ code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts @@ -7,14 +7,11 @@ import themePickerContent from './media/ import themePickerSmallContent from './media/theme_picker_small.js'; import notebookProfileContent from './media/notebookProfile.js'; diff --git a/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff b/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff index ec1fd69..cc1aee9 100644 --- a/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff +++ b/patches/web-embedded/disable-file-actions-calls-accounts-merge-conflit.diff @@ -16,12 +16,12 @@ This patch disables or modifies various features and functionalities related to .../browser/userDataProfileActions.ts | 21 - 12 files changed, 391 insertions(+), 521 deletions(-) -Index: third-party-src/extensions/merge-conflict/package.json +Index: code-editor-src/extensions/merge-conflict/package.json =================================================================== ---- third-party-src.orig/extensions/merge-conflict/package.json -+++ third-party-src/extensions/merge-conflict/package.json -@@ -29,80 +29,6 @@ - "watch": "gulp watch-extension:merge-conflict" +--- code-editor-src.orig/extensions/merge-conflict/package.json ++++ code-editor-src/extensions/merge-conflict/package.json +@@ -35,80 +35,6 @@ + "watch-typecheck-web": "tsgo --project ./tsconfig.json --noEmit --watch" }, "contributes": { - "commands": [ @@ -101,10 +101,10 @@ Index: third-party-src/extensions/merge-conflict/package.json "menus": { "scm/resourceState/context": [ { -Index: third-party-src/extensions/merge-conflict/src/commandHandler.ts +Index: code-editor-src/extensions/merge-conflict/src/commandHandler.ts =================================================================== ---- third-party-src.orig/extensions/merge-conflict/src/commandHandler.ts -+++ third-party-src/extensions/merge-conflict/src/commandHandler.ts +--- code-editor-src.orig/extensions/merge-conflict/src/commandHandler.ts ++++ code-editor-src/extensions/merge-conflict/src/commandHandler.ts @@ -6,15 +6,6 @@ import * as vscode from 'vscode'; import * as interfaces from './interfaces'; import ContentProvider from './contentProvider'; @@ -393,10 +393,10 @@ Index: third-party-src/extensions/merge-conflict/src/commandHandler.ts - }; - } } -Index: third-party-src/extensions/references-view/package.json +Index: code-editor-src/extensions/references-view/package.json =================================================================== ---- third-party-src.orig/extensions/references-view/package.json -+++ third-party-src/extensions/references-view/package.json +--- code-editor-src.orig/extensions/references-view/package.json ++++ code-editor-src/extensions/references-view/package.json @@ -121,23 +121,6 @@ "icon": "$(refresh)" }, @@ -450,10 +450,10 @@ Index: third-party-src/extensions/references-view/package.json "command": "references-view.showSupertypes", "group": "navigation@1", "when": "view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy && references-view.typeHierarchyMode != supertypes" -Index: third-party-src/extensions/references-view/src/calls/index.ts +Index: code-editor-src/extensions/references-view/src/calls/index.ts =================================================================== ---- third-party-src.orig/extensions/references-view/src/calls/index.ts -+++ third-party-src/extensions/references-view/src/calls/index.ts +--- code-editor-src.orig/extensions/references-view/src/calls/index.ts ++++ code-editor-src/extensions/references-view/src/calls/index.ts @@ -4,40 +4,11 @@ *--------------------------------------------------------------------------------------------*/ @@ -530,10 +530,10 @@ Index: third-party-src/extensions/references-view/src/calls/index.ts - this._mem.update(RichCallsDirection._key, value); - } -} -Index: third-party-src/extensions/references-view/src/extension.ts +Index: code-editor-src/extensions/references-view/src/extension.ts =================================================================== ---- third-party-src.orig/extensions/references-view/src/extension.ts -+++ third-party-src/extensions/references-view/src/extension.ts +--- code-editor-src.orig/extensions/references-view/src/extension.ts ++++ code-editor-src/extensions/references-view/src/extension.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ @@ -550,10 +550,10 @@ Index: third-party-src/extensions/references-view/src/extension.ts types.register(tree, context); function setInput(input: SymbolTreeInput) { -Index: third-party-src/src/vs/workbench/browser/actions/windowActions.ts +Index: code-editor-src/src/vs/workbench/browser/actions/windowActions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/actions/windowActions.ts -+++ third-party-src/src/vs/workbench/browser/actions/windowActions.ts +--- code-editor-src.orig/src/vs/workbench/browser/actions/windowActions.ts ++++ code-editor-src/src/vs/workbench/browser/actions/windowActions.ts @@ -7,7 +7,7 @@ import { localize, localize2 } from '../ import { IWindowOpenable } from '../../../platform/window/common/window.js'; import { IDialogService } from '../../../platform/dialogs/common/dialogs.js'; @@ -628,10 +628,10 @@ Index: third-party-src/src/vs/workbench/browser/actions/windowActions.ts - group: '2_open', - order: 4 -}); -Index: third-party-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/authentication/browser/authentication.contribution.ts @@ -11,16 +11,10 @@ import { IExtensionManifest } from '../. import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js'; import { Registry } from '../../../../platform/registry/common/platform.js'; @@ -657,10 +657,10 @@ Index: third-party-src/src/vs/workbench/contrib/authentication/browser/authentic } } -Index: third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts @@ -10,7 +10,7 @@ import { MenuId, MenuRegistry, registerA import { ICommandAction } from '../../../../platform/action/common/action.js'; import { KeyMod, KeyCode } from '../../../../base/common/keyCodes.js'; @@ -725,10 +725,10 @@ Index: third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contri group: '5_autosave', command: { id: ToggleAutoSaveAction.ID, -Index: third-party-src/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts +Index: code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts -+++ third-party-src/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts +--- code-editor-src.orig/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts ++++ code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts @@ -14,13 +14,12 @@ import { IDialogService } from '../../.. import { ITextEditorOptions } from '../../../../../platform/editor/common/editor.js'; import { ServicesAccessor } from '../../../../../platform/instantiation/common/instantiation.js'; @@ -765,10 +765,10 @@ Index: third-party-src/src/vs/workbench/contrib/mergeEditor/browser/commands/com export class AcceptAllCombination extends MergeEditorAction2 { constructor() { super({ -Index: third-party-src/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts +Index: code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts -+++ third-party-src/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts +--- code-editor-src.orig/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts ++++ code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.ts @@ -139,7 +139,7 @@ export class MergeEditorLoadContentsFrom category: MERGE_EDITOR_CATEGORY, title: localize2('merge.dev.loadContentsFromFolder', "Load Merge Editor State from Folder"), @@ -778,10 +778,10 @@ Index: third-party-src/src/vs/workbench/contrib/mergeEditor/browser/commands/dev }); } -Index: third-party-src/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts @@ -15,7 +15,7 @@ import { AcceptAllInput1, AcceptAllInput2, AcceptMerge, CompareInput1WithBaseCommand, CompareInput2WithBaseCommand, GoToNextUnhandledConflict, GoToPreviousUnhandledConflict, OpenBaseFile, OpenMergeEditor, @@ -799,10 +799,10 @@ Index: third-party-src/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor. registerAction2(AcceptAllCombination); registerAction2(ToggleBetweenInputs); -Index: third-party-src/src/vs/workbench/browser/parts/editor/editor.contribution.ts +Index: code-editor-src/src/vs/workbench/browser/parts/editor/editor.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/parts/editor/editor.contribution.ts -+++ third-party-src/src/vs/workbench/browser/parts/editor/editor.contribution.ts +--- code-editor-src.orig/src/vs/workbench/browser/parts/editor/editor.contribution.ts ++++ code-editor-src/src/vs/workbench/browser/parts/editor/editor.contribution.ts @@ -42,8 +42,7 @@ import { ReOpenInTextEditorAction, DuplicateGroupDownAction, DuplicateGroupLeftAction, DuplicateGroupRightAction, DuplicateGroupUpAction, ToggleEditorTypeAction, SplitEditorToAboveGroupAction, SplitEditorToBelowGroupAction, SplitEditorToFirstGroupAction, SplitEditorToLastGroupAction, SplitEditorToLeftGroupAction, SplitEditorToNextGroupAction, SplitEditorToPreviousGroupAction, SplitEditorToRightGroupAction, NavigateForwardInEditsAction, @@ -896,10 +896,10 @@ Index: third-party-src/src/vs/workbench/browser/parts/editor/editor.contribution MenuRegistry.appendMenuItem(MenuId.MenubarLayoutMenu, { group: '4_layouts', -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.ts +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfileActions.ts @@ -8,27 +8,6 @@ import { Categories } from '../../../../ import { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js'; import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js'; diff --git a/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff b/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff index e4b1241..be87440 100644 --- a/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff +++ b/patches/web-embedded/disable-user-tasks-and-fix-build-warnings.diff @@ -6,10 +6,10 @@ This patch disables user-facing task-related functionality in the codebase. .../browser/configurationService.ts | 1 - 2 files changed, 159 insertions(+), 167 deletions(-) -Index: third-party-src/src/vs/workbench/contrib/tasks/browser/task.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/tasks/browser/task.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/tasks/browser/task.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/tasks/browser/task.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/tasks/browser/task.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/tasks/browser/task.contribution.ts @@ -48,16 +48,6 @@ import { ITerminalInstance, ITerminalSer const workbenchRegistry = Registry.as(WorkbenchExtensions.Workbench); workbenchRegistry.registerWorkbenchContribution(RunAutomaticTasks, LifecyclePhase.Eventually); diff --git a/patches/web-embedded/dynamic-extension-webworker-init.diff b/patches/web-embedded/dynamic-extension-webworker-init.diff index 9cb8188..9b57622 100644 --- a/patches/web-embedded/dynamic-extension-webworker-init.diff +++ b/patches/web-embedded/dynamic-extension-webworker-init.diff @@ -4,10 +4,10 @@ Replaces the static blob-based worker initialization with a dynamic approach that forwards the full bootstrap event data to the worker, avoiding inline script generation and improving CSP compatibility. -Index: third-party-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html +Index: code-editor-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html =================================================================== ---- third-party-src.orig/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html -+++ third-party-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html +--- code-editor-src.orig/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html ++++ code-editor-src/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html @@ -79,8 +79,8 @@ if (event.origin !== parentOrigin || event.data.type !== bootstrapNlsType) { return; @@ -57,10 +57,10 @@ Index: third-party-src/src/vs/workbench/services/extensions/worker/webWorkerExte } else { worker.onerror = console.error.bind(console); window.parent.postMessage({ -Index: third-party-src/src/vs/workbench/api/worker/extensionHostWorkerMain.ts +Index: code-editor-src/src/vs/workbench/api/worker/extensionHostWorkerMain.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/api/worker/extensionHostWorkerMain.ts -+++ third-party-src/src/vs/workbench/api/worker/extensionHostWorkerMain.ts +--- code-editor-src.orig/src/vs/workbench/api/worker/extensionHostWorkerMain.ts ++++ code-editor-src/src/vs/workbench/api/worker/extensionHostWorkerMain.ts @@ -3,7 +3,25 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ diff --git a/patches/web-embedded/emit-load-time-metrics.diff b/patches/web-embedded/emit-load-time-metrics.diff index 1a37293..d854076 100644 --- a/patches/web-embedded/emit-load-time-metrics.diff +++ b/patches/web-embedded/emit-load-time-metrics.diff @@ -4,11 +4,11 @@ Measures the total workbench initialization time and sends it to the parent window via postMessage using the vscode.metrics channel, enabling the embedding application to track IDE load performance. -Index: third-party-src/src/vs/code/browser/workbench/workbench.ts +Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== ---- third-party-src.orig/src/vs/code/browser/workbench/workbench.ts -+++ third-party-src/src/vs/code/browser/workbench/workbench.ts -@@ -22,6 +22,8 @@ import { AuthenticationSessionInfo } fro +--- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts ++++ code-editor-src/src/vs/code/browser/workbench/workbench.ts +@@ -23,6 +23,8 @@ import { AuthenticationSessionInfo } fro import type { IURLCallbackProvider } from '../../../workbench/services/url/browser/urlService.js'; import { create } from '../../../workbench/workbench.web.main.internal.js'; @@ -17,16 +17,16 @@ Index: third-party-src/src/vs/code/browser/workbench/workbench.ts interface ISecretStorageCrypto { seal(data: string): Promise; unseal(data: string): Promise; -@@ -591,7 +593,7 @@ function readCookie(name: string): strin +@@ -596,7 +598,7 @@ function readCookie(name: string): strin } (function () { - + const start = Date.now(); // Find config by checking for DOM + // eslint-disable-next-line no-restricted-syntax const configElement = mainWindow.document.getElementById('vscode-workbench-web-configuration'); - const configElementAttribute = configElement ? configElement.getAttribute('data-settings') : undefined; -@@ -614,4 +616,13 @@ function readCookie(name: string): strin +@@ -620,4 +622,13 @@ function readCookie(name: string): strin ? undefined /* with a remote without embedder-preferred storage, store on the remote */ : new LocalStorageSecretStorageProvider(secretStorageCrypto), }); diff --git a/patches/web-embedded/enable-ts-features.diff b/patches/web-embedded/enable-ts-features.diff index 6aec10d..679cad8 100644 --- a/patches/web-embedded/enable-ts-features.diff +++ b/patches/web-embedded/enable-ts-features.diff @@ -4,11 +4,11 @@ Forces disableAutomaticTypingAcquisition for all server kinds and adds memfs:// to the allowed file system provider paths, enabling TypeScript IntelliSense to work with in-memory file systems. -Index: third-party-src/extensions/typescript-language-features/src/tsServer/spawner.ts +Index: code-editor-src/extensions/typescript-language-features/src/tsServer/spawner.ts =================================================================== ---- third-party-src.orig/extensions/typescript-language-features/src/tsServer/spawner.ts -+++ third-party-src/extensions/typescript-language-features/src/tsServer/spawner.ts -@@ -208,9 +208,9 @@ export class TypeScriptServerSpawner { +--- code-editor-src.orig/extensions/typescript-language-features/src/tsServer/spawner.ts ++++ code-editor-src/extensions/typescript-language-features/src/tsServer/spawner.ts +@@ -207,9 +207,9 @@ export class TypeScriptServerSpawner { args.push('--useInferredProjectPerProjectRoot'); @@ -21,11 +21,11 @@ Index: third-party-src/extensions/typescript-language-features/src/tsServer/spaw if (kind === TsServerProcessKind.Semantic || kind === TsServerProcessKind.Main) { args.push('--enableTelemetry'); -Index: third-party-src/extensions/typescript-language-features/web/src/serverHost.ts +Index: code-editor-src/extensions/typescript-language-features/web/src/serverHost.ts =================================================================== ---- third-party-src.orig/extensions/typescript-language-features/web/src/serverHost.ts -+++ third-party-src/extensions/typescript-language-features/web/src/serverHost.ts -@@ -348,7 +348,9 @@ function createServerHost( +--- code-editor-src.orig/extensions/typescript-language-features/web/src/serverHost.ts ++++ code-editor-src/extensions/typescript-language-features/web/src/serverHost.ts +@@ -365,7 +365,9 @@ function createServerHost( && !path.startsWith('/vscode-global-typings/') // Handle the case where a local folder has been opened in VS Code // In these cases we do not want to use the mapped node_module diff --git a/patches/web-embedded/fix-file-tree-open.diff b/patches/web-embedded/fix-file-tree-open.diff index 96b0b24..2cfa680 100644 --- a/patches/web-embedded/fix-file-tree-open.diff +++ b/patches/web-embedded/fix-file-tree-open.diff @@ -4,11 +4,11 @@ Ensures the resource URI is properly revived via URI.revive() in the ExplorerItem constructor, fixing issues where file tree items could not be opened due to malformed URI objects. -Index: third-party-src/src/vs/workbench/contrib/files/common/explorerModel.ts +Index: code-editor-src/src/vs/workbench/contrib/files/common/explorerModel.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/files/common/explorerModel.ts -+++ third-party-src/src/vs/workbench/contrib/files/common/explorerModel.ts -@@ -92,9 +92,10 @@ export class ExplorerItem { +--- code-editor-src.orig/src/vs/workbench/contrib/files/common/explorerModel.ts ++++ code-editor-src/src/vs/workbench/contrib/files/common/explorerModel.ts +@@ -93,9 +93,10 @@ export class ExplorerItem { public nestedParent: ExplorerItem | undefined; public nestedChildren: ExplorerItem[] | undefined; @@ -20,7 +20,7 @@ Index: third-party-src/src/vs/workbench/contrib/files/common/explorerModel.ts private readonly fileService: IFileService, private readonly configService: IConfigurationService, private readonly filesConfigService: IFilesConfigurationService, -@@ -107,6 +108,7 @@ export class ExplorerItem { +@@ -108,6 +109,7 @@ export class ExplorerItem { private _mtime?: number, private _unknown = false ) { diff --git a/patches/web-embedded/fix-scm-progress-location.diff b/patches/web-embedded/fix-scm-progress-location.diff index c98ed5e..6b640fa 100644 --- a/patches/web-embedded/fix-scm-progress-location.diff +++ b/patches/web-embedded/fix-scm-progress-location.diff @@ -8,11 +8,11 @@ progress. Change to ProgressLocation.Window which doesn't require a view. .../workbench/contrib/scm/browser/quickDiffModel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: third-party-src/src/vs/workbench/contrib/scm/browser/quickDiffModel.ts +Index: code-editor-src/src/vs/workbench/contrib/scm/browser/quickDiffModel.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/scm/browser/quickDiffModel.ts -+++ third-party-src/src/vs/workbench/contrib/scm/browser/quickDiffModel.ts -@@ -241,7 +241,7 @@ export class QuickDiffModel extends Disp +--- code-editor-src.orig/src/vs/workbench/contrib/scm/browser/quickDiffModel.ts ++++ code-editor-src/src/vs/workbench/contrib/scm/browser/quickDiffModel.ts +@@ -243,7 +243,7 @@ export class QuickDiffModel extends Disp } private diff(): Promise<{ allChanges: QuickDiffChange[]; changes: QuickDiffChange[]; mapChanges: Map } | null> { diff --git a/patches/web-embedded/fix-watch-target.diff b/patches/web-embedded/fix-watch-target.diff index 6a9e099..c76ca43 100644 --- a/patches/web-embedded/fix-watch-target.diff +++ b/patches/web-embedded/fix-watch-target.diff @@ -4,10 +4,10 @@ Adds a check for the node command and runs the web server directly instead of going through the code() wrapper function, fixing startup in environments where node is globally available. -Index: third-party-src/scripts/code-web.sh +Index: code-editor-src/scripts/code-web.sh =================================================================== ---- third-party-src.orig/scripts/code-web.sh -+++ third-party-src/scripts/code-web.sh +--- code-editor-src.orig/scripts/code-web.sh ++++ code-editor-src/scripts/code-web.sh @@ -24,4 +24,9 @@ function code() { $NODE ./scripts/code-web.js "$@" } diff --git a/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff b/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff index 6bfe1d0..71f161e 100644 --- a/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff +++ b/patches/web-embedded/only-allow-trusted-origins-in-webviews.diff @@ -4,10 +4,10 @@ Adds CSP style-src and connect-src directives for self-hosted webviews, reads trusted origins from product.json, and validates the parent origin against the trusted list before establishing the postMessage channel. -Index: third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html +Index: code-editor-src/src/vs/workbench/contrib/webview/browser/pre/index.html =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/webview/browser/pre/index.html -+++ third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html +--- code-editor-src.orig/src/vs/workbench/contrib/webview/browser/pre/index.html ++++ code-editor-src/src/vs/workbench/contrib/webview/browser/pre/index.html @@ -5,7 +5,7 @@ diff --git a/patches/web-embedded/only-have-debug-view-container.diff b/patches/web-embedded/only-have-debug-view-container.diff index 52342e3..485bc6b 100644 --- a/patches/web-embedded/only-have-debug-view-container.diff +++ b/patches/web-embedded/only-have-debug-view-container.diff @@ -5,10 +5,10 @@ This patch removes most of the debug functionality from CODE OSS, keeping only t .../debug/browser/debug.contribution.ts | 461 +----------------- 1 file changed, 8 insertions(+), 453 deletions(-) -Index: third-party-src/src/vs/workbench/contrib/debug/browser/debug.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/debug/browser/debug.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/debug/browser/debug.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/debug/browser/debug.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/debug/browser/debug.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/debug/browser/debug.contribution.ts @@ -4,453 +4,26 @@ *--------------------------------------------------------------------------------------------*/ diff --git a/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff b/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff index b5ce980..844e8d5 100644 --- a/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff +++ b/patches/web-embedded/override-report-issues-with-open-webapp-feedback-com.diff @@ -4,10 +4,10 @@ Replaces the built-in issue reporter handler with a delegation to the lambda-console.reportIssue command, routing bug reports through the embedding application's feedback mechanism instead of GitHub. -Index: third-party-src/src/vs/workbench/contrib/issue/common/issue.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/issue/common/issue.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/issue/common/issue.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/issue/common/issue.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/issue/common/issue.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/issue/common/issue.contribution.ts @@ -8,7 +8,7 @@ import { localize, localize2 } from '../ import { ICommandAction } from '../../../../platform/action/common/action.js'; import { Categories } from '../../../../platform/action/common/actionCommonCategories.js'; diff --git a/patches/web-embedded/readd-workbench.diff b/patches/web-embedded/readd-workbench.diff index 77fcd8b..31355ce 100644 --- a/patches/web-embedded/readd-workbench.diff +++ b/patches/web-embedded/readd-workbench.diff @@ -4,15 +4,15 @@ Adds buildfile.codeWeb back to the vscodeWebEntryPoints array in the web gulp build file, ensuring the workbench code is included in the web-embedded distribution. -Index: third-party-src/build/gulpfile.vscode.web.ts +Index: code-editor-src/build/gulpfile.vscode.web.ts =================================================================== ---- third-party-src.orig/build/gulpfile.vscode.web.ts -+++ third-party-src/build/gulpfile.vscode.web.ts -@@ -82,6 +82,7 @@ const vscodeWebEntryPoints = [ +--- code-editor-src.orig/build/gulpfile.vscode.web.ts ++++ code-editor-src/build/gulpfile.vscode.web.ts +@@ -115,6 +115,7 @@ const vscodeWebEntryPoints = [ buildfile.workerBackgroundTokenization, buildfile.keyboardMaps, buildfile.workbenchWeb, + buildfile.codeWeb, - buildfile.entrypoint('vs/workbench/workbench.web.main.internal') // TODO@esm remove line when we stop supporting web-amd-esm-bridge ].flat(); + /** diff --git a/patches/web-embedded/remove-chat-actions.diff b/patches/web-embedded/remove-chat-actions.diff index 7578587..81d9fcd 100644 --- a/patches/web-embedded/remove-chat-actions.diff +++ b/patches/web-embedded/remove-chat-actions.diff @@ -3,25 +3,28 @@ Remove all chat-related action registrations from the web-embedded build Disables registration of all chat related actions. These are not supported in the embedded Code Editor. -Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts -@@ -1198,26 +1198,6 @@ registerWorkbenchContribution2(UserToolS - registerWorkbenchContribution2(PromptLanguageFeaturesProvider.ID, PromptLanguageFeaturesProvider, WorkbenchPhase.Eventually); - registerWorkbenchContribution2(ChatWindowNotifier.ID, ChatWindowNotifier, WorkbenchPhase.AfterRestored); +--- code-editor-src.orig/src/vs/workbench/contrib/chat/browser/chat.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/chat/browser/chat.contribution.ts +@@ -1841,30 +1841,6 @@ registerWorkbenchContribution2(ChatWindo + registerWorkbenchContribution2(ChatRepoInfoContribution.ID, ChatRepoInfoContribution, WorkbenchPhase.Eventually); + registerWorkbenchContribution2(AgentPluginsViewsContribution.ID, AgentPluginsViewsContribution, WorkbenchPhase.AfterRestored); -registerChatActions(); -registerChatAccessibilityActions(); -registerChatCopyActions(); +-registerChatOpenAgentDebugPanelAction(); -registerChatCodeBlockActions(); -registerChatCodeCompareBlockActions(); -registerChatFileTreeActions(); -registerChatPromptNavigationActions(); -registerChatTitleActions(); -registerChatExecuteActions(); +-registerChatQueueActions(); -registerQuickChatActions(); -registerChatExportActions(); +-registerChatForkActions(); -registerMoveActions(); -registerNewChatActions(); -registerChatContextActions(); @@ -30,7 +33,8 @@ Index: third-party-src/src/vs/workbench/contrib/chat/browser/chat.contribution.t -registerChatElicitationActions(); -registerChatToolActions(); -registerLanguageModelActions(); +-registerChatPluginActions(); -registerAction2(ConfigureToolSets); registerEditorFeature(ChatPasteProvidersFeature); - + agentPluginDiscoveryRegistry.register(new SyncDescriptor(ConfiguredAgentPluginDiscovery)); diff --git a/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff b/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff index 56ada96..f9c8141 100644 --- a/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff +++ b/patches/web-embedded/remove-import-export-profiles-and-revert-file-menu-i.diff @@ -4,10 +4,10 @@ Removes the Revert File command from the command palette. removes import/export functionality, as these features are not applicable in the embedded web environment. -Index: third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/files/browser/fileActions.contribution.ts @@ -10,7 +10,7 @@ import { MenuId, MenuRegistry, registerA import { ICommandAction } from '../../../../platform/action/common/action.js'; import { KeyMod, KeyCode } from '../../../../base/common/keyCodes.js'; @@ -88,11 +88,11 @@ Index: third-party-src/src/vs/workbench/contrib/files/browser/fileActions.contri MenuRegistry.appendMenuItem(MenuId.MenubarFileMenu, { group: '6_close', -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts -@@ -152,8 +152,6 @@ export class UserDataProfilesWorkbenchCo +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts +@@ -167,8 +167,6 @@ export class UserDataProfilesWorkbenchCo this.registerProfilesActions(); this._register(this.userDataProfilesService.onDidChangeProfiles(() => this.registerProfilesActions())); @@ -101,7 +101,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData this.registerCreateFromCurrentProfileAction(); this.registerNewProfileAction(); this.registerDeleteProfileAction(); -@@ -386,34 +384,6 @@ export class UserDataProfilesWorkbenchCo +@@ -402,34 +400,6 @@ export class UserDataProfilesWorkbenchCo return disposables; } @@ -136,11 +136,11 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData private registerCreateFromCurrentProfileAction(): void { const that = this; -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts -@@ -223,13 +223,7 @@ export class UserDataProfilesEditor exte +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts +@@ -224,13 +224,7 @@ export class UserDataProfilesEditor exte const actions: IAction[] = []; if (this.templates.length) { actions.push(new SubmenuAction('from.template', localize('from template', "From Template"), this.getCreateFromTemplateActions())); @@ -154,7 +154,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData return actions; } }, -@@ -294,50 +288,9 @@ export class UserDataProfilesEditor exte +@@ -295,50 +289,9 @@ export class UserDataProfilesEditor exte if (templateActions.length) { actions.push(new SubmenuAction('from.template', localize('new from template', "New Profile From Template"), templateActions)); } @@ -205,10 +205,10 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData async createNewProfile(copyFrom?: URI | IUserDataProfile): Promise { await this.model?.createNewProfile(copyFrom); } -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts @@ -977,28 +977,7 @@ export class UserDataProfilesEditorModel () => this.userDataProfileManagementService.switchProfile(profileElement.profile) )); diff --git a/patches/web-embedded/remove-menu-entries-for-merge-conflict-and-call-items.diff b/patches/web-embedded/remove-menu-entries-for-merge-conflict-and-call-items.diff index 5a63d5f..81ef14b 100644 --- a/patches/web-embedded/remove-menu-entries-for-merge-conflict-and-call-items.diff +++ b/patches/web-embedded/remove-menu-entries-for-merge-conflict-and-call-items.diff @@ -8,12 +8,12 @@ This patch remove the context menu entries for merge conflict options and merge .../browser/parts/globalCompositeBar.ts | 68 +++++++++---------- 4 files changed, 35 insertions(+), 71 deletions(-) -Index: third-party-src/extensions/merge-conflict/package.json +Index: code-editor-src/extensions/merge-conflict/package.json =================================================================== ---- third-party-src.orig/extensions/merge-conflict/package.json -+++ third-party-src/extensions/merge-conflict/package.json -@@ -29,32 +29,6 @@ - "watch": "gulp watch-extension:merge-conflict" +--- code-editor-src.orig/extensions/merge-conflict/package.json ++++ code-editor-src/extensions/merge-conflict/package.json +@@ -35,32 +35,6 @@ + "watch-typecheck-web": "tsgo --project ./tsconfig.json --noEmit --watch" }, "contributes": { - "menus": { @@ -45,10 +45,10 @@ Index: third-party-src/extensions/merge-conflict/package.json "configuration": { "title": "%config.title%", "properties": { -Index: third-party-src/extensions/references-view/package.json +Index: code-editor-src/extensions/references-view/package.json =================================================================== ---- third-party-src.orig/extensions/references-view/package.json -+++ third-party-src/extensions/references-view/package.json +--- code-editor-src.orig/extensions/references-view/package.json ++++ code-editor-src/extensions/references-view/package.json @@ -260,16 +260,6 @@ "when": "view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item" }, @@ -66,11 +66,11 @@ Index: third-party-src/extensions/references-view/package.json "command": "references-view.showSupertypes", "group": "1", "when": "view == references-view.tree && viewItem == type-item" -Index: third-party-src/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +Index: code-editor-src/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts -+++ third-party-src/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts -@@ -257,7 +257,6 @@ export class ActivityBarCompositeBar ext +--- code-editor-src.orig/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts ++++ code-editor-src/src/vs/workbench/browser/parts/activitybar/activitybarPart.ts +@@ -309,7 +309,6 @@ export class ActivityBarCompositeBar ext // Global Composite Bar if (this.globalCompositeBar) { actions.push(new Separator()); diff --git a/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff b/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff index abf1b13..0bd0116 100644 --- a/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff +++ b/patches/web-embedded/remove-new-window-actions-and-profile-workspace-section.diff @@ -4,19 +4,19 @@ Removes all actions which can open a new window from the embedded Code Editor. This is needed because new window actions could be opened as a pop-up, which is not embedded. This is why multi-window is not supported in the web-embedded environment. -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts -@@ -35,7 +35,6 @@ import { IBrowserWorkbenchEnvironmentSer - import { Extensions as DndExtensions, IDragAndDropContributionRegistry, IResourceDropHandler } from '../../../../platform/dnd/browser/dnd.js'; +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfile.ts +@@ -36,7 +36,6 @@ import { Extensions as DndExtensions, ID import { IUriIdentityService } from '../../../../platform/uriIdentity/common/uriIdentity.js'; + import { ITextEditorService } from '../../../services/textfile/common/textEditorService.js'; -export const OpenProfileMenu = new MenuId('OpenProfile'); const ProfilesMenu = new MenuId('Profiles'); export class UserDataProfilesWorkbenchContribution extends Disposable implements IWorkbenchContribution { -@@ -147,8 +146,6 @@ export class UserDataProfilesWorkbenchCo +@@ -162,8 +161,6 @@ export class UserDataProfilesWorkbenchCo this._register(this.registerManageProfilesAction()); this._register(this.registerSwitchProfileAction()); @@ -25,7 +25,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData this.registerProfilesActions(); this._register(this.userDataProfilesService.onDidChangeProfiles(() => this.registerProfilesActions())); -@@ -183,22 +180,12 @@ export class UserDataProfilesWorkbenchCo +@@ -198,22 +195,12 @@ export class UserDataProfilesWorkbenchCo }); } @@ -48,7 +48,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData } } } -@@ -230,79 +217,6 @@ export class UserDataProfilesWorkbenchCo +@@ -245,80 +232,6 @@ export class UserDataProfilesWorkbenchCo }); } @@ -89,6 +89,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData - const disposables = new DisposableStore(); - - const id = `workbench.action.openProfile.${profile.name.replace('/\s+/', '_')}`; +- const precondition: ContextKeyExpression | undefined = HAS_PROFILES_CONTEXT; - - disposables.add(registerAction2(class NewWindowAction extends Action2 { - @@ -102,7 +103,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData - menu: { - id: OpenProfileMenu, - group: '0_profiles', -- when: HAS_PROFILES_CONTEXT +- when: precondition - } - }); - } @@ -118,7 +119,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData - id, - category: PROFILES_CATEGORY, - title: localize2('open', "Open {0} Profile", profile.name), -- precondition: HAS_PROFILES_CONTEXT +- precondition - }, - })); - @@ -128,7 +129,7 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData private registerSwitchProfileAction(): IDisposable { const that = this; return registerAction2(class SwitchProfileAction extends Action2 { -@@ -412,14 +326,7 @@ export class UserDataProfilesWorkbenchCo +@@ -428,14 +341,7 @@ export class UserDataProfilesWorkbenchCo id: 'workbench.profiles.actions.createProfile', title: localize2('create profile', "New Profile..."), category: PROFILES_CATEGORY, @@ -144,11 +145,11 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData }); } -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts -@@ -711,9 +711,7 @@ class ProfileTreeDataSource implements I +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditor.ts +@@ -716,9 +716,7 @@ class ProfileTreeDataSource implements I children.push({ element: 'name', root: element }); children.push({ element: 'icon', root: element }); } @@ -158,13 +159,13 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData } return children; } -Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts +Index: code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts -+++ third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts -@@ -1000,17 +1000,8 @@ export class UserDataProfilesEditorModel - () => this.removeProfile(profileElement.profile) - )); +--- code-editor-src.orig/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts ++++ code-editor-src/src/vs/workbench/contrib/userDataProfile/browser/userDataProfilesEditorModel.ts +@@ -979,17 +979,8 @@ export class UserDataProfilesEditorModel + + - const newWindowAction = disposables.add(new Action( - 'userDataProfile.newWindow', @@ -178,5 +179,5 @@ Index: third-party-src/src/vs/workbench/contrib/userDataProfile/browser/userData primaryActions.push(activateAction); - primaryActions.push(newWindowAction); const secondaryActions: IAction[] = []; - secondaryActions.push(copyFromProfileAction); - secondaryActions.push(exportAction); + + const profileElement = disposables.add(this.instantiationService.createInstance(UserDataProfileElement, diff --git a/patches/web-embedded/remove-source-control.diff b/patches/web-embedded/remove-source-control.diff index a5134fc..5c94950 100644 --- a/patches/web-embedded/remove-source-control.diff +++ b/patches/web-embedded/remove-source-control.diff @@ -5,11 +5,11 @@ This patch removes the entire source control (SCM) feature from CODE OSS as it i .../contrib/scm/browser/scm.contribution.ts | 444 +----------------- 1 file changed, 1 insertion(+), 443 deletions(-) -Index: third-party-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -@@ -3,711 +3,15 @@ +--- code-editor-src.orig/src/vs/workbench/contrib/scm/browser/scm.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts +@@ -3,730 +3,15 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -40,6 +40,7 @@ Index: third-party-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -import { SCMRepositoriesViewPane } from './scmRepositoriesViewPane.js'; -import { IInstantiationService, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js'; -import { Context as SuggestContext } from '../../../../editor/contrib/suggest/browser/suggest.js'; +-import { InlineCompletionContextKeys } from '../../../../editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js'; -import { MANAGE_TRUST_COMMAND_ID, WorkspaceTrustContext } from '../../workspace/common/workspace.js'; +import { SCMViewService } from './scmViewService.js'; import { IQuickDiffService } from '../common/quickDiff.js'; @@ -60,6 +61,7 @@ Index: third-party-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -import { SCMHistoryItemContextContribution } from './scmHistoryChatContext.js'; -import { ChatContextKeys } from '../../chat/common/actions/chatContextKeys.js'; -import { CHAT_SETUP_SUPPORT_ANONYMOUS_ACTION_ID } from '../../chat/browser/actions/chatActions.js'; +-import { SCMInputContextKeys } from './scmInput.js'; -import product from '../../../../platform/product/common/product.js'; - -ModesRegistry.registerLanguage({ @@ -472,9 +474,27 @@ Index: third-party-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts -}); - -KeybindingsRegistry.registerCommandAndKeybindingRule({ +- id: 'scm.clearValidation', +- weight: KeybindingWeight.WorkbenchContrib, +- when: ContextKeyExpr.and( +- ContextKeyExpr.has('scmRepository'), +- SCMInputContextKeys.SCMInputHasValidationMessage), +- primary: KeyCode.Escape, +- handler: async (accessor) => { +- const scmViewService = accessor.get(ISCMViewService); +- scmViewService.activeRepository.get()?.repository.input.clearValidation(); +- } +-}); +- +-KeybindingsRegistry.registerCommandAndKeybindingRule({ - id: 'scm.clearInput', - weight: KeybindingWeight.WorkbenchContrib, -- when: ContextKeyExpr.and(ContextKeyExpr.has('scmRepository'), SuggestContext.Visible.toNegated(), EditorContextKeys.hasNonEmptySelection.toNegated()), +- when: ContextKeyExpr.and( +- ContextKeyExpr.has('scmRepository'), +- SuggestContext.Visible.toNegated(), +- InlineCompletionContextKeys.inlineSuggestionVisible.toNegated(), +- SCMInputContextKeys.SCMInputHasValidationMessage.toNegated(), +- EditorContextKeys.hasNonEmptySelection.toNegated()), - primary: KeyCode.Escape, - handler: async (accessor) => { - const scmService = accessor.get(ISCMService); @@ -719,7 +739,6 @@ Index: third-party-src/src/vs/workbench/contrib/scm/browser/scm.contribution.ts - await commandService.executeCommand(command, ...args); - } -}); -- + registerSingleton(ISCMService, SCMService, InstantiationType.Delayed); - registerSingleton(ISCMViewService, SCMViewService, InstantiationType.Delayed); diff --git a/patches/web-embedded/remove-ssh-remote-host-in-code-oss.diff b/patches/web-embedded/remove-ssh-remote-host-in-code-oss.diff index c9e6972..4512f67 100644 --- a/patches/web-embedded/remove-ssh-remote-host-in-code-oss.diff +++ b/patches/web-embedded/remove-ssh-remote-host-in-code-oss.diff @@ -5,10 +5,10 @@ SSH remote host connections are not supported in the light-weight web version. T src/vs/workbench/contrib/remote/browser/remote.contribution.ts | 2 -- 1 file changed, 2 deletions(-) -Index: third-party-src/src/vs/workbench/contrib/remote/browser/remote.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/remote/browser/remote.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/remote/browser/remote.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/remote/browser/remote.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/remote/browser/remote.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/remote/browser/remote.contribution.ts @@ -9,7 +9,6 @@ import { ShowCandidateContribution } fro import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js'; import { TunnelFactoryContribution } from './tunnelFactory.js'; diff --git a/patches/web-embedded/remove-terminal-in-code-oss.diff b/patches/web-embedded/remove-terminal-in-code-oss.diff index 1362515..a46949c 100644 --- a/patches/web-embedded/remove-terminal-in-code-oss.diff +++ b/patches/web-embedded/remove-terminal-in-code-oss.diff @@ -5,10 +5,10 @@ This patch removes the entire terminal functionality from Code OSS, including al .../terminal/browser/terminal.contribution.ts | 92 +------------------ 1 file changed, 2 insertions(+), 90 deletions(-) -Index: third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/terminal/browser/terminal.contribution.ts @@ -4,49 +4,30 @@ *--------------------------------------------------------------------------------------------*/ @@ -28,7 +28,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contri -import { ViewPaneContainer } from '../../../browser/parts/views/viewPaneContainer.js'; import { WorkbenchPhase, registerWorkbenchContribution2 } from '../../../common/contributions.js'; -import { EditorExtensions, IEditorFactoryRegistry } from '../../../common/editor.js'; --import { IViewContainersRegistry, IViewsRegistry, Extensions as ViewContainerExtensions, ViewContainerLocation } from '../../../common/views.js'; +-import { IViewContainersRegistry, IViewsRegistry, Extensions as ViewContainerExtensions, ViewContainerLocation, WindowVisibility } from '../../../common/views.js'; -import { ITerminalProfileService, TERMINAL_VIEW_ID, TerminalCommandId } from '../common/terminal.js'; +import { ITerminalProfileService } from '../common/terminal.js'; import { TerminalEditingService } from './terminalEditingService.js'; @@ -61,7 +61,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contri // Register services registerSingleton(ITerminalLogService, TerminalLogService, InstantiationType.Delayed); -@@ -68,72 +49,7 @@ registerWorkbenchContribution2(TerminalT +@@ -68,74 +49,7 @@ registerWorkbenchContribution2(TerminalT registerTerminalPlatformConfiguration(); registerTerminalConfiguration(getFontSnippets); @@ -108,6 +108,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contri - storageId: TERMINAL_VIEW_ID, - hideIfEmpty: true, - order: 3, +- windowVisibility: WindowVisibility.Both -}, ViewContainerLocation.Panel, { doNotRegisterOpenCommand: true, isDefault: true }); -Registry.as(ViewContainerExtensions.ViewsRegistry).registerViews([{ - id: TERMINAL_VIEW_ID, @@ -116,6 +117,7 @@ Index: third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contri - canToggleVisibility: true, - canMoveView: true, - ctorDescriptor: new SyncDescriptor(TerminalViewPane), +- windowVisibility: WindowVisibility.Both, - openCommandActionDescriptor: { - id: TerminalCommandId.Toggle, - mnemonicTitle: nls.localize({ key: 'miToggleIntegratedTerminal', comment: ['&& denotes a mnemonic'] }, "&&Terminal"), @@ -135,10 +137,10 @@ Index: third-party-src/src/vs/workbench/contrib/terminal/browser/terminal.contri -setupTerminalMenus(); - registerColors(); -Index: third-party-src/src/vs/workbench/contrib/terminalContrib/quickAccess/browser/terminal.quickAccess.contribution.ts +Index: code-editor-src/src/vs/workbench/contrib/terminalContrib/quickAccess/browser/terminal.quickAccess.contribution.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/terminalContrib/quickAccess/browser/terminal.quickAccess.contribution.ts -+++ third-party-src/src/vs/workbench/contrib/terminalContrib/quickAccess/browser/terminal.quickAccess.contribution.ts +--- code-editor-src.orig/src/vs/workbench/contrib/terminalContrib/quickAccess/browser/terminal.quickAccess.contribution.ts ++++ code-editor-src/src/vs/workbench/contrib/terminalContrib/quickAccess/browser/terminal.quickAccess.contribution.ts @@ -27,10 +27,6 @@ quickAccessRegistry.registerQuickAccessP placeholder: nls.localize('tasksQuickAccessPlaceholder', "Type the name of a terminal to open."), helpEntries: [{ description: nls.localize('tasksQuickAccessHelp', "Show All Opened Terminals"), commandId: TerminalQuickAccessCommandId.QuickOpenTerm }] diff --git a/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff b/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff index 53b9912..e0bcf30 100644 --- a/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff +++ b/patches/web-embedded/remove-unsafe-eval-and-unsafe-inline-from-csp-direct.diff @@ -5,10 +5,10 @@ removes 'unsafe-inline' from the web client style-src and notebook webview script-src, and tightens the extension host iframe CSP to improve security posture for the web-embedded build. -Index: third-party-src/src/vs/server/node/webClientServer.ts +Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/webClientServer.ts -+++ third-party-src/src/vs/server/node/webClientServer.ts +--- code-editor-src.orig/src/vs/server/node/webClientServer.ts ++++ code-editor-src/src/vs/server/node/webClientServer.ts @@ -423,7 +423,7 @@ export class WebClientServer { 'default-src \'self\';', 'img-src \'self\' https: data: blob:;', @@ -27,10 +27,10 @@ Index: third-party-src/src/vs/server/node/webClientServer.ts 'font-src \'self\' blob:;' ].join(' '); -Index: third-party-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +Index: code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts -+++ third-party-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts +--- code-editor-src.orig/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts ++++ code-editor-src/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts @@ -320,8 +320,8 @@ export class BackLayerWebView @@ -55,10 +55,10 @@ Index: third-party-src/src/vs/workbench/contrib/webview/browser/pre/index.html { return new Promise((resolve, reject) => { diff --git a/patches/web-server/display-language.diff b/patches/web-server/display-language.diff index e3589a5..a127406 100644 --- a/patches/web-server/display-language.diff +++ b/patches/web-server/display-language.diff @@ -8,10 +8,10 @@ downloading language packs from a URL configured in the product.json. This patch supports language pack extensions and uses files on the remote to set the language instead, so it works like the desktop version. -Index: third-party-src/src/vs/server/node/serverServices.ts +Index: code-editor-src/src/vs/server/node/serverServices.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/serverServices.ts -+++ third-party-src/src/vs/server/node/serverServices.ts +--- code-editor-src.orig/src/vs/server/node/serverServices.ts ++++ code-editor-src/src/vs/server/node/serverServices.ts @@ -11,7 +11,7 @@ import * as path from '../../base/common import { IURITransformer } from '../../base/common/uriIpc.js'; import { getMachineId, getSqmMachineId, getDevDeviceId } from '../../base/node/id.js'; @@ -21,7 +21,7 @@ Index: third-party-src/src/vs/server/node/serverServices.ts import { ProtocolConstants } from '../../base/parts/ipc/common/ipc.net.js'; import { IConfigurationService } from '../../platform/configuration/common/configuration.js'; import { ConfigurationService } from '../../platform/configuration/common/configurationService.js'; -@@ -258,6 +258,9 @@ export async function setupServerService +@@ -263,6 +263,9 @@ export async function setupServerService socketServer.registerChannel('mcpManagement', new McpManagementChannel(mcpManagementService, (ctx: RemoteAgentConnectionContext) => getUriTransformer(ctx.remoteAuthority))); @@ -31,10 +31,10 @@ Index: third-party-src/src/vs/server/node/serverServices.ts // clean up extensions folder remoteExtensionsScanner.whenExtensionsReady().then(() => extensionManagementService.cleanUp()); -Index: third-party-src/src/vs/platform/environment/common/environmentService.ts +Index: code-editor-src/src/vs/platform/environment/common/environmentService.ts =================================================================== ---- third-party-src.orig/src/vs/platform/environment/common/environmentService.ts -+++ third-party-src/src/vs/platform/environment/common/environmentService.ts +--- code-editor-src.orig/src/vs/platform/environment/common/environmentService.ts ++++ code-editor-src/src/vs/platform/environment/common/environmentService.ts @@ -98,7 +98,7 @@ export abstract class AbstractNativeEnvi return URI.file(join(vscodePortable, 'argv.json')); } @@ -44,10 +44,10 @@ Index: third-party-src/src/vs/platform/environment/common/environmentService.ts } @memoize -Index: third-party-src/src/vs/server/node/remoteLanguagePacks.ts +Index: code-editor-src/src/vs/server/node/remoteLanguagePacks.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/remoteLanguagePacks.ts -+++ third-party-src/src/vs/server/node/remoteLanguagePacks.ts +--- code-editor-src.orig/src/vs/server/node/remoteLanguagePacks.ts ++++ code-editor-src/src/vs/server/node/remoteLanguagePacks.ts @@ -3,37 +3,111 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -177,10 +177,10 @@ Index: third-party-src/src/vs/server/node/remoteLanguagePacks.ts + + return nlsFile; +} -Index: third-party-src/src/vs/server/node/webClientServer.ts +Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/webClientServer.ts -+++ third-party-src/src/vs/server/node/webClientServer.ts +--- code-editor-src.orig/src/vs/server/node/webClientServer.ts ++++ code-editor-src/src/vs/server/node/webClientServer.ts @@ -25,6 +25,7 @@ import { URI } from '../../base/common/u import { streamToBuffer } from '../../base/common/buffer.js'; import { IProductConfiguration } from '../../base/common/product.js'; @@ -214,10 +214,10 @@ Index: third-party-src/src/vs/server/node/webClientServer.ts } const values: { [key: string]: string } = { -Index: third-party-src/src/vs/server/node/serverEnvironmentService.ts +Index: code-editor-src/src/vs/server/node/serverEnvironmentService.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/serverEnvironmentService.ts -+++ third-party-src/src/vs/server/node/serverEnvironmentService.ts +--- code-editor-src.orig/src/vs/server/node/serverEnvironmentService.ts ++++ code-editor-src/src/vs/server/node/serverEnvironmentService.ts @@ -16,6 +16,7 @@ import { join } from '../../base/common/ import { ProtocolConstants } from '../../base/parts/ipc/common/ipc.net.js'; @@ -234,10 +234,10 @@ Index: third-party-src/src/vs/server/node/serverEnvironmentService.ts /* ----- server setup ----- */ -Index: third-party-src/src/vs/platform/languagePacks/browser/languagePacks.ts +Index: code-editor-src/src/vs/platform/languagePacks/browser/languagePacks.ts =================================================================== ---- third-party-src.orig/src/vs/platform/languagePacks/browser/languagePacks.ts -+++ third-party-src/src/vs/platform/languagePacks/browser/languagePacks.ts +--- code-editor-src.orig/src/vs/platform/languagePacks/browser/languagePacks.ts ++++ code-editor-src/src/vs/platform/languagePacks/browser/languagePacks.ts @@ -5,18 +5,24 @@ import { CancellationTokenSource } from '../../../base/common/cancellation.js'; @@ -272,10 +272,10 @@ Index: third-party-src/src/vs/platform/languagePacks/browser/languagePacks.ts + return this.languagePackService.getInstalledLanguages(); } } -Index: third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +Index: code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts -+++ third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +--- code-editor-src.orig/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts ++++ code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -474,9 +474,6 @@ export class InstallAction extends Exten if (this.extension.isBuiltin) { return; @@ -339,23 +339,10 @@ Index: third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsAct } override async run(): Promise { -Index: third-party-src/src/vs/workbench/workbench.web.main.internal.ts +Index: code-editor-src/src/vs/workbench/contrib/localization/common/localizationsActions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/workbench.web.main.internal.ts -+++ third-party-src/src/vs/workbench/workbench.web.main.internal.ts -@@ -54,7 +54,7 @@ import './services/dialogs/browser/fileD - import './services/host/browser/browserHostService.js'; - import './services/lifecycle/browser/lifecycleService.js'; - import './services/clipboard/browser/clipboardService.js'; --import './services/localization/browser/localeService.js'; -+import './services/localization/electron-browser/localeService.js'; - import './services/path/browser/pathService.js'; - import './services/themes/browser/browserHostColorSchemeService.js'; - import './services/encryption/browser/encryptionService.js'; -Index: third-party-src/src/vs/workbench/contrib/localization/common/localizationsActions.ts -=================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/localization/common/localizationsActions.ts -+++ third-party-src/src/vs/workbench/contrib/localization/common/localizationsActions.ts +--- code-editor-src.orig/src/vs/workbench/contrib/localization/common/localizationsActions.ts ++++ code-editor-src/src/vs/workbench/contrib/localization/common/localizationsActions.ts @@ -11,6 +11,7 @@ import { ServicesAccessor } from '../../ import { ILanguagePackItem, ILanguagePackService } from '../../../../platform/languagePacks/common/languagePacks.js'; import { ILocaleService } from '../../../services/localization/common/locale.js'; @@ -381,10 +368,10 @@ Index: third-party-src/src/vs/workbench/contrib/localization/common/localization const disposables = new DisposableStore(); const qp = disposables.add(quickInputService.createQuickPick({ useSeparators: true })); qp.matchOnDescription = true; -Index: third-party-src/src/vs/workbench/services/localization/electron-browser/localeService.ts +Index: code-editor-src/src/vs/workbench/services/localization/electron-browser/localeService.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/localization/electron-browser/localeService.ts -+++ third-party-src/src/vs/workbench/services/localization/electron-browser/localeService.ts +--- code-editor-src.orig/src/vs/workbench/services/localization/electron-browser/localeService.ts ++++ code-editor-src/src/vs/workbench/services/localization/electron-browser/localeService.ts @@ -51,7 +51,8 @@ class NativeLocaleService implements ILo @IProductService private readonly productService: IProductService ) { } @@ -405,3 +392,16 @@ Index: third-party-src/src/vs/workbench/services/localization/electron-browser/l await this.jsonEditingService.write(this.environmentService.argvResource, [{ path: ['locale'], value: locale }], true); return true; } +Index: code-editor-src/src/vs/workbench/workbench.web.main.ts +=================================================================== +--- code-editor-src.orig/src/vs/workbench/workbench.web.main.ts ++++ code-editor-src/src/vs/workbench/workbench.web.main.ts +@@ -55,7 +55,7 @@ import './services/host/browser/browserH + import '../platform/meteredConnection/browser/meteredConnectionService.js'; + import './services/lifecycle/browser/lifecycleService.js'; + import './services/clipboard/browser/clipboardService.js'; +-import './services/localization/browser/localeService.js'; ++import './services/localization/electron-browser/localeService.js'; + import './services/path/browser/pathService.js'; + import './services/themes/browser/browserHostColorSchemeService.js'; + import './services/encryption/browser/encryptionService.js'; diff --git a/patches/web-server/embedding-events.diff b/patches/web-server/embedding-events.diff index 89c5d1a..c95c821 100644 --- a/patches/web-server/embedding-events.diff +++ b/patches/web-server/embedding-events.diff @@ -4,10 +4,10 @@ Introduces a SendEventToParentAction command and hooks into the remote agent connection state machine to forward connection/reconnection/ disconnection events to the parent window via postMessage. -Index: third-party-src/src/vs/workbench/contrib/remote/browser/remote.ts +Index: code-editor-src/src/vs/workbench/contrib/remote/browser/remote.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/remote/browser/remote.ts -+++ third-party-src/src/vs/workbench/contrib/remote/browser/remote.ts +--- code-editor-src.orig/src/vs/workbench/contrib/remote/browser/remote.ts ++++ code-editor-src/src/vs/workbench/contrib/remote/browser/remote.ts @@ -1048,6 +1048,25 @@ export class RemoteAgentConnectionStatus break; } @@ -34,10 +34,10 @@ Index: third-party-src/src/vs/workbench/contrib/remote/browser/remote.ts } } } -Index: third-party-src/src/vs/workbench/browser/actions/windowActions.ts +Index: code-editor-src/src/vs/workbench/browser/actions/windowActions.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/actions/windowActions.ts -+++ third-party-src/src/vs/workbench/browser/actions/windowActions.ts +--- code-editor-src.orig/src/vs/workbench/browser/actions/windowActions.ts ++++ code-editor-src/src/vs/workbench/browser/actions/windowActions.ts @@ -458,6 +458,20 @@ class BlurAction extends Action2 { } } @@ -76,10 +76,10 @@ Index: third-party-src/src/vs/workbench/browser/actions/windowActions.ts +window.addEventListener('pagehide', function () { + window.top?.postMessage({source: 'code-editor', action: 'reload'}, '*'); +}); -Index: third-party-src/src/vs/code/browser/workbench/workbench.ts +Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== ---- third-party-src.orig/src/vs/code/browser/workbench/workbench.ts -+++ third-party-src/src/vs/code/browser/workbench/workbench.ts +--- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts ++++ code-editor-src/src/vs/code/browser/workbench/workbench.ts @@ -492,6 +492,24 @@ class WorkspaceProvider implements IWork const targetHref = this.createTargetUrl(workspace, options); @@ -105,11 +105,11 @@ Index: third-party-src/src/vs/code/browser/workbench/workbench.ts if (options?.reuse) { mainWindow.location.href = targetHref; return true; -Index: third-party-src/src/vs/workbench/browser/workbench.ts +Index: code-editor-src/src/vs/workbench/browser/workbench.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/workbench.ts -+++ third-party-src/src/vs/workbench/browser/workbench.ts -@@ -180,6 +180,8 @@ export class Workbench extends Layout { +--- code-editor-src.orig/src/vs/workbench/browser/workbench.ts ++++ code-editor-src/src/vs/workbench/browser/workbench.ts +@@ -185,6 +185,8 @@ export class Workbench extends Layout { } catch (error) { onUnexpectedError(error); diff --git a/patches/web-server/integration.diff b/patches/web-server/integration.diff index 5ae5acc..791bd39 100644 --- a/patches/web-server/integration.diff +++ b/patches/web-server/integration.diff @@ -4,10 +4,10 @@ Adds the Open VSX gallery service URLs to product.json, adds OIDC and SSO device authorization domains to the trusted domains list, and updates the welcome page branding. -Index: third-party-src/product.json +Index: code-editor-src/product.json =================================================================== ---- third-party-src.orig/product.json -+++ third-party-src/product.json +--- code-editor-src.orig/product.json ++++ code-editor-src/product.json @@ -1,4 +1,14 @@ { + "extensionsGallery": { @@ -23,7 +23,7 @@ Index: third-party-src/product.json "nameShort": "Code Editor", "nameLong": "Code Editor", "codeEditorVersion": "1.0.0", -@@ -45,6 +55,9 @@ +@@ -53,6 +63,9 @@ "https://console.amazonaws-us-gov.com", "https://console.amazonaws.cn", "https://aws.amazon.com", @@ -34,11 +34,11 @@ Index: third-party-src/product.json + "https://device.sso.*.amazonaws.com" ] } -Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts +Index: code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts -+++ third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts -@@ -872,8 +872,8 @@ export class GettingStartedPage extends +--- code-editor-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts ++++ code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts +@@ -920,8 +920,8 @@ export class GettingStartedPage extends })); const header = $('.header', {}, @@ -49,11 +49,11 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/browser/ge ); const leftColumn = $('.categories-column.categories-column-left', {},); -Index: third-party-src/src/vs/nls.ts +Index: code-editor-src/src/vs/nls.ts =================================================================== ---- third-party-src.orig/src/vs/nls.ts -+++ third-party-src/src/vs/nls.ts -@@ -43,6 +43,7 @@ function _format(message: string, args: +--- code-editor-src.orig/src/vs/nls.ts ++++ code-editor-src/src/vs/nls.ts +@@ -47,6 +47,7 @@ function _format(message: string, args: // FF3B and FF3D is the Unicode zenkaku representation for [ and ] result = '\uFF3B' + result.replace(/[aouei]/g, '$&$&') + '\uFF3D'; } @@ -61,10 +61,10 @@ Index: third-party-src/src/vs/nls.ts return result; } -Index: third-party-src/src/vs/workbench/api/common/extHostLocalizationService.ts +Index: code-editor-src/src/vs/workbench/api/common/extHostLocalizationService.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/api/common/extHostLocalizationService.ts -+++ third-party-src/src/vs/workbench/api/common/extHostLocalizationService.ts +--- code-editor-src.orig/src/vs/workbench/api/common/extHostLocalizationService.ts ++++ code-editor-src/src/vs/workbench/api/common/extHostLocalizationService.ts @@ -46,7 +46,9 @@ export class ExtHostLocalizationService if (!str) { this.logService.warn(`Using default string since no string found in i18n bundle that has the key: ${key}`); @@ -76,11 +76,11 @@ Index: third-party-src/src/vs/workbench/api/common/extHostLocalizationService.ts } getBundle(extensionId: string): { [key: string]: string } | undefined { -Index: third-party-src/extensions/git/package.nls.json +Index: code-editor-src/extensions/git/package.nls.json =================================================================== ---- third-party-src.orig/extensions/git/package.nls.json -+++ third-party-src/extensions/git/package.nls.json -@@ -226,7 +226,7 @@ +--- code-editor-src.orig/extensions/git/package.nls.json ++++ code-editor-src/extensions/git/package.nls.json +@@ -257,7 +257,7 @@ "message": "List of git commands (ex: commit, push) that would have their `stdout` logged to the [git output](command:git.showOutput). If the git command has a client-side hook configured, the client-side hook's `stdout` will also be logged to the [git output](command:git.showOutput).", "comment": [ "{Locked='](command:git.showOutput'}", @@ -89,7 +89,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -254,8 +254,8 @@ +@@ -285,8 +285,8 @@ "config.untrackedChanges.hidden": "Untracked changes are hidden and excluded from several actions.", "config.requireGitUserConfig": "Controls whether to require explicit Git user configuration or allow Git to guess if missing.", "config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.", @@ -100,25 +100,25 @@ Index: third-party-src/extensions/git/package.nls.json "config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.", "config.timeline.showUncommitted": "Controls whether to show uncommitted changes in the Timeline view.", "config.timeline.date": "Controls which date to use for items in the Timeline view.", -@@ -322,7 +322,7 @@ +@@ -356,7 +356,7 @@ "{Locked='](command:workbench.action.reloadWindow'}", - "{Locked='](command:git.showOutput'}", - "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", + "{Locked='](command:git.showOutput'}", + "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for Code-OSS", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -332,7 +332,7 @@ +@@ -366,7 +366,7 @@ "{Locked='](command:workbench.action.reloadWindow'}", - "{Locked='](command:git.showOutput'}", - "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", + "{Locked='](command:git.showOutput'}", + "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", - "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code", + "Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for Code-OSS", "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -342,54 +342,54 @@ +@@ -376,7 +376,7 @@ "{Locked='](command:workbench.action.reloadWindow'}", "{Locked='](command:git.showOutput'}", "{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}", @@ -127,12 +127,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, - "view.workbench.scm.missing": { -- "message": "Install Git, a popular source control system, to track code changes and collaborate with others. Learn more in our [Git guides](https://aka.ms/vscode-scm).", -+ "message": "Install Git, a popular source control system, to track code changes and collaborate with others. Learn more in our [Git guides](https://aka.ms/vscode-scm).", - "comment": [ - "{Locked='](https://aka.ms/vscode-scm'}", - "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" +@@ -388,42 +388,42 @@ ] }, "view.workbench.scm.disabled": { @@ -185,7 +180,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -404,7 +404,7 @@ +@@ -438,7 +438,7 @@ "comment": [ "{Locked='](command:git.openRepositoriesInParentFolders'}", "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", @@ -194,7 +189,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -413,7 +413,7 @@ +@@ -447,7 +447,7 @@ "comment": [ "{Locked='](command:git.openRepositoriesInParentFolders'}", "{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}", @@ -203,7 +198,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -421,7 +421,7 @@ +@@ -455,7 +455,7 @@ "message": "The detected Git repository is potentially unsafe as the folder is owned by someone other than the current user.\n[Manage Unsafe Repositories](command:git.manageUnsafeRepositories)\nTo learn more about unsafe repositories [read our docs](https://aka.ms/vscode-git-unsafe-repository).", "comment": [ "{Locked='](command:git.manageUnsafeRepositories'}", @@ -212,7 +207,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -429,23 +429,23 @@ +@@ -463,23 +463,23 @@ "message": "The detected Git repositories are potentially unsafe as the folders are owned by someone other than the current user.\n[Manage Unsafe Repositories](command:git.manageUnsafeRepositories)\nTo learn more about unsafe repositories [read our docs](https://aka.ms/vscode-git-unsafe-repository).", "comment": [ "{Locked='](command:git.manageUnsafeRepositories'}", @@ -241,7 +236,7 @@ Index: third-party-src/extensions/git/package.nls.json "Please make sure there is no space between the right bracket and left parenthesis: ]( this is an internal syntax for links" ] }, -@@ -453,9 +453,9 @@ +@@ -487,9 +487,9 @@ "message": "You can clone a repository locally.\n[Clone Repository](command:git.clone 'Clone a repository once the Git extension has activated')", "comment": [ "{Locked='](command:git.clone'}", @@ -253,11 +248,11 @@ Index: third-party-src/extensions/git/package.nls.json - "view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)." + "view.workbench.learnMore": "To learn more about how to use Git and source control in Code-OSS [read our docs](https://aka.ms/vscode-scm)." } -Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts +Index: code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts -+++ third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts -@@ -357,8 +357,8 @@ export const walkthroughs: GettingStartedWalkthroughCo +--- code-editor-src.orig/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts ++++ code-editor-src/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts +@@ -287,8 +287,8 @@ export const walkthroughs: GettingStarte { id: 'SetupWeb', @@ -268,16 +263,16 @@ Index: third-party-src/src/vs/workbench/contrib/welcomeGettingStarted/common/get isFeatured: true, icon: setupIcon, when: 'isWeb', -Index: third-party-src/src/vs/workbench/workbench.common.main.ts +Index: code-editor-src/src/vs/workbench/workbench.common.main.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/workbench.common.main.ts -+++ third-party-src/src/vs/workbench/workbench.common.main.ts -@@ -339,7 +339,7 @@ import './contrib/surveys/browser/langua +--- code-editor-src.orig/src/vs/workbench/workbench.common.main.ts ++++ code-editor-src/src/vs/workbench/workbench.common.main.ts +@@ -357,8 +357,6 @@ import './contrib/surveys/browser/langua // Welcome import './contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js'; +-import './contrib/welcomeAgentSessions/browser/agentSessionsWelcome.contribution.js'; -import './contrib/welcomeWalkthrough/browser/walkThrough.contribution.js'; -+ import './contrib/welcomeViews/common/viewsWelcome.contribution.js'; import './contrib/welcomeViews/common/newFile.contribution.js'; diff --git a/patches/web-server/local-storage.diff b/patches/web-server/local-storage.diff index df5923a..eb841e9 100644 --- a/patches/web-server/local-storage.diff +++ b/patches/web-server/local-storage.diff @@ -16,10 +16,10 @@ To test install the Vim extension and make sure something that uses file storage works (history recall for example) and change settings from the UI and on disk while making sure they appear on the other side. -Index: third-party-src/src/vs/server/node/webClientServer.ts +Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/webClientServer.ts -+++ third-party-src/src/vs/server/node/webClientServer.ts +--- code-editor-src.orig/src/vs/server/node/webClientServer.ts ++++ code-editor-src/src/vs/server/node/webClientServer.ts @@ -359,6 +359,7 @@ export class WebClientServer { const workbenchWebConfiguration = { @@ -28,13 +28,13 @@ Index: third-party-src/src/vs/server/node/webClientServer.ts serverBasePath: basePath, _wrapWebWorkerExtHostInIframe, developmentOptions: { enableSmokeTestDriver: this._environmentService.args['enable-smoke-test-driver'] ? true : undefined, logLevel: this._logService.getLevel() }, -Index: third-party-src/src/vs/workbench/browser/web.api.ts +Index: code-editor-src/src/vs/workbench/browser/web.api.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/browser/web.api.ts -+++ third-party-src/src/vs/workbench/browser/web.api.ts +--- code-editor-src.orig/src/vs/workbench/browser/web.api.ts ++++ code-editor-src/src/vs/workbench/browser/web.api.ts @@ -298,6 +298,11 @@ export interface IWorkbenchConstructionO */ - readonly configurationDefaults?: Record; + readonly configurationDefaults?: Record; + /** + * Path to the user data directory. @@ -44,10 +44,10 @@ Index: third-party-src/src/vs/workbench/browser/web.api.ts //#endregion //#region Profile options -Index: third-party-src/src/vs/workbench/services/environment/browser/environmentService.ts +Index: code-editor-src/src/vs/workbench/services/environment/browser/environmentService.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/environment/browser/environmentService.ts -+++ third-party-src/src/vs/workbench/services/environment/browser/environmentService.ts +--- code-editor-src.orig/src/vs/workbench/services/environment/browser/environmentService.ts ++++ code-editor-src/src/vs/workbench/services/environment/browser/environmentService.ts @@ -102,7 +102,14 @@ export class BrowserWorkbenchEnvironment get logFile(): URI { return joinPath(this.windowLogsPath, 'window.log'); } diff --git a/patches/web-server/marketplace.diff b/patches/web-server/marketplace.diff index 67f0bf8..1bb9f0e 100644 --- a/patches/web-server/marketplace.diff +++ b/patches/web-server/marketplace.diff @@ -1,16 +1,19 @@ +Add Open VSX as default marketplace + Adjusted from (MIT licensed) original source: - https://github.com/coder/code-server/blob/6d9530aa6b84514b8b54700d88cbcc66c70b789f/patches/marketplace.diff -Add Open VSX as default marketplace. If environment variable EXTENSIONS_GALLERY is set, -parse it as JSON and use as the custom extensions gallery configuration. +If environment variable EXTENSIONS_GALLERY is set, parse it as JSON and use +as the custom extensions gallery configuration. Adds IProductService and +memoize imports to extensionsViewlet.ts for marketplace URL resolution. Adjusted ExtensionLatestVersionUri endpoint to be compatible with OpenVSX API (see: https://open-vsx.org/swagger-ui/index.html?urls.primaryName=VSCode%20Adapter) -Index: third-party-src/src/vs/server/node/webClientServer.ts +Index: code-editor-src/src/vs/server/node/webClientServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/webClientServer.ts -+++ third-party-src/src/vs/server/node/webClientServer.ts +--- code-editor-src.orig/src/vs/server/node/webClientServer.ts ++++ code-editor-src/src/vs/server/node/webClientServer.ts @@ -338,14 +338,7 @@ export class WebClientServer { const productConfiguration: Partial> = { rootEndpoint: base, @@ -27,10 +30,10 @@ Index: third-party-src/src/vs/server/node/webClientServer.ts }; const proposedApi = this._environmentService.args['enable-proposed-api']; -Index: third-party-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts +Index: code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts =================================================================== ---- third-party-src.orig/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts -+++ third-party-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts +--- code-editor-src.orig/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts ++++ code-editor-src/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.ts @@ -163,9 +163,9 @@ export abstract class AbstractExtensionR } @@ -44,10 +47,10 @@ Index: third-party-src/src/vs/platform/extensionResourceLoader/common/extensionR } } -Index: third-party-src/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts +Index: code-editor-src/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts =================================================================== ---- third-party-src.orig/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts -+++ third-party-src/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts +--- code-editor-src.orig/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts ++++ code-editor-src/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts @@ -47,7 +47,7 @@ export class ExtensionGalleryManifestSer type: ExtensionGalleryResourceType.ExtensionQueryService }, @@ -57,10 +60,10 @@ Index: third-party-src/src/vs/platform/extensionManagement/common/extensionGalle type: ExtensionGalleryResourceType.ExtensionLatestVersionUri }, { -Index: third-party-src/src/vs/platform/product/common/product.ts +Index: code-editor-src/src/vs/platform/product/common/product.ts =================================================================== ---- third-party-src.orig/src/vs/platform/product/common/product.ts -+++ third-party-src/src/vs/platform/product/common/product.ts +--- code-editor-src.orig/src/vs/platform/product/common/product.ts ++++ code-editor-src/src/vs/platform/product/common/product.ts @@ -49,6 +49,14 @@ else if (globalThis._VSCODE_PRODUCT_JSON version: pkg.version }); @@ -76,20 +79,20 @@ Index: third-party-src/src/vs/platform/product/common/product.ts } // Web environment or unknown -Index: third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts +Index: code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts -+++ third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts -@@ -70,6 +70,8 @@ import { IExtensionGalleryManifest, IExt +--- code-editor-src.orig/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts ++++ code-editor-src/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts +@@ -67,6 +67,8 @@ import { KeyCode } from '../../../../bas + import { IExtensionGalleryManifest, IExtensionGalleryManifestService, ExtensionGalleryManifestStatus } from '../../../../platform/extensionManagement/common/extensionGalleryManifest.js'; import { URI } from '../../../../base/common/uri.js'; - import { DEFAULT_ACCOUNT_SIGN_IN_COMMAND } from '../../../services/accounts/common/defaultAccount.js'; - import { IHoverService } from '../../../../platform/hover/browser/hover.js'; + import { DEFAULT_ACCOUNT_SIGN_IN_COMMAND } from '../../../services/accounts/browser/defaultAccount.js'; +import { IProductService } from '../../../../platform/product/common/productService.js'; +import { memoize } from '../../../../base/common/decorators.js'; export const ExtensionsSortByContext = new RawContextKey('extensionsSortByValue', ''); export const SearchMarketplaceExtensionsContext = new RawContextKey('searchMarketplaceExtensions', false); -@@ -97,7 +99,6 @@ interface IExtensionsViewletState { +@@ -95,7 +97,6 @@ interface IExtensionsViewletState { } export class ExtensionsViewletViewsContribution extends Disposable implements IWorkbenchContribution { @@ -97,15 +100,15 @@ Index: third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsVie private readonly container: ViewContainer; constructor( -@@ -561,6 +562,7 @@ export class ExtensionsViewPaneContainer +@@ -567,6 +568,7 @@ export class ExtensionsViewPaneContainer @IExtensionService extensionService: IExtensionService, @IViewDescriptorService viewDescriptorService: IViewDescriptorService, @IPreferencesService private readonly preferencesService: IPreferencesService, + @IProductService private readonly productService: IProductService, @ICommandService private readonly commandService: ICommandService, @ILogService logService: ILogService, - @IHoverService private readonly hoverService: IHoverService, -@@ -602,6 +604,15 @@ export class ExtensionsViewPaneContainer + ) { +@@ -609,6 +611,15 @@ export class ExtensionsViewPaneContainer }); } @@ -121,7 +124,7 @@ Index: third-party-src/src/vs/workbench/contrib/extensions/browser/extensionsVie get searchValue(): string | undefined { return this.searchBox?.getValue(); } -@@ -616,8 +627,7 @@ export class ExtensionsViewPaneContainer +@@ -623,8 +634,7 @@ export class ExtensionsViewPaneContainer hide(overlay); this.header = append(this.root, $('.header')); diff --git a/patches/web-server/proxy-uri.diff b/patches/web-server/proxy-uri.diff index 9755d70..9f6874c 100644 --- a/patches/web-server/proxy-uri.diff +++ b/patches/web-server/proxy-uri.diff @@ -2,21 +2,22 @@ Add HTTP reverse proxy support for port forwarding Introduces http-proxy as a dependency and implements proxy URI resolution that routes localhost port requests through the Code Editor server, -enabling port forwarding in web-based environments. +enabling port forwarding in web-based environments. Also adds undici +dependency to remote/package.json for HTTP client support. -Index: third-party-src/package.json +Index: code-editor-src/package.json =================================================================== ---- third-party-src.orig/package.json -+++ third-party-src/package.json -@@ -99,6 +99,7 @@ - "@xterm/addon-webgl": "^0.20.0-beta.101", - "@xterm/headless": "^6.1.0-beta.91", - "@xterm/xterm": "^6.1.0-beta.91", +--- code-editor-src.orig/package.json ++++ code-editor-src/package.json +@@ -110,6 +110,7 @@ + "@xterm/addon-webgl": "^0.20.0-beta.167", + "@xterm/headless": "^6.1.0-beta.168", + "@xterm/xterm": "^6.1.0-beta.168", + "http-proxy": "^1.18.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.2", "jschardet": "3.1.4", -@@ -125,6 +126,7 @@ +@@ -136,6 +137,7 @@ "@types/debug": "^4.1.5", "@types/eslint": "^9.6.1", "@types/gulp-svgmin": "^1.2.1", @@ -24,22 +25,22 @@ Index: third-party-src/package.json "@types/http-proxy-agent": "^2.0.1", "@types/kerberos": "^1.1.2", "@types/minimist": "^1.2.1", -Index: third-party-src/remote/package.json +Index: code-editor-src/remote/package.json =================================================================== ---- third-party-src.orig/remote/package.json -+++ third-party-src/remote/package.json -@@ -26,6 +26,7 @@ - "@xterm/headless": "^6.1.0-beta.91", - "@xterm/xterm": "^6.1.0-beta.91", +--- code-editor-src.orig/remote/package.json ++++ code-editor-src/remote/package.json +@@ -28,6 +28,7 @@ + "@xterm/headless": "^6.1.0-beta.168", + "@xterm/xterm": "^6.1.0-beta.168", "cookie": "^0.7.0", + "http-proxy": "^1.18.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.2", "jschardet": "3.1.4", -Index: third-party-src/src/vs/code/browser/workbench/workbench.ts +Index: code-editor-src/src/vs/code/browser/workbench/workbench.ts =================================================================== ---- third-party-src.orig/src/vs/code/browser/workbench/workbench.ts -+++ third-party-src/src/vs/code/browser/workbench/workbench.ts +--- code-editor-src.orig/src/vs/code/browser/workbench/workbench.ts ++++ code-editor-src/src/vs/code/browser/workbench/workbench.ts @@ -22,6 +22,7 @@ import type { IWorkbenchConstructionOpti import { AuthenticationSessionInfo } from '../../../workbench/services/authentication/browser/authenticationService.js'; import type { IURLCallbackProvider } from '../../../workbench/services/url/browser/urlService.js'; @@ -69,10 +70,10 @@ Index: third-party-src/src/vs/code/browser/workbench/workbench.ts secretStorageProvider: config.remoteAuthority && !secretStorageKeyPath ? undefined /* with a remote without embedder-preferred storage, store on the remote */ : new LocalStorageSecretStorageProvider(secretStorageCrypto), -Index: third-party-src/src/vs/server/node/proxyServer.ts +Index: code-editor-src/src/vs/server/node/proxyServer.ts =================================================================== --- /dev/null -+++ third-party-src/src/vs/server/node/proxyServer.ts ++++ code-editor-src/src/vs/server/node/proxyServer.ts @@ -0,0 +1,186 @@ +import proxyServer from "http-proxy"; +import * as http from "http"; @@ -260,10 +261,10 @@ Index: third-party-src/src/vs/server/node/proxyServer.ts + } + } +} -Index: third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts +Index: code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts =================================================================== ---- third-party-src.orig/src/vs/server/node/remoteExtensionHostAgentServer.ts -+++ third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts +--- code-editor-src.orig/src/vs/server/node/remoteExtensionHostAgentServer.ts ++++ code-editor-src/src/vs/server/node/remoteExtensionHostAgentServer.ts @@ -3,6 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ @@ -334,7 +335,7 @@ Index: third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts const query = url.parse(req.url, true).query; if (typeof query.reconnectionToken === 'string') { reconnectionToken = query.reconnectionToken; -@@ -500,6 +519,8 @@ class RemoteExtensionHostAgentServer ext +@@ -506,6 +525,8 @@ class RemoteExtensionHostAgentServer ext return this._rejectWebSocketConnection(logPrefix, protocol, `Unknown initial data received`); } @@ -343,7 +344,7 @@ Index: third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts } private async _createTunnel(protocol: PersistentProtocol, tunnelStartParams: ITunnelConnectionStartParams): Promise { -@@ -632,7 +653,7 @@ export interface IServerAPI { +@@ -638,7 +659,7 @@ export interface IServerAPI { /** * Do not remove!!. Called from server-main.js */ @@ -352,10 +353,10 @@ Index: third-party-src/src/vs/server/node/remoteExtensionHostAgentServer.ts /** * Do not remove!!. Called from server-main.js */ -Index: third-party-src/src/server-main.ts +Index: code-editor-src/src/server-main.ts =================================================================== ---- third-party-src.orig/src/server-main.ts -+++ third-party-src/src/server-main.ts +--- code-editor-src.orig/src/server-main.ts ++++ code-editor-src/src/server-main.ts @@ -93,14 +93,14 @@ if (shouldSpawnCli) { const remoteExtensionHostAgentServer = await getRemoteExtensionHostAgentServer(); return remoteExtensionHostAgentServer.handleRequest(req, res); @@ -373,10 +374,10 @@ Index: third-party-src/src/server-main.ts }); server.on('error', async (err) => { const remoteExtensionHostAgentServer = await getRemoteExtensionHostAgentServer(); -Index: third-party-src/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts +Index: code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts -+++ third-party-src/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts +--- code-editor-src.orig/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts ++++ code-editor-src/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts @@ -4,7 +4,15 @@ *--------------------------------------------------------------------------------------------*/ @@ -634,10 +635,10 @@ Index: third-party-src/src/vs/workbench/contrib/remote/browser/tunnelFactory.ts + } + } } -Index: third-party-src/src/vs/workbench/services/remote/common/tunnelModel.ts +Index: code-editor-src/src/vs/workbench/services/remote/common/tunnelModel.ts =================================================================== ---- third-party-src.orig/src/vs/workbench/services/remote/common/tunnelModel.ts -+++ third-party-src/src/vs/workbench/services/remote/common/tunnelModel.ts +--- code-editor-src.orig/src/vs/workbench/services/remote/common/tunnelModel.ts ++++ code-editor-src/src/vs/workbench/services/remote/common/tunnelModel.ts @@ -557,13 +557,7 @@ export class TunnelModel extends Disposa } diff --git a/patches/web-server/signature-verification.diff b/patches/web-server/signature-verification.diff index 6cb063e..a14c0dd 100644 --- a/patches/web-server/signature-verification.diff +++ b/patches/web-server/signature-verification.diff @@ -4,10 +4,10 @@ Forces verifySignature to false regardless of configuration, since the verification depends on the closed-source @vscode/vsce-sign package and is not compatible with the Open VSX marketplace. -Index: third-party-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts +Index: code-editor-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts =================================================================== ---- third-party-src.orig/src/vs/platform/extensionManagement/node/extensionManagementService.ts -+++ third-party-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts +--- code-editor-src.orig/src/vs/platform/extensionManagement/node/extensionManagementService.ts ++++ code-editor-src/src/vs/platform/extensionManagement/node/extensionManagementService.ts @@ -339,8 +339,7 @@ export class ExtensionManagementService private async downloadExtension(extension: IGalleryExtension, operation: InstallOperation, verifySignature: boolean, clientTargetPlatform?: TargetPlatform): Promise<{ readonly location: URI; readonly verificationStatus: ExtensionSignatureVerificationCode | undefined }> { diff --git a/patches/web-server/suppress-known-errors-build-integration.diff b/patches/web-server/suppress-known-errors-build-integration.diff index eac97c5..d30c4cf 100644 --- a/patches/web-server/suppress-known-errors-build-integration.diff +++ b/patches/web-server/suppress-known-errors-build-integration.diff @@ -4,10 +4,10 @@ Adds the suppressedErrors.js script and a console.error monkey-patch to the workbench HTML that filters known errors and forwards unknown errors to the parent window via postMessage for metrics reporting. -Index: third-party-src/src/vs/code/browser/workbench/workbench.html +Index: code-editor-src/src/vs/code/browser/workbench/workbench.html =================================================================== ---- third-party-src.orig/src/vs/code/browser/workbench/workbench.html -+++ third-party-src/src/vs/code/browser/workbench/workbench.html +--- code-editor-src.orig/src/vs/code/browser/workbench/workbench.html ++++ code-editor-src/src/vs/code/browser/workbench/workbench.html @@ -32,6 +32,32 @@ @@ -41,10 +41,10 @@ Index: third-party-src/src/vs/code/browser/workbench/workbench.html