Skip to content

Fleet UI: Host details > Software > Library skipped installs show as "Patch skipped" - #52567

Draft
RachelElysia wants to merge 1 commit into
mainfrom
52297-host-software-skipped-install
Draft

Fleet UI: Host details > Software > Library skipped installs show as "Patch skipped"#52567
RachelElysia wants to merge 1 commit into
mainfrom
52297-host-software-skipped-install

Conversation

@RachelElysia

@RachelElysia RachelElysia commented Sep 4, 2026

Copy link
Copy Markdown
Member

Issue

Closes #52297

Description

  • Bug fix (root cause): GET /hosts/:id/software did not surface patch-when-closed skips separately from real failures, so Host details > Software > Library rendered them as "Failed". The datastore now computes skipped_install inside the install-history CTE (failed_install + empty pre_install_query_output + policy patch_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 existing SKIPPED_INSTALL_DETAILS string so the tooltip matches the policy status page's Details column.
  • UX: "Patch skipped" uses the same grey error-outline glyph 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.
  • UX (tooltip position): wrapped the InstallStatusCell tooltip with fixedPositionStrategy so it no longer renders off to the left when the table has a single row.
  • Docs: documented skipped_install on both the admin (/hosts/:id/software) and Fleet Desktop (/device/:token/software) endpoints; they share the response struct.
  • The getUiStatus skip branch runs before the failed-install → failed_install_installed / failed_install_update_available downgrades, so a skip on a title with a newer installer version still surfaces as skipped rather than "Update available".

Screenrecording

  • Host details > Software > Library, single-row filtered view: skipped install shows "Patch skipped" with the grey ! icon; tooltip centers above the cell.
Screenshot 2026-09-04 at 7 43 00 PM Screenshot 2026-09-04 at 5 17 08 PM

Testing

  • Added/updated automated tests
  • QA'd all new/changed functionality manually

@codecov

codecov Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.81%. Comparing base (23f3c5c) to head (6ece184).
⚠️ Report is 47 commits behind head on main.

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     
Flag Coverage Δ
frontend 67.86% <100.00%> (+0.24%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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
RachelElysia force-pushed the 52297-host-software-skipped-install branch from 78c37fa to 6ece184 Compare September 4, 2026 20:23
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.

Fleet UI: Host details > Software > Library: skipped installs show as "Failed" (API missing skipped_install)

1 participant