Skip to content

[release/13.4] Remove resource data from aspire ps; use aspire describe for resource streaming#17579

Merged
joperezr merged 1 commit into
microsoft:release/13.4from
adamint:backport/pr-17479-to-release/13.4
May 28, 2026
Merged

[release/13.4] Remove resource data from aspire ps; use aspire describe for resource streaming#17579
joperezr merged 1 commit into
microsoft:release/13.4from
adamint:backport/pr-17479-to-release/13.4

Conversation

@adamint
Copy link
Copy Markdown
Member

@adamint adamint commented May 28, 2026

Backport of #17479 to release/13.4

/cc @mitchdenny @adamint

Customer Impact

aspire ps previously streamed full per-AppHost resource data (with --resources / --include-hidden), which overlapped with aspire describe and re-emitted the entire resource set on every change, making ps noisy and not summary-like for tooling consumers. The VS Code extension's global tree depended on this behavior. This PR removes the resource-streaming surface from ps and moves the VS Code extension to per-AppHost aspire describe --apphost so resource data still flows, but through the intended API.

Testing

Manual, using playground apps. Full extension test suite (564 tests) passes on the backport branch; PsCommand unit tests pass on main.

I've also tested using a couple different applications, including one in a workspace with multiple app hosts. The panel works well and as expected.

Risk

Low. Scoped to the aspire ps CLI surface (removes the --resources / --include-hidden flags added in 13.4) and the VS Code extension's resource fetching path (now fans out per-AppHost). No public hosting/component API changes; the resource data is still available via aspire describe.

Regression?

No — the removed flag was added during 13.4 development; this restores ps to its pre-flag shape. Resource data continues to be available via aspire describe --apphost.

Copilot AI review requested due to automatic review settings May 28, 2026 04:10
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 28, 2026

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 17579

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17579"

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Backport of #17479 to release/13.4. Removes the --resources / --include-hidden flags from aspire ps (and the associated AppHost-level resource streaming/follow plumbing), and rewires the VS Code extension to obtain per-AppHost resource data via aspire describe --follow --apphost <path> instead. Documentation, resx/xlf strings, and tests are updated accordingly.

Changes:

  • PsCommand drops the --resources/--include-hidden options, the resource snapshot fetch path, the ResourceUpdate/resource-watcher follow plumbing, and the resource fields on AppHostDisplayInfo/PsCommandJsonContext; resx + 13 xlf files and cli-output-formats.md updated to match.
  • VS Code extension AppHostDataRepository removes the --resources flag + _supportsResources fallback, and adds a per-AppHost describe --follow fan-out (_globalDescribeStreams, reconciliation, restart-with-backoff) for both global mode and non-selected workspace candidates, plus stale-AppHost cleanup on describe exit and a multi-candidate workspace retargeting path. Tests updated and expanded.
  • Build tooling (out of stated scope): Extension.proj, extension/build.sh, extension/build.ps1 switch invocations from yarn to corepack yarn@1.22.22.

Reviewed changes

Copilot reviewed 23 out of 24 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Aspire.Cli/Commands/PsCommand.cs Removes --resources/--include-hidden options, resource fetch, and follow-mode resource watcher; simplifies GatherAppHostInfosAsync/ExecuteFollowAsync.
src/Aspire.Cli/Resources/PsCommandStrings.resx Drops ResourcesOptionDescription; reword FollowOptionDescription.
src/Aspire.Cli/Resources/PsCommandStrings.Designer.cs Removes generated ResourcesOptionDescription accessor.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.{cs,de,es,fr,it,ja,ko,pl,pt-BR,ru,tr,zh-Hans,zh-Hant}.xlf Mirror resx string changes across all 13 locales.
src/Shared/Model/Serialization/ResourceJson.cs Comment updated to drop the aspire ps --resources reference.
tests/Aspire.Cli.Tests/Commands/PsCommandTests.cs Removes the 7 --resources-specific tests; minor cleanup.
docs/specs/cli-output-formats.md Drops the ps --resources example; points readers at aspire describe for resource data.
extension/src/views/AppHostDataRepository.ts Removes _supportsResources fallback; adds per-AppHost describe --follow fan-out, workspace retargeting, and stale-AppHost cleanup.
extension/src/test/appHostDataRepository.test.ts Updates expectations for the new ps args and adds tests for per-AppHost describe fan-out, retargeting, and stop semantics.
extension/Extension.proj Switches yarn invocations to corepack yarn@1.22.22 (out of stated scope).
extension/build.sh Switches yarn invocations to corepack yarn@1.22.22 (out of stated scope).
extension/build.ps1 Switches yarn invocations to corepack yarn@1.22.22 (out of stated scope).
Files not reviewed (1)
  • src/Aspire.Cli/Resources/PsCommandStrings.Designer.cs: Language not supported

Comment thread extension/Extension.proj
@adamint
Copy link
Copy Markdown
Member Author

adamint commented May 28, 2026

@copilot resolve the merge conflicts in this pull request

…cribe` for resource streaming

Backport of microsoft#17479 to release/13.4

Conflict resolved in extension/src/views/AppHostDataRepository.ts dispose():
kept both release/13.4's _getAppHostsProcess cleanup and the PR's
_stopAllGlobalDescribes() call.

Reverted the extension/package.json bump (1.0.9 -> 1.10.0) so the 13.4
extension line stays on 1.0.x.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@adamint adamint force-pushed the backport/pr-17479-to-release/13.4 branch from 8f50cc6 to 09b3e65 Compare May 28, 2026 18:13
@joperezr joperezr added the Servicing-approved Approved for servicing release label May 28, 2026
@joperezr joperezr merged commit 847c2e6 into microsoft:release/13.4 May 28, 2026
311 checks passed
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 13.4 milestone May 28, 2026
@joperezr
Copy link
Copy Markdown
Member

Looks like this broke the build because corepack is not available internally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants