Skip to content

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

Merged
Jose Perez Rodriguez (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
Jose Perez Rodriguez (joperezr) merged 1 commit into
microsoft:release/13.4from
adamint:backport/pr-17479-to-release/13.4

Conversation

@adamint

@adamint Adam Ratzman (adamint) commented May 28, 2026

Copy link
Copy Markdown
Member

Backport of #17479 to release/13.4

/cc Mitch Denny (@mitchdenny) Adam Ratzman (@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.

@github-actions

github-actions Bot commented May 28, 2026

Copy link
Copy Markdown
Contributor

🚀 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"

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

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

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
Adam Ratzman (adamint) force-pushed the backport/pr-17479-to-release/13.4 branch from 8f50cc6 to 09b3e65 Compare May 28, 2026 18:13
@joperezr Jose Perez Rodriguez (joperezr) added the Servicing-approved Approved for servicing release label May 28, 2026
@joperezr
Jose Perez Rodriguez (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.

@github-actions github-actions Bot locked and limited conversation to collaborators Jun 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants