Does this issue occur when all extensions are disabled?: Yes
- VS Code Version: 1.131.0
- OS Version: Ubuntu 2404
Description
When attempting to run the minified Remote Extension Host build (vscode-reh-web-linux-x64-min) against HEAD, the build pipeline crashes.
Steps to Reproduce
- Clone at head and run
npm install
- Attempt to build the minified Remote Host Distribution with
npm run gulp vscode-reh-web-linux-x64-min
Root Cause
There are two separate failures that are surfaced during the build:
1. The TS Compiler crashes during the Mangler phase (34 Errors)
Recent feature merges (XaaAuthProvider, ClaudeAgent, runInTerminalConfirmationTool) use coding patterns that conflict with the property-mangler's boundaries (Mixin inheritance, string-index access on private variables, and dynamic import destructing, respectively).
Error Output:
[13:02:46] src/vs/platform/agentHost/test/node/claudeAgent.test.ts(3687,19): Element implicitly has an 'any' type because expression of type
'"_sessions"' can't be used to index type '$Pfd'.
[13:02:48] src/vs/workbench/api/common/extHostXaaAuthProvider.ts(83,21): Property 'a' in type 'XaaAuthenticationProvider' is not assignable to the same property in base type '$Cvd'.
2. esbuild fails the Unicode optimizer checks
The outputMonitor.ts file recently introduced naked non-ASCII terminal prompt characters into a RegExp literal, which triggers a fatal assertion in build/lib/optimize.ts
Error Output:
[13:52:38] Error: Found non-ascii character ›❯▸▶ in the minified output of out-vscode-reh-web/.../workbench.js.
Non-ASCII characters in the output can cause performance problems when loading. Please review if you have introduced a regular expression that esbuild is not automatically converting and convert it to using unicode escape sequences.
Proposed Fix
We have fixed these breakages locally by introducing the following 6 small, localized patches to bypass the mangler logic constraints and esbuild checks:
- Dynamic Imports: Added /** @skipMangle */ to ConfirmTerminalCommandTool and ScriptedMockAgent
- String Indexing: Cast the test instances to .agent as any before performing the string-index lookups (_sessions, _keybindingService) in claudeAgent.test.ts and terminalInstance.test.ts.
- Mixin Inheritance: Converted the private internal state on the Mixin XaaAuthenticationProvider to public to bypass property mangling collisions.
- Unicode Strings: Translated the raw terminal chevron characters [›❯▸▶] to their unicode escape-sequences [\u203A\u276F\u25B8\u25B6] in outputMonitor.ts.
Does this issue occur when all extensions are disabled?: Yes
Description
When attempting to run the minified Remote Extension Host build (
vscode-reh-web-linux-x64-min) against HEAD, the build pipeline crashes.Steps to Reproduce
npm installnpm run gulp vscode-reh-web-linux-x64-minRoot Cause
There are two separate failures that are surfaced during the build:
1. The TS Compiler crashes during the Mangler phase (34 Errors)
Recent feature merges (XaaAuthProvider, ClaudeAgent, runInTerminalConfirmationTool) use coding patterns that conflict with the property-mangler's boundaries (Mixin inheritance, string-index access on private variables, and dynamic import destructing, respectively).
Error Output:
2. esbuild fails the Unicode optimizer checks
The outputMonitor.ts file recently introduced naked non-ASCII terminal prompt characters into a RegExp literal, which triggers a fatal assertion in build/lib/optimize.ts
Error Output:
Proposed Fix
We have fixed these breakages locally by introducing the following 6 small, localized patches to bypass the mangler logic constraints and esbuild checks: