[Nitro CLI] Refine output further#9563
Merged
tobias-tengler merged 3 commits intomainfrom Apr 16, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refines Nitro CLI console output and failure propagation, aiming to reduce redundant “terminator” lines and improve messaging consistency across interactive/non-interactive activity rendering and Fusion publish/validate flows.
Changes:
- Renames/reshapes the “silent fail” sink operation (
FailSilent→Fail) and extendsFailAllAsyncto optionally carry details while cascading failures. - Adjusts
ActivityTreerendering to suppress redundant failure terminators and adds/updates activity snapshots to match the refined output. - Standardizes several command behaviors to throw
ExitExceptionon validation failures (driving consistent stderr + exit codes) and updates Fusion publish/validate progress messages.
Reviewed changes
Copilot reviewed 33 out of 33 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Nitro/CommandLine/test/CommandLine.Tests/Console/SnapshotActivitySink.cs | Updates test sink to match IActivitySink.Fail rename. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Console/NitroConsoleActivityTests.cs | Updates non-interactive activity tests for FailAllAsync and revised failure output. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Console/InteractiveNitroConsoleActivityTests.cs | Adds/updates interactive rendering tests for collapse/suppression behavior and FailAllAsync. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Session/SessionCommandTestBase.cs | Removes unused ExitException-specific logout setup helper. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Session/LogoutCommandTests.cs | Consolidates logout error test to unexpected-exception path and updates snapshots. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionValidateCommandTests.cs | Updates snapshots for revised “Validating …” title phrasing. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionPublishCommandTests.cs | Updates publish output snapshots (new title, progress lines, and revised failure wording). |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishValidateCommandTests.cs | Aligns validate command tests with new success output and stderr behavior on failure. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishStartCommandTests.cs | Renames tests for clearer “ReturnsSuccess” naming. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCommitCommandTests.cs | Renames/merges tests and updates naming to match revised expectations. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishCancelCommandTests.cs | Renames tests for clearer “ReturnsSuccess” naming. |
| src/Nitro/CommandLine/test/CommandLine.Tests/Commands/Fusion/FusionConfigurationPublishBeginCommandTests.cs | Updates begin output snapshots to include “Publication request created” + “Deployment slot ready”. |
| src/Nitro/CommandLine/src/CommandLine/Services/Console/StreamingActivitySink.cs | Implements IActivitySink.Fail rename (streaming terminator emission on fail). |
| src/Nitro/CommandLine/src/CommandLine/Services/Console/NitroConsoleActivity.cs | Refactors failure APIs (FailAllAsync optional details) and failure cascade behavior. |
| src/Nitro/CommandLine/src/CommandLine/Services/Console/LiveActivitySink.cs | Implements IActivitySink.Fail rename (live tree state-only fail). |
| src/Nitro/CommandLine/src/CommandLine/Services/Console/INitroConsoleActivity.cs | Updates FailAllAsync signature to accept optional details. |
| src/Nitro/CommandLine/src/CommandLine/Services/Console/IActivitySink.cs | Renames FailSilent → Fail in sink contract. |
| src/Nitro/CommandLine/src/CommandLine/Services/Console/ActivityTree.cs | Adds rendering-time suppression of redundant failure terminators (child visibility logic). |
| src/Nitro/CommandLine/src/CommandLine/Commands/Stages/EditStagesCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/ValidateSchemaCommand.cs | Throws ExitException on invalid schema to standardize error handling. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/SchemaHelpers.cs | Consolidates schema validation failure reporting into FailAllAsync(errorTree) without extra stderr writes. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Schemas/PublishSchemaCommand.cs | Uses FailAllAsync(errorTree) when publish validation fails. |
| src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/ValidateOpenApiCollectionCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
| src/Nitro/CommandLine/src/CommandLine/Commands/OpenApi/PublishOpenApiCollectionCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/ValidateMcpFeatureCollectionCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Mcp/PublishMcpFeatureCollectionCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishValidateCommand.cs | Throws ExitException on validation failure and emits success terminator on success. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/PublishCommand/FusionConfigurationPublishBeginCommand.cs | Completes activity with explicit “Deployment slot ready.” success line. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionValidateCommand.cs | Throws ExitException on invalid schema and updates the activity title wording. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishHelpers.cs | Improves publish progress output, switches to FailAllAsync(errorTree) in some paths, and fixes punctuation/grammar in exit messages. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Fusion/FusionPublishCommand.cs | Updates publish root title/failure message, adds validation stderr messaging, and avoids triggering release-slot fallback on local validation failure. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Clients/ValidateClientCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
| src/Nitro/CommandLine/src/CommandLine/Commands/Clients/PublishClientCommand.cs | Uses FailAllAsync(errorTree) for consistent failure rendering + cascade. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This was referenced May 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.