You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Update Terminal.Gui and simplify awaitable UI dispatch - #48
The dependency monitor proposed Terminal.Gui 2.6.0-develop.61, whose packaged source is 46 commits older than Scout's existing .44 build. Update to the actual newer develop build, 2.5.1-develop.81, and select future develop candidates by NuGet publication date rather than version ordering. Publication order identifies candidates; source ancestry still needs review before adoption.
Adopt Terminal.Gui's awaitable InvokeAsync for guarded UI updates. Remove Scout's completion-source plumbing, unused boolean result, and redundant per-dispatch cancellation linking; callers already provide lifetime-linked tokens. Preserve stale-result checks, progress coalescing, and background-task ownership. Add regression coverage for modal dispatch, action failures during shutdown, cancellation token identity, and shutdown without another UI pump.
Review of WinGet stable and preview changes found no required COM API adaptation. Keep both COM packages at stable 1.29.380: that version was already installed, and the latest preview engine/projection versions do not form a matching pair. Reject failed COM package-query statuses with their status and HRESULT before reading matches, while allowing successful empty inventories. Add a read-only --comsmoke diagnostic without backend fallback that requires a nonempty version list, make activation failures produce nonzero --comdiag exit codes, and document those commands. No dependency-review document is retained.
Full application suite: 373 passed, zero failed/skipped.
Dependency-monitor tests: 4 passed, including paginated registration and the misleading higher-version case; live NuGet selection checked with GitHub writes stubbed.
Current revision: locked portable Native AOT publishes for Windows ARM64 and x64; graceful mock startup/shutdown passes with empty stderr and required COM companions verified.
Identity ARM64/x64 AOT publishes, mock smoke, and winmd contents passed at 51bc33a; these were not repeated for the review follow-up commits.
Final portable ARM64 and emulated x64 --comdiag and --comsmoke pass against the real stable COM engine, including inventory, search, details, versions, and installer preview.
Validation host is Windows ARM64; x64 execution used emulation. No package installation, upgrade, uninstall, repair, or download was performed, so the previously observed native ARM64 COM mutation crash remains unresolved. Identity mock smoke verifies packaging/UI startup, not activation inside an installed MSIX. Separate native x64, Linux/macOS, and interactive Windows Terminal/conhost resize checks were not repeated.
Propagate failed package query statuses in inventory checks
Program.cs:155
These inventory checks can fail while --comsmoke still reports success. ComBackend.ListLocalAsync reads FindPackagesResult.Matches without checking Status, so a failed query returning empty matches becomes a zero count. If the later remote checks succeed, the diagnostic exits zero. Check and propagate non-OK query statuses and their error codes in the backend, or expose a strict diagnostic read path. Add a regression case for a failed status; valid empty inventories and upgrade lists must still pass.
Do not suppress unrelated cancellation after shutdown begins
src/App.cs:502
If an action starts shutdown and then throws an OperationCanceledException with an unrelated or default token, the lifetime-linked request is now canceled and this filter suppresses the action failure. For a started action, suppress cancellation only when the exception carries the canceled request token. Extend the unrelated-cancellation regression test to cover an action that calls BeginShutdown before throwing.
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
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.
Summary
The dependency monitor proposed Terminal.Gui
2.6.0-develop.61, whose packaged source is 46 commits older than Scout's existing.44build. Update to the actual newer develop build,2.5.1-develop.81, and select future develop candidates by NuGet publication date rather than version ordering. Publication order identifies candidates; source ancestry still needs review before adoption.Adopt Terminal.Gui's awaitable
InvokeAsyncfor guarded UI updates. Remove Scout's completion-source plumbing, unused boolean result, and redundant per-dispatch cancellation linking; callers already provide lifetime-linked tokens. Preserve stale-result checks, progress coalescing, and background-task ownership. Add regression coverage for modal dispatch, action failures during shutdown, cancellation token identity, and shutdown without another UI pump.Review of WinGet stable and preview changes found no required COM API adaptation. Keep both COM packages at stable
1.29.380: that version was already installed, and the latest preview engine/projection versions do not form a matching pair. Reject failed COM package-query statuses with their status and HRESULT before reading matches, while allowing successful empty inventories. Add a read-only--comsmokediagnostic without backend fallback that requires a nonempty version list, make activation failures produce nonzero--comdiagexit codes, and document those commands. No dependency-review document is retained.Fixes #31
Fixes #32
Fixes #33
Type
Verification
51bc33a; these were not repeated for the review follow-up commits.--comdiagand--comsmokepass against the real stable COM engine, including inventory, search, details, versions, and installer preview.v1.30.140-preview: complete list/upgrade/search output parsed successfully.git diff --check.Limits
Validation host is Windows ARM64; x64 execution used emulation. No package installation, upgrade, uninstall, repair, or download was performed, so the previously observed native ARM64 COM mutation crash remains unresolved. Identity mock smoke verifies packaging/UI startup, not activation inside an installed MSIX. Separate native x64, Linux/macOS, and interactive Windows Terminal/conhost resize checks were not repeated.