Repository navigation
Queue summary, retry failed and log menu (#24, part 2) - #26
Merged
Merged
Conversation
Repair in the Installed tab runs the installer of the ticked packages again, behind the same confirmation as uninstall, on the shared queue. winget's 'not supported' codes (0x8A150079/7A/7C) become a readable row detail; the 0x8A15007D retry without elevation already covers it. Every queue ends with a summary counted from its rows. Retry failed (N) above the log reruns the last queue on its failed rows that are still in their list, after a confirmation, through Start-WinGetQueue. Save log writes the log to a UTF-8 file. Part of #24. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Without --source, winget repair looks the package up in every source; with the Store unreachable (Windows Sandbox) it stopped on 0x8A15003B, a REST error, before repairing anything. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md
Repair was tested in Windows Sandbox and removed. With --source winget the repair ran, but winget repairs an MSI with msiexec /f, which re-reads the original MSI; winget deleted it after the install (Error 1706, exit 1603). Every MSI installed by winget is in that state, so the button would almost always fail. The evidence is in ADR 0018. Save log... and a new Clear log move from a button to the log's right-click menu, next to Copy and Select all, which a custom menu would otherwise take away. The 'highlighted' rule for menu entries now applies to the grid menus only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
After a queue the tab's own list is read again (Load-Upgrades / Load-Installed -KeepOutcome) and each row's outcome is carried over to the new rows by Id, so the Result column and Retry failed survive: the reason there was no automatic rescan. Lists of other tabs are marked stale and read again when their tab is opened. No more 'press Check' or 'press Refresh'. Retry failed (N) moves from above the log to the top right of each tab, shown only where the list holds failed rows; the rows to retry are found by Id, so they are the refreshed objects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Second of three PRs for #24. It is built on #25 and retargets to
mainonce #25 is merged.Repair: tried and removed
Repair was implemented and tested in Windows Sandbox, then removed. winget repairs an MSI with
msiexec /f, which re-reads the original MSI. winget deleted that MSI after the install, so the repair fails with Error 1706 and exit 1603, and the same happens from a terminal. The evidence is in ADR 0018 and on #24. What remains: the message for a mismatched account names the queue's verb instead of always saying "uninstall".Queue report
Start-WinGetQueue, so there is still one choke point (ADR 0003).Docs
## Unreleased.Tests
BtnRepairorStart-RepairSelectedcomes back.Get-QueueSummary, including that zero counts are left out.Get-RetryRows: a failed row no longer in its list is not retried.Write-LogFilekeeps an accented letter, and Clear log empties the log.-Live: the full queue cycle (cancelled with 1 of 5 run) now also checks the summary line and that Retry failed appears with the failed count.Both suites pass offline, and
Test-Ui.ps1 -Livepasses. I checked the log header layout in a render of the window.🤖 Generated with Claude Code