Repository navigation
WinTUI v2.3.0
WinTUI v2.3.0 adds visual override indicators, fixes multi-version uninstall, and includes a major codebase quality pass with new typed enums and 30+ new tests.
Highlights
- Override indicator (
⚙) — packages with per-package rules (scope, architecture, elevate, ignore) now show a warm-yellow gear glyph in the package list. The same override details appear in both the summary panel (while browsing) and the full detail panel, styled with a dedicated override color. Presspfrom the package list to jump straight into the rules editor. - Multi-version uninstall — packages with multiple installed versions (e.g. side-by-side installs) are now handled correctly. WinTUI detects duplicate entries at staging time, collapses them into a single batch item, and passes
--all-versionsto winget. Previously the second uninstall command would fail with0x8A150066. - Search results dismissal — press
Escto clear search results and return to the normal installed package list. Previously search results could only be cleared by entering an empty search or selecting every result. - Stale search error fix — a successful search now clears any prior error banner. Previously a failed search would leave its error message stuck in the top bar even after a subsequent successful search.
Code Quality
- Workspace split — the 1900-line
workspace.gohas been split into five focused files:workspace.go(types and update router),workspace_view.go(rendering),workspace_actions.go(user actions),workspace_search.go(search input), andworkspace_batch.go(data loading and batch execution). - Typed enums — string-based dispatches for action types, install scope, install mode, and CPU architecture are now typed string aliases with named constants, providing compile-time safety.
- Test coverage — 30+ new tests covering workspace batch lifecycle (modal transitions, cancellation, incremental updates), search/queue flows (toggle, stale discard, display ordering), and navigation (cursor movement, data message state transitions, detail panel open/close).
- Test safety —
TestMainnow backs up and restoressettings.jsonandcache.jsonso thatgo testno longer overwrites the developer's real configuration.
Bug Fixes
- Fixed stale search error banner persisting after a successful search.
- Fixed uninstall of packages with multiple installed versions failing with
0x8A150066. - Fixed
go testsilently overwriting user'ssettings.jsonandcache.jsonwith test defaults. - Added friendly error message for winget error
0x8A150066(multiple uninstall failed).
Notes
- The
pkey now works from both the package list (opens detail panel directly into the rules editor) and the detail view (as before). - The
Esckey progressively backs out of state: search input → search results → normal list. - No breaking changes to settings, CLI flags, or keybindings from v2.2.x.
Full release notes: docs/release-v2.3.0.md