From 3d17c81018b8c3f7c8af497c54fade4dedc569bc Mon Sep 17 00:00:00 2001 From: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Date: Fri, 16 May 2025 15:09:24 -0400 Subject: [PATCH] Fleet UI: Clarify Host software/self-service status and version columns (#29008) --- .../Software/DeviceSoftwareTableConfig.tsx | 4 +- .../Software/HostSoftwareTableConfig.tsx | 38 ++++++++++++++++++- .../SelfService/SelfServiceTableConfig.tsx | 15 +++----- 3 files changed, 44 insertions(+), 13 deletions(-) diff --git a/frontend/pages/hosts/details/cards/Software/DeviceSoftwareTableConfig.tsx b/frontend/pages/hosts/details/cards/Software/DeviceSoftwareTableConfig.tsx index 269bb9847c..648794be56 100644 --- a/frontend/pages/hosts/details/cards/Software/DeviceSoftwareTableConfig.tsx +++ b/frontend/pages/hosts/details/cards/Software/DeviceSoftwareTableConfig.tsx @@ -15,7 +15,6 @@ import VulnerabilitiesCell from "pages/SoftwarePage/components/tables/Vulnerabil import VersionCell from "pages/SoftwarePage/components/tables/VersionCell"; import { getVulnerabilities } from "pages/SoftwarePage/SoftwareTitles/SoftwareTable/SoftwareTitlesTableConfig"; import SoftwareNameCell from "components/TableContainer/DataTable/SoftwareNameCell"; -import ViewAllHostsLink from "components/ViewAllHostsLink"; type ISoftwareTableConfig = Column; type ITableHeaderProps = IHeaderProps; @@ -55,7 +54,8 @@ export const generateSoftwareTableHeaders = (): ISoftwareTableConfig[] => { sortType: "caseInsensitive", }, { - Header: "Version", + Header: "Installed version", + id: "version", disableSortBy: true, // we use function as accessor because we have two columns that // need to access the same data. This is not supported with a string diff --git a/frontend/pages/hosts/details/cards/Software/HostSoftwareTableConfig.tsx b/frontend/pages/hosts/details/cards/Software/HostSoftwareTableConfig.tsx index d67c5e1289..188d7d58c0 100644 --- a/frontend/pages/hosts/details/cards/Software/HostSoftwareTableConfig.tsx +++ b/frontend/pages/hosts/details/cards/Software/HostSoftwareTableConfig.tsx @@ -25,6 +25,7 @@ import HeaderCell from "components/TableContainer/DataTable/HeaderCell/HeaderCel import TextCell from "components/TableContainer/DataTable/TextCell"; import SoftwareNameCell from "components/TableContainer/DataTable/SoftwareNameCell"; import ActionsDropdown from "components/ActionsDropdown"; +import TooltipWrapper from "components/TooltipWrapper"; import VulnerabilitiesCell from "pages/SoftwarePage/components/tables/VulnerabilitiesCell"; import VersionCell from "pages/SoftwarePage/components/tables/VersionCell"; @@ -201,7 +202,23 @@ export const generateSoftwareTableHeaders = ({ }, }, { - Header: "Install status", + Header: () => ( + + The status of the last time
+ Fleet attempted an install
+ or uninstall. + + } + > + Install status + + } + /> + ), disableSortBy: true, accessor: "status", Cell: ({ row: { original } }: IInstalledStatusCellProps) => { @@ -209,7 +226,24 @@ export const generateSoftwareTableHeaders = ({ }, }, { - Header: "Version", + Header: () => ( + + The current verified version +
+ installed on host. + + } + > + Installed version + + } + /> + ), + id: "version", disableSortBy: true, // we use function as accessor because we have two columns that // need to access the same data. This is not supported with a string diff --git a/frontend/pages/hosts/details/cards/Software/SelfService/SelfServiceTableConfig.tsx b/frontend/pages/hosts/details/cards/Software/SelfService/SelfServiceTableConfig.tsx index 6fdcf17844..3acabafa49 100644 --- a/frontend/pages/hosts/details/cards/Software/SelfService/SelfServiceTableConfig.tsx +++ b/frontend/pages/hosts/details/cards/Software/SelfService/SelfServiceTableConfig.tsx @@ -34,11 +34,8 @@ import { IStatusDisplayConfig } from "../InstallStatusCell/InstallStatusCell"; type ISoftwareTableConfig = Column; type ITableHeaderProps = IHeaderProps; type ITableStringCellProps = IStringCellProps; -type IInstalledVersionsCellProps = CellProps< - IHostSoftware, - IHostSoftware["installed_versions"] ->; -type IVulnerabilitiesCellProps = IInstalledVersionsCellProps; +type IStatusCellProps = CellProps; +type IActionCellProps = CellProps; const baseClass = "self-service-table"; @@ -393,14 +390,14 @@ export const generateSoftwareTableHeaders = ({ { Header: (cellProps: ITableHeaderProps) => ( ), disableSortBy: false, disableGlobalFilter: true, - accessor: "source", - Cell: (cellProps: ITableStringCellProps) => ( + accessor: "status", + Cell: (cellProps: IStatusCellProps) => ( originalRow.status, disableSortBy: true, - Cell: (cellProps: IVulnerabilitiesCellProps) => { + Cell: (cellProps: IActionCellProps) => { return (