Skip to content

fix(vscode): runtime dep resolution, debug shutdown, multi-root workflow (#9330) [hotfix/v5.970]#9350

Merged
lambrianmsft merged 1 commit into
Azure:hotfix/v5.970from
lambrianmsft:cherry-pick/v5.970/9330
Jul 2, 2026
Merged

fix(vscode): runtime dep resolution, debug shutdown, multi-root workflow (#9330) [hotfix/v5.970]#9350
lambrianmsft merged 1 commit into
Azure:hotfix/v5.970from
lambrianmsft:cherry-pick/v5.970/9330

Conversation

@lambrianmsft

@lambrianmsft lambrianmsft commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Cherry-pick of #9330 (fix(vscode): Fix runtime dependency resolution, debug shutdown, and multi-root workflow creation) into hotfix/v5.970.

Source merge commit: f3634ee60d135f21276a11890bcf5a78ea5959be

Commit Type

  • feature - New functionality
  • fix - Bug fix
  • refactor - Code restructuring without behavior change
  • perf - Performance improvement
  • docs - Documentation update
  • test - Test-related changes
  • chore - Maintenance/tooling

Risk Level

  • Low - Minor changes, limited scope
  • Medium - Moderate changes, some user impact
  • High - Major changes, significant user/system impact

What & Why

Fixes VS Code extension regressions related to runtime dependency resolution, debug session ordering, and multi-root workspace workflow creation. This is Part 1 of 2 — the core bug fixes (Part 2 adds webview validation features + E2E tests in a follow-up PR).

Key fixes:

  • Design-time API shutdown: Make stopDesignTimeApi awaitable on Windows (taskkill wait) to prevent file-lock races between debug sessions
  • Binary path resolution: Permission repair, devcontainer sync checks, Windows .exe fallback, and GitHub lookup fallback telemetry
  • NodeJS/DotNet/FuncCoreTools validation: Fix async dependency existence checks by properly awaiting binariesExist
  • LSP installation: Retry on EBUSY/EPERM locked-file errors during extraction
  • Multi-root workflow creation: Add project dropdown for workspace folder selection; fix Error: {} when creating workflows
  • execTaskkill type safety: Widen to accept number | string | undefined matching childFuncPid type

Impact of Change

  • Users: More reliable debug sessions (no stale file locks), proper binary detection across platforms, workflow creation works in multi-root workspaces
  • Developers: resolveNodeJsCommand now exported for direct testing; sync binary existence helpers available
  • System: No new dependencies; improved error handling and telemetry

Test Plan

  • Unit tests added/updated
  • E2E tests added/updated
  • Manual testing completed
  • Tested in: VS Code on Windows with multi-root workspaces, verified via 1244 extension unit tests + 220 React unit tests (all passing)

Contributors

@lambrianmsft
@copilot

Screenshots/Videos

N/A — backend/infrastructure fixes

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

🤖 AI PR Validation Report

PR Review Results

Thank you for your submission! Here's detailed feedback on your PR title and body compliance:

PR Title

  • Current: fix(vscode): runtime dep resolution, debug shutdown, multi-root workflow (#9330) [hotfix/v5.970]
  • Issue: None blocking. The title is specific and accurately summarizes the main areas changed.
  • Recommendation: No change required.

Commit Type

  • Properly selected (fix).
  • Only one option is selected, which is correct.

⚠️ Risk Level

  • The submitter selected Medium, but the diff scope is broad and touches runtime dependency resolution, workflow creation, debug shutdown, and several shared utilities/tests. I’d advise High risk for this PR.
  • Recommendation: Update the PR body risk selection to High to better reflect the cross-cutting impact.

What & Why

  • Current: Clear and sufficiently detailed, including the cherry-pick context and the major bug fixes.
  • Issue: None blocking.
  • Recommendation: Optional: trim some implementation-level detail if you want a shorter summary, but it is acceptable as-is.

Impact of Change

  • The section is present and describes user, developer, and system impact in a reasonable way.
  • Recommendation:
    • Users: Good as written.
    • Developers: Good as written.
    • System: Good as written.

Test Plan

  • Unit tests are added/updated in the diff, so the test plan passes.
  • Manual testing is also mentioned, which is helpful.
  • No E2E tests are required for pass because unit tests are present.

Contributors

  • Present and non-blocking.
  • If appropriate, consider adding any PM/Designer/Reviewer contributors who helped shape the change.

Screenshots/Videos

  • Marked N/A, which is acceptable for backend/infrastructure fixes.

Summary Table

Section Status Recommendation
Title
Commit Type
Risk Level ⚠️ Change to High
What & Why
Impact of Change
Test Plan
Contributors
Screenshots/Videos

The PR passes overall, but I recommend updating the risk level from Medium to High to match the breadth and potential impact of the code changes.


Last updated: Thu, 02 Jul 2026 00:56:27 GMT

…ulti-root workflow creation (Azure#9330)

Byte-for-byte cherry-pick of Azure#9330 (squash-merge f3634ee) into hotfix/v5.970.
Applies cleanly (0 conflicts, 48 files) on the current tip (already contains Azure#9164). No hacks.

Co-authored-by: Brian Lam <lambrian@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@lambrianmsft lambrianmsft enabled auto-merge (squash) July 2, 2026 01:05
@lambrianmsft lambrianmsft merged commit 0397f80 into Azure:hotfix/v5.970 Jul 2, 2026
36 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants