From 5958d4b81c743b998a93792775f5988247b39064 Mon Sep 17 00:00:00 2001 From: Br0wnHammer Date: Tue, 11 Mar 2025 03:23:04 +0530 Subject: [PATCH 1/4] Fix: Uptime UseChecks Hook --- src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx | 7 +++++-- src/Pages/Uptime/Details/index.jsx | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx b/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx index 51da1a20b..c067b1d2b 100644 --- a/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx +++ b/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx @@ -2,18 +2,21 @@ import { useState } from "react"; import { useEffect } from "react"; import { networkService } from "../../../../main"; import { createToast } from "../../../../Utils/toastUtils"; -export const useChecksFetch = ({ monitorId, dateRange, page, rowsPerPage }) => { +export const useChecksFetch = ({ monitorId, monitorType, dateRange, page, rowsPerPage }) => { const [checks, setChecks] = useState(undefined); const [checksCount, setChecksCount] = useState(undefined); const [isLoading, setIsLoading] = useState(false); const [networkError, setNetworkError] = useState(false); useEffect(() => { + if (!monitorType) return; + const fetchChecks = async () => { try { setIsLoading(true); const res = await networkService.getChecksByMonitor({ monitorId: monitorId, + type: monitorType, sortOrder: "desc", limit: null, dateRange: dateRange, @@ -31,7 +34,7 @@ export const useChecksFetch = ({ monitorId, dateRange, page, rowsPerPage }) => { } }; fetchChecks(); - }, [monitorId, dateRange, page, rowsPerPage]); + }, [monitorId, monitorType, dateRange, page, rowsPerPage]); return [checks, checksCount, isLoading, networkError]; }; diff --git a/src/Pages/Uptime/Details/index.jsx b/src/Pages/Uptime/Details/index.jsx index d170f7b18..672640d67 100644 --- a/src/Pages/Uptime/Details/index.jsx +++ b/src/Pages/Uptime/Details/index.jsx @@ -59,8 +59,11 @@ const UptimeDetails = () => { uiTimezone, }); + const monitorType = monitor?.type; + const [checks, checksCount, checksAreLoading, checksNetworkError] = useChecksFetch({ monitorId, + monitorType, dateRange, page, rowsPerPage, From c9e604efed003b7fd69fdde0b97f69ab16b961d6 Mon Sep 17 00:00:00 2001 From: Br0wnHammer Date: Tue, 11 Mar 2025 22:27:43 +0530 Subject: [PATCH 2/4] Fix: Uptime UseChecks Hook --- src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx b/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx index c067b1d2b..afdc5ed6b 100644 --- a/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx +++ b/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx @@ -9,7 +9,9 @@ export const useChecksFetch = ({ monitorId, monitorType, dateRange, page, rowsPe const [networkError, setNetworkError] = useState(false); useEffect(() => { - if (!monitorType) return; + if (!monitorType) { + throw new Error('Monitor Type is not provided. Fetching checks will not proceed.'); + } const fetchChecks = async () => { try { From ee4c15907eb522677049ae4e84936dec63459ad7 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Tue, 11 Mar 2025 10:15:47 -0700 Subject: [PATCH 3/4] replace throwing error with console.warn --- src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx b/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx index afdc5ed6b..23c66b084 100644 --- a/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx +++ b/src/Pages/Uptime/Details/Hooks/useChecksFetch.jsx @@ -2,7 +2,13 @@ import { useState } from "react"; import { useEffect } from "react"; import { networkService } from "../../../../main"; import { createToast } from "../../../../Utils/toastUtils"; -export const useChecksFetch = ({ monitorId, monitorType, dateRange, page, rowsPerPage }) => { +export const useChecksFetch = ({ + monitorId, + monitorType, + dateRange, + page, + rowsPerPage, +}) => { const [checks, setChecks] = useState(undefined); const [checksCount, setChecksCount] = useState(undefined); const [isLoading, setIsLoading] = useState(false); @@ -10,7 +16,8 @@ export const useChecksFetch = ({ monitorId, monitorType, dateRange, page, rowsPe useEffect(() => { if (!monitorType) { - throw new Error('Monitor Type is not provided. Fetching checks will not proceed.'); + console.warn("Monitor Type is not provided. Fetching checks will not proceed."); + return; } const fetchChecks = async () => { From 3595e02cae2cc8cbf79c069fc0f09f0162d4b2d6 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Tue, 11 Mar 2025 11:38:44 -0700 Subject: [PATCH 4/4] fix uptime percentage --- .../Details/Components/StatusHeader/index.jsx | 4 ++-- src/Pages/StatusPage/Status/index.jsx | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Pages/DistributedUptime/Details/Components/StatusHeader/index.jsx b/src/Pages/DistributedUptime/Details/Components/StatusHeader/index.jsx index 8f188c970..22a56bd7e 100644 --- a/src/Pages/DistributedUptime/Details/Components/StatusHeader/index.jsx +++ b/src/Pages/DistributedUptime/Details/Components/StatusHeader/index.jsx @@ -30,7 +30,6 @@ const StatusHeader = ({ monitor, connectionStatus, elementToCapture }) => { }; let bgColor = COLOR_MAP[connectionStatus]; - return ( { backgroundColor={theme.palette.successSecondary.lowContrast} color={theme.palette.success.lowContrast} > - {t("distributedUptimeDetailsStatusHeaderUptime")} {(monitor.totalUptime * 100).toFixed(2)}% + {t("distributedUptimeDetailsStatusHeaderUptime")}{" "} + {(monitor.uptimePercentage * 100).toFixed(2)}% { const [isDeleteOpen, setIsDeleteOpen] = useState(false); // Utils const theme = useTheme(); - const isAdmin = useIsAdmin(); const location = useLocation(); const navigate = useNavigate(); @@ -33,7 +32,6 @@ const PublicStatus = () => { const [deleteStatusPage, isDeleting] = useStatusPageDelete(fetchStatusPage, url); // Setup - const currentPath = location.pathname; let sx = { paddingLeft: theme.spacing(20), paddingRight: theme.spacing(20) }; let link = undefined; const isPublic = location.pathname.startsWith("/status/uptime/public");