Fleet UI: Host details > Software > Library skipped installs show as "Patch skipped" - #52567
Draft
RachelElysia wants to merge 1 commit into
Draft
Fleet UI: Host details > Software > Library skipped installs show as "Patch skipped"#52567RachelElysia wants to merge 1 commit into
RachelElysia wants to merge 1 commit into
Conversation
RachelElysia
temporarily deployed
to
Docker Hub
September 4, 2026 13:28 — with
GitHub Actions
Inactive
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #52567 +/- ##
==========================================
+ Coverage 75.78% 75.81% +0.03%
==========================================
Files 4090 4095 +5
Lines 247277 247386 +109
Branches 14255 14299 +44
==========================================
+ Hits 187389 187558 +169
+ Misses 59711 59650 -61
- Partials 177 178 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
2 tasks
Backend: expose skipped_install on GET /hosts/:id/software. Computed in the ListHostSoftware CTE from failed_install + empty pre_install_query_output + policies.patch_when_closed, and threaded through the resolved-installer pin, uninstall-supersede merges, and the assembler. Frontend: new "skipped_install" UI status short-circuited from getUiStatus so an update-available downgrade doesn't hide the skip. InstallStatusCell renders it as a grey error-outline + "Patch skipped", tooltip reuses the policy status page's SKIPPED_INSTALL_DETAILS copy, and the status cell tooltip now uses fixedPositionStrategy so it stops rendering off to the left when the table has a single row. Docs for the new response field ship in a companion PR against docs-v4.93.0.
RachelElysia
force-pushed
the
52297-host-software-skipped-install
branch
from
September 4, 2026 20:23
78c37fa to
6ece184
Compare
RachelElysia
temporarily deployed
to
Docker Hub
September 4, 2026 20:23 — with
GitHub Actions
Inactive
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.
Issue
Closes #52297
Description
GET /hosts/:id/softwaredid not surface patch-when-closed skips separately from real failures, so Host details > Software > Library rendered them as "Failed". The datastore now computesskipped_installinside the install-history CTE (failed_install + emptypre_install_query_output+ policypatch_when_closed=1), threads it through the resolved-installer pin / uninstall-supersede merges / assembler, and the frontend keys on the new bool to render a"skipped_install"UI status. Copy reuses the existingSKIPPED_INSTALL_DETAILSstring so the tooltip matches the policy status page's Details column.error-outlineglyph as the policy status page (deferred, not a failure). The status is intentionally not clickable — the install was skipped, so there is no run to open a details modal for.InstallStatusCelltooltip withfixedPositionStrategyso it no longer renders off to the left when the table has a single row.skipped_installon both the admin (/hosts/:id/software) and Fleet Desktop (/device/:token/software) endpoints; they share the response struct.getUiStatusskip branch runs before the failed-install →failed_install_installed/failed_install_update_availabledowngrades, so a skip on a title with a newer installer version still surfaces as skipped rather than "Update available".Screenrecording
!icon; tooltip centers above the cell.Testing