From 5876b97ede158e983263b06ec510b84bb3c745eb Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Thu, 27 Nov 2025 20:41:49 +0000 Subject: [PATCH] reject unauthorized --- .../common/HistogramResponseTime.tsx | 2 -- client/src/hooks/UseApi.tsx | 2 +- client/src/hooks/forms/UseInitMonitorFrom.tsx | 1 + client/src/locales/en.json | 4 +++- client/src/pages/export/Export.tsx | 1 - .../pages/maintenance/MaintenanceCreate.tsx | 1 - .../src/pages/maintenance/MaintenanceForm.tsx | 3 +-- .../NotificationChannelsForm.tsx | 3 +-- .../src/pages/pagespeed/PageSpeedConfig.tsx | 1 - .../src/pages/status-page/StatusPageForm.tsx | 2 +- client/src/pages/uptime/UptimeConfigure.tsx | 1 + client/src/pages/uptime/UptimeDetails.tsx | 1 - client/src/pages/uptime/UptimeForm.tsx | 19 +++++++++++++++++++ client/src/types/monitor.ts | 1 + client/src/validation/zod.ts | 1 + server/src/db/models/monitors/Monitor.ts | 2 ++ .../src/services/business/MonitorService.ts | 1 + .../services/infrastructure/NetworkService.ts | 4 +++- server/src/validation/index.ts | 1 + 19 files changed, 37 insertions(+), 14 deletions(-) diff --git a/client/src/components/common/HistogramResponseTime.tsx b/client/src/components/common/HistogramResponseTime.tsx index 553735132..da31da022 100644 --- a/client/src/components/common/HistogramResponseTime.tsx +++ b/client/src/components/common/HistogramResponseTime.tsx @@ -37,8 +37,6 @@ export const HistogramResponseTime = ({ data = normalized; } - console.log(data); - const chartHeight = typeof height === "number" ? `${height}px` : height; const gridGap = gap ?? theme.spacing(0.5); diff --git a/client/src/hooks/UseApi.tsx b/client/src/hooks/UseApi.tsx index 0f6b18fa6..056859f37 100644 --- a/client/src/hooks/UseApi.tsx +++ b/client/src/hooks/UseApi.tsx @@ -46,7 +46,7 @@ export const useGet = ( // Config { onError: (err) => { - console.log(err); + console.error(err); toastError( err?.response?.data?.message || err.message || diff --git a/client/src/hooks/forms/UseInitMonitorFrom.tsx b/client/src/hooks/forms/UseInitMonitorFrom.tsx index 883d65857..b57a5df16 100644 --- a/client/src/hooks/forms/UseInitMonitorFrom.tsx +++ b/client/src/hooks/forms/UseInitMonitorFrom.tsx @@ -25,6 +25,7 @@ export const useInitForm = ({ notificationChannels: initialData?.notificationChannels || [], name: initialData?.name || "", interval: humanInterval, + rejectUnauthorized: initialData?.rejectUnauthorized ?? true, }; return { defaults }; }, [initialData]); diff --git a/client/src/locales/en.json b/client/src/locales/en.json index 557f086a8..636575baa 100644 --- a/client/src/locales/en.json +++ b/client/src/locales/en.json @@ -265,8 +265,10 @@ "incidentConfigStatusWindowLabel": "How many checks should be in the sliding window?", "incidentConfigStatusWindowThresholdLabel": "What percentage of checks in the sliding window fail/succeed before monitor status changes?", "incidentConfigTitle": "Incidents", + "intervalTitle": "Check interval", "intervalDescription": "How often do you want to check this service?", - "intervalTitle": "Check interval" + "rejectUnauthorizedTitle": "Reject unauthorized", + "rejectUnauthorizedDescription": "Disable to allow self-signed SSL certificates" }, "createNew": "Create new", "createNotifications": { diff --git a/client/src/pages/export/Export.tsx b/client/src/pages/export/Export.tsx index 6ed7742f3..e382472d4 100644 --- a/client/src/pages/export/Export.tsx +++ b/client/src/pages/export/Export.tsx @@ -51,7 +51,6 @@ const ExportPage = () => { const text = await file.text(); const json = JSON.parse(text); const res = await post("/monitors/import", { monitors: json }); - console.log(res); } catch (error) { console.error("Failed to parse JSON", error); } finally { diff --git a/client/src/pages/maintenance/MaintenanceCreate.tsx b/client/src/pages/maintenance/MaintenanceCreate.tsx index f1a88a866..4e188505e 100644 --- a/client/src/pages/maintenance/MaintenanceCreate.tsx +++ b/client/src/pages/maintenance/MaintenanceCreate.tsx @@ -17,7 +17,6 @@ const MaintenanceCreatePage = () => { useGet>("/monitors"); const monitors = response?.data || []; - console.log(monitors); const onSubmit = async (data: FormValues) => { const res = await post("/maintenance", data); diff --git a/client/src/pages/maintenance/MaintenanceForm.tsx b/client/src/pages/maintenance/MaintenanceForm.tsx index 5061a051f..8b7daa520 100644 --- a/client/src/pages/maintenance/MaintenanceForm.tsx +++ b/client/src/pages/maintenance/MaintenanceForm.tsx @@ -52,8 +52,7 @@ export const MaintenanceForm = ({ }, [initialData, reset, defaults]); const onError = (errors: any) => { - console.log(errors); - console.log(getValues()); + console.error(errors); }; return ( diff --git a/client/src/pages/notification-channels/NotificationChannelsForm.tsx b/client/src/pages/notification-channels/NotificationChannelsForm.tsx index 1c91f8db4..6d1020d45 100644 --- a/client/src/pages/notification-channels/NotificationChannelsForm.tsx +++ b/client/src/pages/notification-channels/NotificationChannelsForm.tsx @@ -56,8 +56,7 @@ export const NotificationChannelsForm = ({ const type = watch("type"); const onError = (errors: any) => { - console.log(errors); - console.log(getValues()); + console.error(errors); }; const handleTest = async () => { diff --git a/client/src/pages/pagespeed/PageSpeedConfig.tsx b/client/src/pages/pagespeed/PageSpeedConfig.tsx index be958281f..7368e0e13 100644 --- a/client/src/pages/pagespeed/PageSpeedConfig.tsx +++ b/client/src/pages/pagespeed/PageSpeedConfig.tsx @@ -38,7 +38,6 @@ const PageSpeedConfigurePage = () => { notificationChannels: data.notificationChannels, interval, }; - console.log(submitData); const result = await patch(`/monitors/${id}`, submitData); if (result) { navigate(`/pagespeed/${id}`); diff --git a/client/src/pages/status-page/StatusPageForm.tsx b/client/src/pages/status-page/StatusPageForm.tsx index f2d58167a..d96044824 100644 --- a/client/src/pages/status-page/StatusPageForm.tsx +++ b/client/src/pages/status-page/StatusPageForm.tsx @@ -55,7 +55,7 @@ export const StatusPageForm = ({ }, [initialData, reset, defaults]); const onError = (errors: any) => { - console.log(errors); + console.error(errors); }; const monitors = useWatch({ diff --git a/client/src/pages/uptime/UptimeConfigure.tsx b/client/src/pages/uptime/UptimeConfigure.tsx index c738ab8e0..8a91bf5a2 100644 --- a/client/src/pages/uptime/UptimeConfigure.tsx +++ b/client/src/pages/uptime/UptimeConfigure.tsx @@ -38,6 +38,7 @@ const UptimeConfigurePage = () => { n: data.n, notificationChannels: data.notificationChannels, interval, + rejectUnauthorized: data.rejectUnauthorized, }; const result = await patch(`/monitors/${id}`, submitData); if (result) { diff --git a/client/src/pages/uptime/UptimeDetails.tsx b/client/src/pages/uptime/UptimeDetails.tsx index fb88d4cef..bcfa6c722 100644 --- a/client/src/pages/uptime/UptimeDetails.tsx +++ b/client/src/pages/uptime/UptimeDetails.tsx @@ -69,7 +69,6 @@ const UptimeDetailsPage = () => { } const stats = response?.data?.stats || null; - console.log(stats); const avgResponseTime = stats?.avgResponseTime || 0; const maxResponseTime = stats?.maxResponseTime || 0; diff --git a/client/src/pages/uptime/UptimeForm.tsx b/client/src/pages/uptime/UptimeForm.tsx index 20719c54d..08d2d433b 100644 --- a/client/src/pages/uptime/UptimeForm.tsx +++ b/client/src/pages/uptime/UptimeForm.tsx @@ -4,6 +4,7 @@ import { Button, AutoComplete, RadioWithDescription, + Switch, } from "@/components/inputs"; import { ConfigBox, BasePage } from "@/components/design-elements"; import RadioGroup from "@mui/material/RadioGroup"; @@ -314,6 +315,24 @@ export const UptimeForm = ({ /> } /> + ( + + + + {field.value ? "Enabled (recommended)" : "Disabled"} + + + )} + /> + } + />