From 4d9e47d93ae1a3c529a972d8f0c40e0cba48a0db Mon Sep 17 00:00:00 2001 From: Br0wnHammer Date: Fri, 9 May 2025 01:35:27 +0530 Subject: [PATCH] Feat: Ignore TLS/SSL Error Option in Config --- .../UptimeMonitors/uptimeMonitorsSlice.js | 4 +- client/src/Pages/Uptime/Configure/index.jsx | 39 +++++++++++++++++-- client/src/Utils/NetworkService.js | 19 ++------- 3 files changed, 42 insertions(+), 20 deletions(-) diff --git a/client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js b/client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js index 1679d8f50..74ad803d3 100644 --- a/client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js +++ b/client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js @@ -81,11 +81,13 @@ export const updateUptimeMonitor = createAsyncThunk( notifications: monitor.notifications, matchMethod: monitor.matchMethod, expectedValue: monitor.expectedValue, + ignoreTlsErrors: monitor.ignoreTlsErrors, jsonPath: monitor.jsonPath, + ...(monitor.type === "port" && { port: monitor.port }), }; const res = await networkService.updateMonitor({ monitorId: monitor._id, - monitor, + updatedFields, }); return res.data; } catch (error) { diff --git a/client/src/Pages/Uptime/Configure/index.jsx b/client/src/Pages/Uptime/Configure/index.jsx index f4b332e04..246f9cde1 100644 --- a/client/src/Pages/Uptime/Configure/index.jsx +++ b/client/src/Pages/Uptime/Configure/index.jsx @@ -2,7 +2,15 @@ import { useNavigate, useParams } from "react-router"; import { useTheme } from "@emotion/react"; import { useDispatch, useSelector } from "react-redux"; import { useEffect, useState } from "react"; -import { Box, Stack, Tooltip, Typography, Button } from "@mui/material"; +import { + Box, + Stack, + Tooltip, + Typography, + Button, + FormControlLabel, + Switch, +} from "@mui/material"; import { monitorValidation } from "../../../Validation/validation"; import { createToast } from "../../../Utils/toastUtils"; import { logger } from "../../../Utils/Logger"; @@ -95,7 +103,7 @@ const Configure = () => { }, [monitorId, navigate]); const handleChange = (event, name) => { - let { value, id } = event.target; + let { checked, value, id } = event.target; if (!name) name = idMap[id]; if (name.includes("notification-")) { @@ -127,6 +135,9 @@ const Configure = () => { if (name === "interval") { value = value * MS_PER_MINUTE; } + if (name === "ignoreTlsErrors") { + value = checked; + } setMonitor((prev) => ({ ...prev, [name]: value, @@ -208,7 +219,6 @@ const Configure = () => { setIsNotificationModalOpen(false); }; - const statusColor = { true: theme.palette.success.main, false: theme.palette.error.main, @@ -476,7 +486,28 @@ const Configure = () => { - {t("distributedUptimeCreateAdvancedSettings")} + {t("ignoreTLSError")} + {t("ignoreTLSErrorDescription")} + + + handleChange(event, "ignoreTlsErrors")} + sx={{ mr: theme.spacing(2) }} + /> + } + label={t("tlsErrorIgnored")} + /> + + + + + + {t("distributedUptimeCreateAdvancedSettings")} +