From 373ebdea5c7b97751fe75a5e346680b0c3168093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20G=C3=B3mez?= Date: Thu, 4 Mar 2021 11:01:23 +0100 Subject: [PATCH] [Fleet] Correctly track install status of an integration (#93464) --- .../fleet/sections/epm/screens/detail/index.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx index 3cb57b63e707da..61de3a6f6c9cea 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx @@ -35,7 +35,8 @@ import { Error, Loading } from '../../../../components'; import { useBreadcrumbs } from '../../../../hooks'; import { WithHeaderLayout, WithHeaderLayoutProps } from '../../../../layouts'; import { RELEASE_BADGE_DESCRIPTION, RELEASE_BADGE_LABEL } from '../../components/release_badge'; -import { useSetPackageInstallStatus } from '../../hooks'; +import { useGetPackageInstallStatus, useSetPackageInstallStatus } from '../../hooks'; + import { IntegrationAgentPolicyCount, UpdateIcon, IconPanel, LoadingIconPanel } from './components'; import { OverviewPage } from './overview'; import { PackagePoliciesPage } from './policies'; @@ -74,6 +75,15 @@ export function Detail() { // Package info state const [packageInfo, setPackageInfo] = useState(null); const setPackageInstallStatus = useSetPackageInstallStatus(); + const getPackageInstallStatus = useGetPackageInstallStatus(); + + const packageInstallStatus = useMemo(() => { + if (packageInfo === null || !packageInfo.name) { + return undefined; + } + return getPackageInstallStatus(packageInfo.name).status; + }, [packageInfo, getPackageInstallStatus]); + const updateAvailable = packageInfo && 'savedObject' in packageInfo && @@ -85,7 +95,6 @@ export function Detail() { pkgkey ); - const packageInstallStatus = packageInfoData?.response.status; const showCustomTab = useUIExtension(packageInfoData?.response.name ?? '', 'package-detail-custom') !== undefined;