Skip to content

Remove resource data from aspire ps; use aspire describe for resource streaming#17479

Merged
adamint merged 15 commits into
mainfrom
mitchdenny/issue-17472-remove-resource-data-from-aspire-ps-use-cbf986
May 28, 2026
Merged

Remove resource data from aspire ps; use aspire describe for resource streaming#17479
adamint merged 15 commits into
mainfrom
mitchdenny/issue-17472-remove-resource-data-from-aspire-ps-use-cbf986

Conversation

@mitchdenny
Copy link
Copy Markdown
Member

Description

aspire ps --resources overlapped heavily with aspire describe --follow --apphost <path> and emitted the full resource set per AppHost on every change, making ps behave less like its docker ps / kubectl get pods namesakes. This PR drops --resources (and --include-hidden, which only existed to filter the resource payload) so ps stays an AppHost-level summary. Consumers that need resource data should use aspire describe instead.

Highlights:

  • PsCommand: removed the --resources / --include-hidden options, AppHostDisplayInfo.Resources, the resource fetch path, and the follow-mode resource watcher plumbing (file goes from ~575 to ~290 lines).
  • Resources: removed ResourcesOptionDescription and reworded FollowOptionDescription; regenerated all 13 xlf files.
  • Tests: dropped the 7 --resources-specific tests in PsCommandTests; the remaining 28 tests pass.
  • Docs (docs/specs/cli-output-formats.md): removed the --resources example and pointed readers at aspire describe for per-resource streaming.
  • VS Code extension (AppHostDataRepository): removed the _supportsResources field and the --resources fallback branch in _fetchAppHosts; updated tests accordingly. 515 extension unit tests pass; lint clean. (2 pre-existing RPC tests fail on main too because they require a packaged dist/extension.js.)

Behavior note: the extension's global-mode tree previously nested resources under each AppHost from the ps --resources payload. With ps no longer returning resources, that nesting goes away in global mode; per-AppHost resource streaming is already available via describe --apphost, which the extension uses in workspace mode.

Fixes: #17472

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

Resource snapshot streaming from 'aspire ps --resources' overlapped
heavily with 'aspire describe --follow --apphost <path>' and emitted
the full resource set per AppHost on every change. Drop --resources
(and --include-hidden, which only filtered the resource payload) so
ps stays an AppHost-level summary similar to 'docker ps'. Consumers
that need resource data should use 'aspire describe' instead.

- Remove the --resources/--include-hidden options, AppHostDisplayInfo.Resources
  and the resource fetch/follow watcher plumbing from PsCommand.
- Drop ResourcesOptionDescription from PsCommandStrings and reword
  FollowOptionDescription; regenerate xlf for all locales.
- Drop --resources tests from PsCommandTests; remaining 28 tests pass.
- Update docs/specs/cli-output-formats.md to remove the --resources example
  and point readers at 'aspire describe' for resource streaming.
- VS Code extension: drop the _supportsResources branch in
  AppHostDataRepository (and its --resources fallback path), and update
  the matching tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 25, 2026 22:52
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 25, 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 -- 17479

Or

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

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

This PR narrows aspire ps back to an AppHost-level listing by removing the --resources and --include-hidden options and all related resource-fetch/watch plumbing, directing consumers to aspire describe for per-resource inspection and streaming.

Changes:

  • Removed ps resource-related options, payload fields, and follow-mode resource watcher logic.
  • Updated localized CLI strings to reflect the new ps --follow semantics and removed the resources option string.
  • Updated the VS Code extension and CLI output-format spec docs to no longer rely on ps --resources, and adjusted unit tests accordingly.
Show a summary per file
File Description
tests/Aspire.Cli.Tests/Commands/PsCommandTests.cs Removes ps --resources-specific tests and updates remaining coverage to match the new ps contract.
src/Aspire.Cli/Commands/PsCommand.cs Removes --resources / --include-hidden options and resource snapshot plumbing from ps (including follow-mode resource watching).
src/Aspire.Cli/Resources/PsCommandStrings.resx Removes the resources option description and updates follow description text.
src/Aspire.Cli/Resources/PsCommandStrings.Designer.cs Regenerates strongly-typed resource accessors to match updated .resx.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.zh-Hant.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.zh-Hans.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.tr.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.ru.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.pt-BR.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.pl.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.ko.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.ja.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.it.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.fr.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.es.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.de.xlf Updates follow description translation source; removes resources option string.
src/Aspire.Cli/Resources/xlf/PsCommandStrings.cs.xlf Updates follow description translation source; removes resources option string.
extension/src/views/AppHostDataRepository.ts Stops passing --resources to ps and removes the resources-capability fallback logic.
extension/src/test/appHostDataRepository.test.ts Updates extension tests for the new ps invocation behavior (no --resources).
docs/specs/cli-output-formats.md Removes the ps --resources example and points readers to aspire describe for resource streaming.

Copilot's findings

Files not reviewed (1)
  • src/Aspire.Cli/Resources/PsCommandStrings.Designer.cs: Language not supported
  • Files reviewed: 19/20 changed files
  • Comments generated: 3

Comment thread docs/specs/cli-output-formats.md
Comment thread extension/src/test/appHostDataRepository.test.ts
Comment thread extension/src/test/appHostDataRepository.test.ts Outdated
@mitchdenny mitchdenny marked this pull request as draft May 25, 2026 23:24
mitchdenny and others added 3 commits May 26, 2026 09:29
The previous commit removed --resources from 'aspire ps' but left the
global (multi-AppHost) view in the VS Code extension with no source
for per-AppHost resource data, since 'aspire describe --follow' is
per-AppHost (takes a single --apphost).

Add a per-AppHost describe fan-out in AppHostDataRepository: while
the panel is visible in global mode, maintain one
'aspire describe --follow --apphost <path>' stream per AppHost
discovered by 'ps', merging resources into appHost.resources so the
tree provider's existing rendering path lights up again. Streams are
reconciled on every ps update, torn down when an AppHost stops or when
leaving global mode/hiding the panel, and restarted with exponential
backoff if they exit unexpectedly.

Update the global ps-follow test to feed resources via describe instead
of ps, and add two new tests covering the fan-out reconciliation and
the mode-switch teardown.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update AppHostDataRepository tests so ps payload fixtures match the current aspire ps output shape.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mitchdenny mitchdenny marked this pull request as ready for review May 26, 2026 00:21
The 'possibly unbuildable AppHost candidates do not force global mode'
test races on Windows CI because the aspire ls exit handler awaits
getConfiguredAppHostPathFromWorkspaceRoot, which probes for the
workspace config files via vscode workspace fs. That probe can take
more than the single setTimeout(0) tick that waitForAppHostDiscovery
covers, so workspaceAppHostPath was still undefined when the assertion
ran.

Switch to the existing waitForCondition polling helper so the test
waits until the path is actually populated.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Member

@JamesNK JamesNK left a comment

Choose a reason for hiding this comment

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

1 issue found (bug in error recovery path for global describe streams).

Comment thread extension/src/views/AppHostDataRepository.ts
Node's spawn can emit error (e.g., ENOENT when the CLI binary is
missing or its path changes) without a subsequent exit. The previous
errorCallback only cleared stream.process, leaving a zombie entry in
_globalDescribeStreams that blocked _reconcileGlobalDescribes from
recreating the stream. Drop the entry (and clear cached resources +
fire a change event so the UI reflects the removal) so the next ps
reconcile recreates it from scratch.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@JamesNK
Copy link
Copy Markdown
Member

JamesNK commented May 26, 2026

I tried testing it locally but it never found AppHosts. Have you tested it locally?

I debugged a bit as it looks like aspire ps is never called because _showPoll() always returns false.

@mitchdenny
Copy link
Copy Markdown
Member Author

@JamesNK are you running within the context of the workspace? If you aren't you'll need to press this button:

image

@JamesNK
Copy link
Copy Markdown
Member

JamesNK commented May 26, 2026

Yes, I have the aspire app open in a workspace.

Going into global mode does make the AppHost appear in VS Code, but I would have expected it display in both modes because it's inside the workspace.

extensions-workspace.mp4

@mitchdenny
Copy link
Copy Markdown
Member Author

That is possibly a good improvement, but I don't know if that is what Adam was originally going for with this feature.

@mitchdenny
Copy link
Copy Markdown
Member Author

mitchdenny commented May 26, 2026

Either way this PR is about addressing using aspire ps vs. aspire describe

@davidfowl
Copy link
Copy Markdown
Contributor

Sounds like we regressed something.

Copy link
Copy Markdown
Member

@JamesNK JamesNK left a comment

Choose a reason for hiding this comment

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

Ok. Maybe it is a regression in the previous PR.

I think the code looks good. But wait for @adamint to review and test before merge.

@mitchdenny
Copy link
Copy Markdown
Member Author

@JamesNK @davidfowl looks like it was a regression but it happened a while ago. See issue I just created with analysis. If we want to fix it we should submit another PR, I don't think we should hold this one up.

@mitchdenny
Copy link
Copy Markdown
Member Author

#17490

adamint and others added 4 commits May 27, 2026 18:42
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
In multi-AppHost workspace mode, non-selected running AppHosts had no
resources displayed because only the selected AppHost got a workspace
describe stream. This adds _reconcileWorkspaceDescribes() which fans
out global describe streams for every running workspace AppHost that
is not the selected one, so the tree view can show their resources.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@adamint
Copy link
Copy Markdown
Member

adamint commented May 28, 2026

image

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

[deleted: debug-probe review from review-comment posting iteration]

Copy link
Copy Markdown
Member

@adamint adamint left a comment

Choose a reason for hiding this comment

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

Adversarial review pass. Found 6 issues worth addressing:

  • 1 high-severity bug: zombie _globalDescribeStreams entry when CLI path resolution fails (same class of bug @JamesNK flagged for errorCallback).
  • 1 medium-severity bug: spurious change detection in _handlePsOutput causes _onDidChangeData.fire() on every ps update.
  • 1 low-severity bug: per-AppHost describe stderr silently dropped — even from the log channel.
  • 1 test issue: emit('close', 0) is a no-op because spawnCliProcess (which wires the handler) is bypassed by the stub.
  • 1 naming concern: _globalDescribeStreams and friends are used by the workspace fan-out too — "Global" is misleading.
  • 1 scope concern: build-script changes (yarncorepack yarn@1.22.22) are unrelated to the PR title and not mentioned in the description.

Details inline.

Comment thread extension/src/views/AppHostDataRepository.ts
Comment thread extension/src/views/AppHostDataRepository.ts Outdated
Comment thread extension/src/views/AppHostDataRepository.ts
Comment thread extension/src/test/appHostDataRepository.test.ts Outdated
Comment thread extension/src/test/appHostDataRepository.test.ts Outdated
Comment thread extension/src/views/AppHostDataRepository.ts
Comment thread extension/Extension.proj
Fixes three bugs and one test issue flagged in the adversarial review
of #17479:

1. Drop zombie _globalDescribeStreams entry when getAspireCliExecutablePath
   rejects. Mirrors the errorCallback fix at line 766 — without this, a
   one-time CLI path resolution failure leaves a permanent map entry that
   blocks _reconcileGlobalDescribes from ever re-spawning the stream.

2. Compute the 'changed' flag in _handlePsOutput against a cached
   post-reconcile snapshot instead of stringifying the raw ps payload.
   Raw 'ps' no longer emits a 'resources' field after #17479, but
   _attachGlobalResourcesToAppHosts mutates this._appHosts to add it,
   so a direct JSON.stringify compare reported 'changed' on every
   ps update and fired _onDidChangeData (and setContext) spuriously.

3. Log per-AppHost describe stderr to extensionLogOutputChannel so
   users can diagnose missing resources for non-selected AppHosts
   (e.g., CLI too old to support 'describe --apphost <path>'). The
   error banner is still left untouched.

4. Remove dead emit('close', 0) calls in two new tests. The stub
   bypasses spawnCliProcess (which is where production wires the
   'close' -> exitCallback handler), so the emit was a no-op and the
   following waitForMicrotasks() was likewise pointless.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@adamint
Copy link
Copy Markdown
Member

adamint commented May 28, 2026

FYI @mitchdenny — I've also pushed the fix commit directly to this PR branch as 2ed8a3cd82 so you don't have to apply the patch manually. The PR HEAD is now 2ed8a3cd82. Feel free to revert any of the changes if you'd prefer to take a different approach; this was just to save you a round trip.

@adamint adamint enabled auto-merge (squash) May 28, 2026 04:04
@adamint
Copy link
Copy Markdown
Member

adamint commented May 28, 2026

/backport to release/13.4

@github-actions
Copy link
Copy Markdown
Contributor

Started backporting to release/13.4 (link to workflow run)

@aspire-repo-bot
Copy link
Copy Markdown
Contributor

@adamint backporting to release/13.4 failed, the patch most likely resulted in conflicts. Please backport manually!

git am output
$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Remove --resources from aspire ps (#17472)
Applying: Restore resources in global multi-AppHost view via describe fan-out
Applying: Remove resources from ps test mocks
Applying: Remove stale aspire ps resources comment
Applying: Make Windows-flaky workspace AppHost discovery test deterministic
Using index info to reconstruct a base tree...
M	extension/src/test/appHostDataRepository.test.ts
Falling back to patching base and 3-way merge...
Auto-merging extension/src/test/appHostDataRepository.test.ts
CONFLICT (content): Merge conflict in extension/src/test/appHostDataRepository.test.ts
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Patch failed at 0005 Make Windows-flaky workspace AppHost discovery test deterministic
Error: The process '/usr/bin/git' failed with exit code 128

Link to workflow output

@adamint adamint merged commit 755589f into main May 28, 2026
311 checks passed
@adamint adamint deleted the mitchdenny/issue-17472-remove-resource-data-from-aspire-ps-use-cbf986 branch May 28, 2026 04:07
@microsoft-github-policy-service microsoft-github-policy-service Bot modified the milestones: 13.4, 13.5 May 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

CLI E2E Tests unknown — 107 passed, 0 failed, 2 unknown (commit 2ed8a3c)

View all recordings
Status Test Recording Job Artifacts
AddPackageInteractiveWhileAppHostRunningDetached Recording #78221006432 Logs
AddPackageWhileAppHostRunningDetached Recording #78221006432 Logs
AgentCommands_AllHelpOutputs_AreCorrect Recording #78221006418 Logs
AgentInitCommand_DefaultSelection_InstallsDefaultSkills Recording #78221006418 Logs
AgentInitCommand_MigratesDeprecatedConfig Recording #78221006418 Logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp Recording #78221006844 Logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp_DevLocalhost Recording #78221006844 Logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp_Isolated Recording #78221006844 Logs
AllPublishMethodsBuildDockerImages Recording #78221006773 Logs
AspireAddAndStartWorkAgainstLegacyAppHostTs Recording #78221006694 Logs
AspireAddPackageVersionToDirectoryPackagesProps Recording #78221006894 Logs
AspireInitSingleFileAppHostRunsViaDotnetRunAppHost Recording #78221006570 Logs
AspireInitWithExistingAppHostDirRecreatesMissingNuGetConfigAndPreservesFiles Recording #78221006618 Logs
AspireInitWithSolutionFileGeneratesAppHostThatBuildsAgainstChannelHive Recording #78221006618 Logs
AspireStartUpdatesStaleTypeScriptAppHostPath Recording #78221006674 Logs
AspireUpdateRemovesAppHostPackageVersionFromDirectoryPackagesProps Recording #78221006894 Logs
AspireUpdateRemovesOrphanAppHostPackageVersionWhenSdkAlreadyCurrent Recording #78221006894 Logs
Banner_DisplayedOnFirstRun Recording #78221006679 Logs
Banner_DisplayedWithExplicitFlag Recording #78221006679 Logs
Banner_NotDisplayedWithNoLogoFlag Recording #78221006679 Logs
CertificatesClean_RemovesCertificates Recording #78221006812 Logs
CertificatesTrust_WithNoCert_CreatesAndTrustsCertificate Recording #78221006812 Logs
CertificatesTrust_WithUntrustedCert_TrustsCertificate Recording #78221006812 Logs
ConfigSetGet_CreatesNestedJsonFormat Recording #78221006493 Logs
CreateAndRunAspireStarterProject Recording #78221006851 Logs
CreateAndRunAspireStarterProjectWithBundle Recording #78221006510 Logs
CreateAndRunEmptyAppHostProject Recording #78221006590 Logs
CreateAndRunJavaEmptyAppHostProject Recording #78221006374 Logs
CreateAndRunJsReactProject Recording #78221006823 Logs
CreateAndRunPythonReactProject Recording #78221006605 Logs
CreateAndRunTypeScriptEmptyAppHostProject Recording #78221006445 Logs
CreateAndRunTypeScriptStarterProject Recording #78221006876 Logs
CreateJavaAppHostWithViteApp Recording #78221006847 Logs
CreateTypeScriptAppHostWithViteApp_AllowsGuestAppPackageManagerToDiffer Recording #78221006552 Logs
CreateTypeScriptAppHostWithViteApp_UsesConfiguredToolchain Recording #78221006552 Logs
DashboardRunWithAgentMcpListTracesReturnsNoTraces Recording #78221006709 Logs
DashboardRunWithAgentMcpListTracesReturnsNoTraces_DevLocalhost Recording #78221006709 Logs
DashboardRunWithOtelTracesReturnsNoTraces Recording #78221006709 Logs
DashboardRunWithOtelTracesReturnsNoTraces_DevLocalhost Recording #78221006709 Logs
DeployK8sBasicApiService Recording #78221006862 Logs
DeployK8sWithExternalHelmChart Recording #78221006713 Logs
DeployK8sWithGarnet Recording #78221006673 Logs
DeployK8sWithMongoDB Recording #78221006712 Logs
DeployK8sWithMySql Recording #78221006870 Logs
DeployK8sWithPostgres Recording #78221006898 Logs
DeployK8sWithRabbitMQ Recording #78221006563 Logs
DeployK8sWithRedis Recording #78221006344 Logs
DeployK8sWithSqlServer Recording #78221006890 Logs
DeployK8sWithValkey Recording #78221006830 Logs
DeployTypeScriptAppToKubernetes Recording #78221006523 Logs
DescribeCommandResolvesReplicaNames Recording #78221006918 Logs
DescribeCommandShowsRunningResources Recording #78221006918 Logs
DetachFormatJsonProducesValidJson Recording #78221006710 Logs
DetachFormatJsonProducesValidJsonWhenRestartingExistingInstance Recording #78221006710 Logs
DoPublishAndDeployListStepsWork Recording #78221006747 Logs
DocsCommand_RendersInteractiveMarkdownFromLocalSource Recording #78221006816 Logs
DoctorCommand_DetectsDeprecatedAgentConfig Recording #78221006418 Logs
DoctorCommand_TypeScriptAppHostReportsMissingConfiguredToolchain Recording #78221006687 Logs
DoctorCommand_WithSslCertDir_ShowsTrusted Recording #78221006687 Logs
DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted Recording #78221006687 Logs
GatewayWithoutExternalEndpoint_FailsPublishWithGuidance Recording #78221006741 Logs
GeneratedAspireDevScript_StartsWatchMode_WithConfiguredToolchain Recording #78221006552 Logs
GlobalMigration_HandlesCommentsAndTrailingCommas Recording #78221006493 Logs
GlobalMigration_HandlesMalformedLegacyJson Recording #78221006493 Logs
GlobalMigration_PreservesAllValueTypes Recording #78221006493 Logs
GlobalMigration_SkipsWhenNewConfigExists Recording #78221006493 Logs
GlobalSettings_MigratedFromLegacyFormat Recording #78221006493 Logs
IngressWithoutExternalEndpoint_FailsPublishWithGuidance Recording #78221006741 Logs
InitTypeScriptAppHost_AugmentsExistingViteRepoInWorkspaceSubdirectory Recording #78221006552 Logs
InteractiveCSharpInitCreatesExpectedFiles Recording #78221006842 Logs
InvalidAppHostPathWithComments_IsHealedOnRun Recording #78221006813 Logs
JavaScriptHostingApisRunFromTypeScriptAppHost Recording #78221006773 Logs
LatestCliCanStartStableChannelAppHost Recording #78221006851 Logs
LatestCliCanStartStableChannelTypeScriptAppHost Recording #78221006851 Logs
LegacySettingsMigration_AdjustsRelativeAppHostPath Recording #78221006674 Logs
LogsCommandShowsResourceLogs Recording #78221006869 Logs
OtelLogsReturnsStructuredLogsFromStarterApp Recording #78221006715 Logs
OtelLogsReturnsStructuredLogsFromStarterAppIsolated Recording #78221006715 Logs
PsCommandListsRunningAppHost Recording #78221006787 Logs
PsFormatJsonOutputsOnlyJsonToStdout Recording #78221006787 Logs
PublishJavaScriptPatternsGeneratesExpectedDockerComposeArtifacts Recording #78221006441 Logs
PublishWithConfigureEnvFileUpdatesEnvOutput Recording #78221006441 Logs
PublishWithDockerComposeServiceCallbackSucceeds Recording #78221006441 Logs
PublishWithoutOutputPathUsesAppHostDirectoryDefault Recording #78221006441 Logs
ResourceCommand_FailedExecution_DisplaysAppHostLogPathAndLogContainsEntries Recording #78221006667 Logs
ResourceCommand_SetAndDeleteParameterUpdatesDescribeOutput Recording #78221006667 Logs
RestoreGeneratesSdkFiles Recording #78221006901 Logs
RestoreGeneratesSdkFiles_WithConfiguredToolchain Recording #78221006880 Logs
RestoreRefreshesGeneratedSdkAfterAddingIntegration Recording #78221006880 Logs
RestoreSupportsConfigOnlyHelperPackageAndCrossPackageTypes Recording #78221006376 Logs
RunFromParentDirectory_UsesExistingConfigNearAppHost Recording #78221006481 Logs
RunReportsSyntaxErrorsForDotNetAppHost Recording #78221006689 Logs
RunReportsSyntaxErrorsForTypeScriptAppHost Recording #78221006689 Logs
SecretCrudOnDotNetAppHost Recording #78221006899 Logs
SecretCrudOnTypeScriptAppHost Recording #78221006887 Logs
StagingChannel_ConfigureAndVerifySettings_ThenSwitchChannels Recording #78221006916 Logs
StartAndWaitForTypeScriptSqlServerAppHostWithNativeAssets Recording #78221006836 Logs
StartReportsSyntaxErrorsForDotNetAppHost Recording #78221006689 Logs
StartReportsSyntaxErrorsForTypeScriptAppHost Recording #78221006689 Logs
StopAllAppHostsFromAppHostDirectory Recording #78221006499 Logs
StopJavaPolyglotAppHostUsingApphostDirectory Recording #78221006730 Logs
StopNonInteractiveSingleAppHost Recording #78221006499 Logs
StopTypeScriptPolyglotAppHostUsingApphostDirectory Recording #78221006369 Logs
StopWithNoRunningAppHostExitsSuccessfully Recording #78221006432 Logs
UnAwaitedChainsCompileWithAutoResolvePromises Recording #78221006880 Logs
UpdateProjectChannelToStable_CSharpEmptyAppHost_PreservesAspireConfigChannel Recording #78221006569 Logs
UpdateProjectChannelToStable_CSharpSingleFileInit_PreservesAspireConfigChannel Recording #78221006569 Logs
UpdateProjectChannelToStable_TypeScriptSingleFileInit_PreservesAspireConfigChannel Recording #78221006569 Logs
UpdateProjectChannelToStable_TypeScript_PreviewsStablePackagesAndPreservesChannel Recording #78221006569 Logs

📹 Recordings uploaded automatically from CI run #26553168827

aspire-repo-bot Bot added a commit to microsoft/aspire.dev that referenced this pull request May 28, 2026
…cribe

Documents the removal of the --resources and --include-hidden options
from aspire ps (microsoft/aspire#17479). The command is now strictly an
AppHost-level summary; users who need per-resource details or streaming
should use aspire describe.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@aspire-repo-bot
Copy link
Copy Markdown
Contributor

Pull request created: #1109

Generated by PR Documentation Check

@aspire-repo-bot
Copy link
Copy Markdown
Contributor

📝 Documentation has been drafted in microsoft/aspire.dev#1109 targeting release/13.4.

Updated src/frontend/src/content/docs/reference/cli/commands/aspire-ps.mdx to reflect the removal of --resources and --include-hidden from aspire ps. Added a sentence clarifying that aspire ps provides an AppHost-level summary only and directs users to aspire describe for per-resource details and streaming. Added aspire describe to the See also section.

Note

This draft PR needs human review before merging.

@mitchdenny
Copy link
Copy Markdown
Member Author

@adamint shall we backport?

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.

Remove resource data from aspire ps — use describe for resource streaming

5 participants