Skip to content

fix(vscode): Fix multiple extension commands/events - #9550

Merged
Andrew Eldridge (andrew-eldridge) merged 24 commits into
mainfrom
aeldridge/vscode-command-fixes
Aug 20, 2026
Merged

fix(vscode): Fix multiple extension commands/events#9550
Andrew Eldridge (andrew-eldridge) merged 24 commits into
mainfrom
aeldridge/vscode-command-fixes

Conversation

@andrew-eldridge

@andrew-eldridge Andrew Eldridge (andrew-eldridge) commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

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 the following issues in extension commands/events:

  • When user is prompted to create new workspace, it is possible to select an invalid target location for new workspace (i.e. child of the currently open folder). This is a common issue due to users naturally selecting their current folder as the 'Workspace parent folder' and the logic app name as 'Workspace name'. Introduces validation to prevent selecting a child path of currently open folder when creating workspace and adds default selections for in-place workspace creation at currently open folder.
  • Race condition in custom code worker process selection where worker process may not exist in process tree at time of search, causing process selection to fail. Timeout and polling added
  • Invalid path comparison in tryBuildCustomCodeProject causes build task not found error due to differing path normalization. Updated to use more robust path comparison from fs utils
  • Invalid app settings written on deploy (e.g. WEBSITE_SITE_NAME). These settings should not exist in local.settings.json, but if they are present then deploy command doesn't properly filter them before uploading app settings. Added excluded settings 'WEBSITE_', 'FUNCTIONS_RUNTIME', and 'ScmType'
  • .NET SDK dependency validation fails when feed unavailable for bundle dependencies due to null dereference. Updated to use default major version '8' if result from feed is undefined

Impact of Change

  • Users: Fixes multiple commands and sub-events in the VS Code extension listed above
  • Developers: N/A
  • System: N/A

Test Plan

  • Unit tests added/updated
  • E2E tests added/updated
  • Manual testing completed
  • Tested in:

Contributors

Andrew Eldridge (@andrew-eldridge)

@andrew-eldridge Andrew Eldridge (andrew-eldridge) added VSCode Issues or PRs specific to VS Code extension risk:medium Medium risk change with potential impact labels Aug 19, 2026
@github-actions

github-actions Bot commented Aug 19, 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): Fix multiple extension commands/events
  • Issue: None — valid fix: prefix with a (vscode) scope and a descriptive summary.
  • Recommendation: No change needed. (Optional: this batches several distinct fixes; splitting into focused PRs can ease review, but it's not required.)

Commit Type

  • Exactly one type selected: fix - Bug fix, which matches the bug-fix nature of the diff.
  • Note: Your template lists feature where the canonical option is feat; harmless here since fix is selected.

Risk Level

  • Exactly one box selected (Medium) and it matches the risk:medium label. This also matches my advised estimate: the changes are scoped to the VS Code extension distribution (apps/vs-code-designer) plus its webview state/validation (apps/vs-code-react), which is medium per the rubric (extension distribution + state-management changes, no shipped-product security/breaking-API impact). Correctly declared.

What & Why

  • Current: A clear, itemized list of five distinct fixes (workspace descendant validation, worker-process polling race, path-comparison in build task, excluded app settings on deploy, .NET SDK fallback version).
  • Issue: None.
  • Recommendation: No change needed.

Impact of Change

  • Affected audiences are indicated (Users described; Developers/System marked N/A).
  • Recommendation:
    • Users: Well described — multiple VS Code extension command/event fixes.
    • Developers: N/A is acceptable, though note the internal rename getDependenciesVersiongetBundleDependencyFeed and IBundleDependencyFeedIRuntimeDependencyVersions for anyone consuming those.
    • System: N/A acceptable.

Test Plan

  • Unit tests added/updated (confirmed in diff: ensureWorkspace.test.ts, pickCustomCodeWorkerProcess.test.ts, validateAndInstallBinaries.test.ts, validateDotNetIsLatest.test.ts, bundleFeed.test.ts, plus vs-code-react state fixtures). Manual testing also checked. Passes.

⚠️ Contributors

  • @andrew-eldridge credited. Consider also crediting any PM/designer involved if applicable. Never blocks.

⚠️ Screenshots/Videos

  • The diff touches apps/vs-code-react/src/ files, but these are workspace-creation validation/state changes (path logic, error strings), not clearly visual UI redesigns (low confidence of a visual change). Not required. If any dialog/validation message appearance changed, attaching a short screenshot/gif would help reviewers.

Summary Table

Section Status Recommendation
Title No change needed
Commit Type One type selected; matches diff
Risk Level Medium matches label and advised estimate
What & Why Clear and complete
Impact of Change Audiences indicated
Test Plan Unit tests present in diff
Contributors ⚠️ Credit PM/design if applicable
Screenshots/Videos ⚠️ Optional; add if any visible UI changed

✅ All required checks pass — this PR is compliant and cleared to merge.


Powered by: Copilot CLI (claude-opus-4.8) | Last updated: Thu, 20 Aug 2026 22:40:14 GMT

@github-actions

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): Fix ensureWorkspace command (createWorkspaceStructure)
  • Issue: None — valid fix: prefix with scope and a descriptive summary.
  • Recommendation: No change needed.

Commit Type

  • No commit type box is checked in the body. Exactly one must be selected.
  • Based on the diff (bug fixes to ensureWorkspace/workspace-structure creation, error-handling, and notification-state refactors), check fix. Note the template uses feature where the review expects feat — the fix box is the correct selection here.

Risk Level

  • No Risk Level box is selected in the body (must select exactly one). Your risk:medium label is present and matches my advised estimate of Medium (changes ship in the apps/vs-code-designer extension distribution and touch runtime command flows). Check the Medium box in the body so the label and body agree.

What & Why

  • Current: Clear explanation of the invalid-target-location bug and the added validation/default behavior.
  • Issue: None.
  • Recommendation: No change needed.

Impact of Change

  • Users impact is described; Developers/System marked N/A, which is acceptable.
  • Recommendation:
    • Users: Keep the current description of validation + default workspace behavior.
    • Developers: N/A is fine.
    • System: N/A is fine.

Test Plan

  • No boxes are checked, but the diff contains substantial unit-test updates (e.g. createUnitTest.test.ts, validateNodeJsIsLatest.test.ts, activateAzurite.test.ts, parameterizeConnections.test.ts), so the automated-test requirement is satisfied. Please still tick Unit tests added/updated for accuracy.

Contributors


Screenshots/Videos

  • Changes are extension backend/command logic (apps/vs-code-designer/src), not libs/designer-ui / libs/designer UI — no screenshots required.

Summary Table

Section Status Recommendation
Title No change needed
Commit Type Check exactly one box — select fix
Risk Level Check the Medium box (matches risk:medium label and advised estimate)
What & Why No change needed
Impact of Change No change needed
Test Plan Tick Unit tests box (already present in diff)
Contributors No change needed
Screenshots/Videos Not applicable

Two blocking items: select a Commit Type (fix) and select the Risk Level (Medium) in the body. Everything else passes.


Powered by: Copilot CLI (claude-opus-4.8) | Last updated: Wed, 19 Aug 2026 04:28:42 GMT

@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

📊 Coverage Check

The following changed files need attention:

apps/vs-code-designer/src/app/commands/createCustomCodeFunction/createCustomCodeFunction.ts - 0% covered
apps/vs-code-designer/src/app/commands/dataMapper/dataMapper.ts - 0% covered

⚠️ apps/vs-code-designer/src/app/commands/debugLogicApp.ts - 75% covered (needs improvement)
⚠️ apps/vs-code-designer/src/app/commands/ensureWorkspace.ts - 79% covered (needs improvement)
⚠️ apps/vs-code-designer/src/app/commands/funcCoreTools/validateFuncCoreToolsIsLatest.ts - 35% covered (needs improvement)
⚠️ apps/vs-code-designer/src/app/commands/pickCustomCodeWorkerProcess.ts - 61% covered (needs improvement)
⚠️ apps/vs-code-designer/src/app/utils/cloudToLocalUtils.ts - 9% covered (needs improvement)
⚠️ apps/vs-code-react/src/app/createWorkspace/utils/validation.ts - 78% covered (needs improvement)
⚠️ apps/vs-code-react/src/state/createWorkspaceSlice.ts - 57% covered (needs improvement)

Please add tests for the uncovered files before merging.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates workspace creation to support safe in-place creation, but also includes broader VS Code startup, notification, and unit-test refactors.

Changes:

  • Adds workspace-location validation and in-place workspace creation.
  • Refactors design-time/Azurite startup prompts and suppression state.
  • Simplifies unit-test generation error handling and updates tests.

Reviewed changes

Copilot reviewed 33 out of 33 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
apps/vs-code-react/src/state/createWorkspaceSlice.ts Stores current-folder and workspace defaults.
apps/vs-code-react/src/intl/messages.ts Adds descendant-location error text.
apps/vs-code-react/src/app/createWorkspace/utils/validation.ts Adds descendant-path validation.
apps/vs-code-react/src/app/createWorkspace/steps/workspaceNameStep.tsx Validates workspace location and in-place creation.
apps/vs-code-react/src/app/createWorkspace/createWorkspace.tsx Adds final workspace-location validation.
apps/vs-code-designer/src/test/ui/run-e2e.ts Removes obsolete warning settings.
apps/vs-code-designer/src/test/ui/azuriteAutostartFailureAssert.test.ts Updates Azurite E2E configuration.
apps/vs-code-designer/src/test/ui/azuriteAutostartFailure.test.ts Updates Azurite E2E configuration.
apps/vs-code-designer/src/package.json Removes deprecated extension settings.
apps/vs-code-designer/src/main.ts Refactors activation prompts and design-time startup.
apps/vs-code-designer/src/extensionVariables.ts Removes instance retry state.
apps/vs-code-designer/src/constants.ts Adds notification-state keys.
apps/vs-code-designer/src/app/utils/unitTest/unitTest.ts Simplifies error propagation.
apps/vs-code-designer/src/app/utils/unitTest/__test__/unitTest.test.ts Removes obsolete error-parser tests.
apps/vs-code-designer/src/app/utils/telemetry.ts Removes deprecated setting telemetry.
apps/vs-code-designer/src/app/utils/codeless/startDesignTimeApi.ts Refactors startup retries and errors.
apps/vs-code-designer/src/app/utils/codeless/__test__/startDesignTimeApi.test.ts Updates startup and retry coverage.
apps/vs-code-designer/src/app/utils/azurite/activateAzurite.ts Migrates prompt suppression to global state.
apps/vs-code-designer/src/app/utils/azurite/__test__/activateAzurite.test.ts Updates Azurite prompt tests.
apps/vs-code-designer/src/app/state/notifications.ts Adds persistent notification flags.
apps/vs-code-designer/src/app/commands/workflows/unitTest/createUnitTestFromRun.ts Refactors unit-test generation flow.
apps/vs-code-designer/src/app/commands/workflows/unitTest/createUnitTest.ts Simplifies unit-test creation errors.
apps/vs-code-designer/src/app/commands/workflows/unitTest/__test__/createUnitTest.test.ts Updates unit-test command expectations.
apps/vs-code-designer/src/app/commands/parameterizeConnections.ts Propagates cancellation and errors.
apps/vs-code-designer/src/app/commands/nodeJs/validateNodeJsIsLatest.ts Migrates Node.js warning suppression.
apps/vs-code-designer/src/app/commands/nodeJs/__test__/validateNodeJsIsLatest.test.ts Updates warning-state tests.
apps/vs-code-designer/src/app/commands/generateDeploymentScripts/generateDeploymentScriptsSteps/adoDeploymentScriptsSteps/GenerateADODeploymentScriptsStep.ts Removes an unused import.
apps/vs-code-designer/src/app/commands/funcCoreTools/validateFuncCoreToolsIsLatest.ts Migrates Core Tools warning suppression.
apps/vs-code-designer/src/app/commands/funcCoreTools/__test__/validateFuncCoreToolsIsLatest.test.ts Adds notification mocks.
apps/vs-code-designer/src/app/commands/ensureWorkspace.ts Implements in-place workspace creation.
apps/vs-code-designer/src/app/commands/createLogicApp/createLogicApp.ts Simplifies error propagation.
apps/vs-code-designer/src/app/commands/__test__/parameterizeConnections.test.ts Updates propagated-error expectations.
apps/vs-code-designer/src/__test__/devContainerIntegration.test.ts Removes an obsolete mock export.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread apps/vs-code-react/src/state/createWorkspaceSlice.ts
Comment thread apps/vs-code-react/src/state/createWorkspaceSlice.ts
Comment thread apps/vs-code-react/src/app/createWorkspace/utils/validation.ts Outdated
Comment thread apps/vs-code-react/src/app/createWorkspace/steps/workspaceNameStep.tsx Outdated
Comment thread apps/vs-code-react/src/app/createWorkspace/createWorkspace.tsx Outdated
Comment thread apps/vs-code-designer/src/app/commands/ensureWorkspace.ts
Comment thread apps/vs-code-designer/src/app/state/notifications.ts
Comment thread apps/vs-code-designer/src/main.ts
Comment thread apps/vs-code-designer/src/app/commands/ensureWorkspace.ts
@andrew-eldridge Andrew Eldridge (andrew-eldridge) changed the title fix(vscode): Fix ensureWorkspace command (createWorkspaceStructure) fix(vscode): Fix multiple extension commands/events Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-validated risk:medium Medium risk change with potential impact VSCode Issues or PRs specific to VS Code extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants