From 953d97fd2e0ea4f8a5bebfd75df432444ed1617b Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Wed, 25 Feb 2026 05:25:26 +0000 Subject: [PATCH] fix: Setting Status Page Analytics Type to "None" fails with SQLite constraint violation (#7043) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: CommanderStorm <26258709+CommanderStorm@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- server/socket-handlers/status-page-socket-handler.js | 4 ++++ src/pages/StatusPage.vue | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/server/socket-handlers/status-page-socket-handler.js b/server/socket-handlers/status-page-socket-handler.js index 5d1035d1..9c6bd052 100644 --- a/server/socket-handlers/status-page-socket-handler.js +++ b/server/socket-handlers/status-page-socket-handler.js @@ -338,6 +338,10 @@ module.exports.statusPageSocketHandler = (socket) => { statusPage.modified_date = R.isoDateTime(); statusPage.analytics_id = config.analyticsId; statusPage.analytics_script_url = config.analyticsScriptUrl; + const validAnalyticsTypes = ["google", "umami", "plausible", "matomo"]; + if (config.analyticsType !== null && !validAnalyticsTypes.includes(config.analyticsType)) { + throw new Error("Invalid analytics type"); + } statusPage.analytics_type = config.analyticsType; await R.store(statusPage); diff --git a/src/pages/StatusPage.vue b/src/pages/StatusPage.vue index defc980b..4003b4a0 100644 --- a/src/pages/StatusPage.vue +++ b/src/pages/StatusPage.vue @@ -156,7 +156,7 @@ class="form-select" data-testid="analytics-type-select" > - + @@ -688,7 +688,9 @@ export default { enableEditMode: false, enableEditIncidentMode: false, hasToken: false, - config: {}, + config: { + analyticsType: null, + }, selectedMonitor: null, incident: null, previousIncident: null,