From f90acd9b71d6ee8e94d4cb0362fb427c0dd22fe8 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:38:49 -0600 Subject: [PATCH] update restartRequired for all fields --- .../section-configs/audio_transcription.ts | 1 + .../config-form/section-configs/auth.ts | 6 +++++- .../config-form/section-configs/birdseye.ts | 12 ++++++++++++ .../config-form/section-configs/classification.ts | 2 +- .../config-form/section-configs/database.ts | 2 +- .../config-form/section-configs/detectors.ts | 1 + .../section-configs/face_recognition.ts | 12 ++++++++++++ .../config-form/section-configs/genai.ts | 9 ++++++++- .../config-form/section-configs/logger.ts | 2 +- .../components/config-form/section-configs/lpr.ts | 15 +++++++++++++++ .../config-form/section-configs/model.ts | 13 ++++++++++++- .../config-form/section-configs/mqtt.ts | 15 +++++++++++++++ .../config-form/section-configs/networking.ts | 2 +- .../section-configs/semantic_search.ts | 1 + .../config-form/section-configs/telemetry.ts | 9 ++++++++- .../components/config-form/section-configs/tls.ts | 2 +- .../components/config-form/section-configs/ui.ts | 1 + 17 files changed, 96 insertions(+), 9 deletions(-) diff --git a/web/src/components/config-form/section-configs/audio_transcription.ts b/web/src/components/config-form/section-configs/audio_transcription.ts index b7f6dc0cb..169a77954 100644 --- a/web/src/components/config-form/section-configs/audio_transcription.ts +++ b/web/src/components/config-form/section-configs/audio_transcription.ts @@ -12,6 +12,7 @@ const audioTranscription: SectionConfigOverrides = { global: { fieldOrder: ["enabled", "language", "device", "model_size"], advancedFields: ["language", "device", "model_size"], + restartRequired: ["enabled", "language", "device", "model_size"], }, }; diff --git a/web/src/components/config-form/section-configs/auth.ts b/web/src/components/config-form/section-configs/auth.ts index 005634f0a..6adb08007 100644 --- a/web/src/components/config-form/section-configs/auth.ts +++ b/web/src/components/config-form/section-configs/auth.ts @@ -3,7 +3,11 @@ import type { SectionConfigOverrides } from "./types"; const auth: SectionConfigOverrides = { base: { sectionDocs: "/configuration/authentication", - restartRequired: [], + restartRequired: [ + "enabled", + "reset_admin_password", + "failed_login_rate_limit", + ], fieldOrder: [ "enabled", "reset_admin_password", diff --git a/web/src/components/config-form/section-configs/birdseye.ts b/web/src/components/config-form/section-configs/birdseye.ts index e825c3a7e..7df38edd8 100644 --- a/web/src/components/config-form/section-configs/birdseye.ts +++ b/web/src/components/config-form/section-configs/birdseye.ts @@ -22,6 +22,18 @@ const birdseye: SectionConfigOverrides = { "idle_heartbeat_fps", ], advancedFields: ["width", "height", "quality", "inactivity_threshold"], + restartRequired: [ + "enabled", + "restream", + "width", + "height", + "quality", + "mode", + "layout.scaling_factor", + "inactivity_threshold", + "layout.max_cameras", + "idle_heartbeat_fps", + ], uiSchema: { mode: { "ui:size": "xs", diff --git a/web/src/components/config-form/section-configs/classification.ts b/web/src/components/config-form/section-configs/classification.ts index f2890762f..015f723bd 100644 --- a/web/src/components/config-form/section-configs/classification.ts +++ b/web/src/components/config-form/section-configs/classification.ts @@ -3,7 +3,7 @@ import type { SectionConfigOverrides } from "./types"; const classification: SectionConfigOverrides = { base: { sectionDocs: "/configuration/custom_classification/object_classification", - restartRequired: [], + restartRequired: ["bird.enabled", "bird.threshold"], hiddenFields: ["custom"], advancedFields: [], }, diff --git a/web/src/components/config-form/section-configs/database.ts b/web/src/components/config-form/section-configs/database.ts index 2354e8d6c..aa86798a9 100644 --- a/web/src/components/config-form/section-configs/database.ts +++ b/web/src/components/config-form/section-configs/database.ts @@ -3,7 +3,7 @@ import type { SectionConfigOverrides } from "./types"; const database: SectionConfigOverrides = { base: { sectionDocs: "/configuration/advanced#database", - restartRequired: [], + restartRequired: ["path"], fieldOrder: ["path"], advancedFields: [], uiSchema: { diff --git a/web/src/components/config-form/section-configs/detectors.ts b/web/src/components/config-form/section-configs/detectors.ts index 3ca2dd81d..68fcb3ae4 100644 --- a/web/src/components/config-form/section-configs/detectors.ts +++ b/web/src/components/config-form/section-configs/detectors.ts @@ -10,6 +10,7 @@ const detectorHiddenFields = [ const detectors: SectionConfigOverrides = { base: { sectionDocs: "/configuration/object_detectors", + restartRequired: ["*.type", "*.model", "*.model_path"], fieldOrder: [], advancedFields: [], hiddenFields: detectorHiddenFields, diff --git a/web/src/components/config-form/section-configs/face_recognition.ts b/web/src/components/config-form/section-configs/face_recognition.ts index 91f9c1a8e..2f5b2dd46 100644 --- a/web/src/components/config-form/section-configs/face_recognition.ts +++ b/web/src/components/config-form/section-configs/face_recognition.ts @@ -32,6 +32,18 @@ const faceRecognition: SectionConfigOverrides = { "blur_confidence_filter", "device", ], + restartRequired: [ + "enabled", + "model_size", + "unknown_score", + "detection_threshold", + "recognition_threshold", + "min_area", + "min_faces", + "save_attempts", + "blur_confidence_filter", + "device", + ], }, }; diff --git a/web/src/components/config-form/section-configs/genai.ts b/web/src/components/config-form/section-configs/genai.ts index 97be01037..739659496 100644 --- a/web/src/components/config-form/section-configs/genai.ts +++ b/web/src/components/config-form/section-configs/genai.ts @@ -3,7 +3,14 @@ import type { SectionConfigOverrides } from "./types"; const genai: SectionConfigOverrides = { base: { sectionDocs: "/configuration/genai/config", - restartRequired: [], + restartRequired: [ + "provider", + "api_key", + "base_url", + "model", + "provider_options", + "runtime_options", + ], fieldOrder: [ "provider", "api_key", diff --git a/web/src/components/config-form/section-configs/logger.ts b/web/src/components/config-form/section-configs/logger.ts index 5d28ca6d8..8100ee4c1 100644 --- a/web/src/components/config-form/section-configs/logger.ts +++ b/web/src/components/config-form/section-configs/logger.ts @@ -3,7 +3,7 @@ import type { SectionConfigOverrides } from "./types"; const logger: SectionConfigOverrides = { base: { sectionDocs: "/configuration/advanced#logger", - restartRequired: [], + restartRequired: ["default", "logs"], fieldOrder: ["default", "logs"], advancedFields: ["logs"], }, diff --git a/web/src/components/config-form/section-configs/lpr.ts b/web/src/components/config-form/section-configs/lpr.ts index ab6656929..3e2561f64 100644 --- a/web/src/components/config-form/section-configs/lpr.ts +++ b/web/src/components/config-form/section-configs/lpr.ts @@ -40,6 +40,21 @@ const lpr: SectionConfigOverrides = { "device", "replace_rules", ], + restartRequired: [ + "enabled", + "model_size", + "detection_threshold", + "min_area", + "recognition_threshold", + "min_plate_length", + "format", + "match_distance", + "known_plates", + "enhancement", + "debug_save_plates", + "device", + "replace_rules", + ], uiSchema: { format: { "ui:options": { size: "md" }, diff --git a/web/src/components/config-form/section-configs/model.ts b/web/src/components/config-form/section-configs/model.ts index e92a1c45d..c94a1f2cf 100644 --- a/web/src/components/config-form/section-configs/model.ts +++ b/web/src/components/config-form/section-configs/model.ts @@ -3,7 +3,18 @@ import type { SectionConfigOverrides } from "./types"; const model: SectionConfigOverrides = { base: { sectionDocs: "/configuration/object_detectors#model", - restartRequired: [], + restartRequired: [ + "path", + "labelmap_path", + "width", + "height", + "labelmap", + "attributes_map", + "input_tensor", + "input_pixel_format", + "input_dtype", + "model_type", + ], fieldOrder: [ "path", "labelmap_path", diff --git a/web/src/components/config-form/section-configs/mqtt.ts b/web/src/components/config-form/section-configs/mqtt.ts index 5151b20b5..67d863b08 100644 --- a/web/src/components/config-form/section-configs/mqtt.ts +++ b/web/src/components/config-form/section-configs/mqtt.ts @@ -46,6 +46,21 @@ const mqtt: SectionConfigOverrides = { "tls_client_key", "tls_insecure", ], + restartRequired: [ + "enabled", + "host", + "port", + "user", + "password", + "topic_prefix", + "client_id", + "stats_interval", + "qos", + "tls_ca_certs", + "tls_client_cert", + "tls_client_key", + "tls_insecure", + ], liveValidate: true, uiSchema: { password: { diff --git a/web/src/components/config-form/section-configs/networking.ts b/web/src/components/config-form/section-configs/networking.ts index 264cf05cb..a7ed95bf0 100644 --- a/web/src/components/config-form/section-configs/networking.ts +++ b/web/src/components/config-form/section-configs/networking.ts @@ -7,7 +7,7 @@ const networking: SectionConfigOverrides = { "listen.internal": "/configuration/advanced#listen-on-different-ports", "listen.external": "/configuration/advanced#listen-on-different-ports", }, - restartRequired: [], + restartRequired: ["ipv6.enabled", "listen.internal", "listen.external"], fieldOrder: [], advancedFields: [], uiSchema: { diff --git a/web/src/components/config-form/section-configs/semantic_search.ts b/web/src/components/config-form/section-configs/semantic_search.ts index ee6d4c7fc..7c4c3245f 100644 --- a/web/src/components/config-form/section-configs/semantic_search.ts +++ b/web/src/components/config-form/section-configs/semantic_search.ts @@ -17,6 +17,7 @@ const semanticSearch: SectionConfigOverrides = { global: { fieldOrder: ["enabled", "reindex", "model", "model_size", "device"], advancedFields: ["reindex", "device"], + restartRequired: ["enabled", "reindex", "model", "model_size", "device"], }, }; diff --git a/web/src/components/config-form/section-configs/telemetry.ts b/web/src/components/config-form/section-configs/telemetry.ts index 3ceea9872..f197e3bcf 100644 --- a/web/src/components/config-form/section-configs/telemetry.ts +++ b/web/src/components/config-form/section-configs/telemetry.ts @@ -3,7 +3,14 @@ import type { SectionConfigOverrides } from "./types"; const telemetry: SectionConfigOverrides = { base: { sectionDocs: "/configuration/reference", - restartRequired: [], + restartRequired: [ + "network_interfaces", + "stats.amd_gpu_stats", + "stats.intel_gpu_stats", + "stats.intel_gpu_device", + "stats.network_bandwidth", + "version_check", + ], fieldOrder: ["network_interfaces", "stats", "version_check"], advancedFields: [], }, diff --git a/web/src/components/config-form/section-configs/tls.ts b/web/src/components/config-form/section-configs/tls.ts index 5d733c6ec..07e8b53bc 100644 --- a/web/src/components/config-form/section-configs/tls.ts +++ b/web/src/components/config-form/section-configs/tls.ts @@ -3,7 +3,7 @@ import type { SectionConfigOverrides } from "./types"; const tls: SectionConfigOverrides = { base: { sectionDocs: "/configuration/tls", - restartRequired: [], + restartRequired: ["enabled"], fieldOrder: ["enabled", "cert", "key"], advancedFields: [], uiSchema: { diff --git a/web/src/components/config-form/section-configs/ui.ts b/web/src/components/config-form/section-configs/ui.ts index a30083cb5..2de77d879 100644 --- a/web/src/components/config-form/section-configs/ui.ts +++ b/web/src/components/config-form/section-configs/ui.ts @@ -18,6 +18,7 @@ const ui: SectionConfigOverrides = { "unit_system", ], advancedFields: [], + restartRequired: ["unit_system"], uiSchema: { timezone: { "ui:widget": "timezoneSelect",