Skip to content

Bring #26 and #27 into main (#24) - #29

Merged
FedeB2160 merged 13 commits into
mainfrom
feat/issue-24-finish
Oct 14, 2026
Merged

FedeB2160 merged 13 commits into
mainfrom
feat/issue-24-finish

Conversation

@FedeB2160

Copy link
Copy Markdown
Owner

Brings into main the work of #26 and #27, which is not there yet.

The three PRs were stacked. #25 was merged into main first. Then #26 was merged into feat/details-source and #27 into feat/repair-queue, which were their bases, so neither reached main. Today main has no Retry failed, no log menu, no automatic refresh and no import preview.

This branch is feat/repair-queue, which already holds #26 and #27, with main merged in. The only conflict was in App.Ui.ps1: Save-Log / Write-LogFile from #26 next to Format-StartupTime from #28. I kept both.

Contents, already reviewed and tested in Windows Sandbox in #26 and #27:

  • queue summary in the log, Retry failed at the top right of each tab, lists that refresh themselves after an operation, and the log's right-click menu (Copy, Select all, Save log..., Clear log);
  • Repair tried and left out (evidence in ADR 0018);
  • import preview with selection, imported from a reduced file that keeps the package objects as they are.

Both suites pass offline after the merge.

🤖 Generated with Claude Code

FedeB2160 and others added 13 commits October 14, 2026 09:38
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>
The import confirmation now lists the packages of the file in a grid,
all ticked. With something unticked, winget imports a reduced copy in
%TEMP% (wgt_import_*.json, swept at the next start): the kept package
objects are written back verbatim, so --custom/--override saved by
winget 1.29 survive without the app knowing their names, and sources
left empty are dropped. New-AppDialog takes an optional -Content shown
under the text.

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>
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>
# Conflicts:
#	CHANGELOG.md
#	README.md
#	src/modules/App.Ui.ps1
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>
Import preview with selection (#24, part 3)
# Conflicts:
#	src/modules/App.Ui.ps1
@FedeB2160
FedeB2160 merged commit 9377469 into main Oct 14, 2026
2 checks passed
@FedeB2160
FedeB2160 deleted the feat/issue-24-finish branch October 14, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant