fix(vscode): Node 24 / VS Code 1.123 compatibility and fallback handling for connector prompts#9246
Merged
Merged
Conversation
Restore legacy node:util helpers required by Azure extension utilities under VS Code's Node 24 runtime and harden Logic Apps language server startup when project or dependency paths are missing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow run-e2e.js to target an explicit VS Code version while keeping the default suite pinned. Add compatibility activation smokes for Node 20/22 with VS Code 1.108 and Node 24 with VS Code 1.123 so the latest extension is checked against both older and newer VS Code/Electron runtimes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Default and create the Logic Apps runtime dependencies path at dependency-install boundaries before installing LSP, Node, .NET, or Functions Core Tools assets. Also make dependency downloads wait for stream completion and fail on writer/readable stream errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
🤖 AI PR Validation ReportPR Review ResultsThank you for your submission! Here's detailed feedback on your PR title and body compliance:✅ PR Title
✅ Commit Type
|
| Section | Status | Recommendation |
|---|---|---|
| Title | ✅ | No change needed |
| Commit Type | ✅ | No change needed |
| Risk Level | ✅ | No change needed |
| What & Why | Make the summary more specific to the actual fixes | |
| Impact of Change | ✅ | Optional: add a bit more detail for developers/system |
| Test Plan | ✅ | No change needed |
| Contributors | ✅ | Optional only |
| Screenshots/Videos | ✅ | Optional only |
Overall: this PR passes. The only improvement I'd recommend is tightening the What & Why section so it explicitly mentions the VS Code/Node compatibility fix and connector prompt fallback behavior.
Last updated: Fri, 05 Jun 2026 21:16:04 GMT
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses breakages in the VS Code extension when running on newer VS Code/Electron (newer embedded Node), by adding a Node util compatibility shim, hardening runtime dependency path initialization, and expanding E2E/CI coverage to validate activation across multiple Node/VS Code combinations.
Changes:
- Add a
node:utilcompatibility patch (restoring legacy helpers) and ensure it’s applied at extension startup. - Centralize/standardize runtime dependency path initialization via
ensureRuntimeDependenciesPath()and adopt it across installers + LSP SDK install. - Improve resilience/diagnostics in E2E + design-time host output (health-check spam suppression) and add a CI compatibility matrix job.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/vs-code-designer/test-setup.ts | Extends FS mocks needed by updated unit-test paths. |
| apps/vs-code-designer/src/test/ui/run-e2e.js | Allows VS Code version override via env vars and logs chosen version. |
| apps/vs-code-designer/src/nodeUtilCompatibility.ts | Adds a Node util legacy-helper shim and applies it on import. |
| apps/vs-code-designer/src/main.ts | Ensures the compatibility shim is loaded at extension startup. |
| apps/vs-code-designer/src/app/utils/runtimeDependenciesPath.ts | Introduces a helper to default + create the runtime dependency directory and persist the setting. |
| apps/vs-code-designer/src/app/utils/languageServerProtocol.ts | Uses the dependency-path helper and adjusts hash computation logic for LSP assets. |
| apps/vs-code-designer/src/app/utils/codeless/startDesignTimeApi.ts | Adds output de-duplication for repeated failing health-check log lines; flushes partial output on stream close. |
| apps/vs-code-designer/src/app/utils/codeless/test/startDesignTimeApi.test.ts | Adds unit tests for health-check suppression + flushing behavior. |
| apps/vs-code-designer/src/app/utils/binaries.ts | Refactors dependency download/extract flow to use async/await and adds stream error handling. |
| apps/vs-code-designer/src/app/utils/test/binaries.test.ts | Updates/extends tests for download error paths (writer + stream failures). |
| apps/vs-code-designer/src/app/utils/test/runtimeDependenciesPath.test.ts | Adds tests covering defaulted vs configured dependency-path behavior. |
| apps/vs-code-designer/src/app/utils/test/languageServerProtocol.test.ts | Updates tests for defaulting the dependency path before LSP extraction and path checks. |
| apps/vs-code-designer/src/app/languageServer/languageServer.ts | Hardens startup when project root/dependencies are missing; improves warning messages. |
| apps/vs-code-designer/src/app/languageServer/test/languageServer.test.ts | Adds coverage for early returns and missing dependency scenarios. |
| apps/vs-code-designer/src/app/commands/nodeJs/installNodeJs.ts | Uses the dependency-path helper instead of directly reading the setting. |
| apps/vs-code-designer/src/app/commands/funcCoreTools/installFuncCoreTools.ts | Uses the dependency-path helper instead of directly reading the setting. |
| apps/vs-code-designer/src/app/commands/dotnet/installDotNet.ts | Uses the dependency-path helper instead of directly reading the setting. |
| apps/vs-code-designer/src/app/commands/binaries/validateAndInstallBinaries.ts | Replaces manual default-setting logic with the dependency-path helper. |
| apps/vs-code-designer/src/test/nodeUtilCompatibility.test.ts | Adds unit tests verifying legacy util helpers are restored when missing. |
| .github/workflows/vscode-e2e.yml | Adds a compatibility smoke matrix job (Node 20/22/24 + VS Code 1.108/1.123) and gates summary on it. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ccastrotrejo
approved these changes
Jun 5, 2026
Narrow language server startup to linked custom code projects, avoid connector metadata warm-up during design-time startup, and make p43 E2E failures report runtime readiness before overview navigation. Add focused coverage for runtime dependency installers and Azure connector wizard fallbacks, with narrow coverage exclusions for VS Code orchestration and shared install plumbing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the shared dependency validation helper in designer actions and re-resolve the Functions Core Tools binary path while polling so CI handles layouts where func moves under in-proc folders after validation reinstalls dependencies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Discover the Functions Core Tools executable recursively under the dependency cache and give the designer actions before hook enough time to report dependency diagnostics instead of being killed by Mocha. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
lambrianmsft
added a commit
to lambrianmsft/LogicAppsUX
that referenced
this pull request
Jun 6, 2026
…ing for connector prompts (Azure#9246) * fix(vscode): support Node 24 activation Restore legacy node:util helpers required by Azure extension utilities under VS Code's Node 24 runtime and harden Logic Apps language server startup when project or dependency paths are missing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): add Node compatibility E2E lane Allow run-e2e.js to target an explicit VS Code version while keeping the default suite pinned. Add compatibility activation smokes for Node 20/22 with VS Code 1.108 and Node 24 with VS Code 1.123 so the latest extension is checked against both older and newer VS Code/Electron runtimes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): ensure runtime dependency root Default and create the Logic Apps runtime dependencies path at dependency-install boundaries before installing LSP, Node, .NET, or Functions Core Tools assets. Also make dependency downloads wait for stream completion and fail on writer/readable stream errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): suppress repeated health check logs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): cover unhealthy health check logs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): default cancelled connector prompts to keys Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): preflight VS Code CLI path Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): stabilize debug startup checks Narrow language server startup to linked custom code projects, avoid connector metadata warm-up during design-time startup, and make p43 E2E failures report runtime readiness before overview navigation. Add focused coverage for runtime dependency installers and Azure connector wizard fallbacks, with narrow coverage exclusions for VS Code orchestration and shared install plumbing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): stabilize custom code dependency wait Use the shared dependency validation helper in designer actions and re-resolve the Functions Core Tools binary path while polling so CI handles layouts where func moves under in-proc folders after validation reinstalls dependencies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): find nested func runtime binaries Discover the Functions Core Tools executable recursively under the dependency cache and give the designer actions before hook enough time to report dependency diagnostics instead of being killed by Mocha. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): address dependency cleanup review Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): reinstall incomplete runtime dependencies Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
lambrianmsft
added a commit
to lambrianmsft/LogicAppsUX
that referenced
this pull request
Jun 6, 2026
…ing for connector prompts (Azure#9246) * fix(vscode): support Node 24 activation Restore legacy node:util helpers required by Azure extension utilities under VS Code's Node 24 runtime and harden Logic Apps language server startup when project or dependency paths are missing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): add Node compatibility E2E lane Allow run-e2e.js to target an explicit VS Code version while keeping the default suite pinned. Add compatibility activation smokes for Node 20/22 with VS Code 1.108 and Node 24 with VS Code 1.123 so the latest extension is checked against both older and newer VS Code/Electron runtimes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): ensure runtime dependency root Default and create the Logic Apps runtime dependencies path at dependency-install boundaries before installing LSP, Node, .NET, or Functions Core Tools assets. Also make dependency downloads wait for stream completion and fail on writer/readable stream errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): suppress repeated health check logs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): cover unhealthy health check logs Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): default cancelled connector prompts to keys Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): preflight VS Code CLI path Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): stabilize debug startup checks Narrow language server startup to linked custom code projects, avoid connector metadata warm-up during design-time startup, and make p43 E2E failures report runtime readiness before overview navigation. Add focused coverage for runtime dependency installers and Azure connector wizard fallbacks, with narrow coverage exclusions for VS Code orchestration and shared install plumbing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): stabilize custom code dependency wait Use the shared dependency validation helper in designer actions and re-resolve the Functions Core Tools binary path while polling so CI handles layouts where func moves under in-proc folders after validation reinstalls dependencies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test(vscode): find nested func runtime binaries Discover the Functions Core Tools executable recursively under the dependency cache and give the designer actions before hook enough time to report dependency diagnostics instead of being killed by Mocha. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): address dependency cleanup review Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(vscode): reinstall incomplete runtime dependencies Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit Type
Risk Level
What & Why
Users have to revert to a previous version of vscode in order to use the vscode extension otherwise they are running into issues with creating a workspace and debugging logic apps.
Impact of Change
Users should now be able to use the latest version of vscode with our extension.
Test Plan
Contributors
Screenshots/Videos