mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-07-21 03:09:02 +03:00
Merge detector and model in settings UI (#23216)
* add embedded mode to BaseSection so parents can host the save action * add optional action slot to current Frigate+ model summary * add w-full to action slot flex wrapper for explicit width contract * i18n * merged detectors and model settings view * fix document title * Embed detector form in merged settings view * add detection model card with tabs and custom model embed * add Frigate+ model selector with filter popover to merged page * Add mismatch banner and gate save on detector and model compatibility * Wire atomic save, restart toast, and undo on detectors and model page * Clear child pending data on undo * route merged detectors and model view in settings * trim Frigate+ page to account-only and remove old detection model view * basic e2e * Fix unsaved-changes guard, custom path leak, and post-failure cache resync * Rename to Detectors and model, float Modified badge, use ConfigMessageBanner for mismatch * Hide Plus/Custom tabs when Frigate+ is not enabled * Detect active Plus model via model.plus.id instead of path prefix * Sync state back to snapshot when child form un-modifies and remount on undo * Always require restart on save since model changes also need one * Wrap Frigate+ model selector in SplitCardRow with label and description * rename tab * update docs * sync top-level model with default detector's resolved model when the user doesn't define a top-level `model:` block, `FrigateConfig.model` stayed at pydantic field defaults (320×320, /labelmap.txt) while the per-detector model picked up `DEFAULT_MODEL` for openvino on cpu (300×300, coco_91cl_bkgr.txt introduced in #23127), causing `RemoteObjectDetector` to fail with "buffer is too small for requested array" because the SHM was sized from the per-detector model but mapped using the top-level one. After the detector loop, copy the first detector's resolved model up to `self.model` so both sides agree on dimensions and labelmap * revert to cpu detector by default use openvino cpu for new configs only * add defaults
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
"globalConfig": "Global Configuration - Frigate",
|
||||
"cameraConfig": "Camera Configuration - Frigate",
|
||||
"frigatePlus": "Frigate+ Settings - Frigate",
|
||||
"detectorsAndModel": "Detectors and model - Frigate",
|
||||
"notifications": "Notification Settings - Frigate",
|
||||
"maintenance": "Maintenance - Frigate",
|
||||
"profiles": "Profiles - Frigate"
|
||||
@@ -69,8 +70,7 @@
|
||||
"systemTelemetry": "Telemetry",
|
||||
"systemBirdseye": "Birdseye",
|
||||
"systemFfmpeg": "FFmpeg",
|
||||
"systemDetectorHardware": "Detector hardware",
|
||||
"systemDetectionModel": "Detection model",
|
||||
"systemDetectorsAndModel": "Detectors and model",
|
||||
"systemMqtt": "MQTT",
|
||||
"systemGo2rtcStreams": "go2rtc streams",
|
||||
"integrationSemanticSearch": "Semantic search",
|
||||
@@ -1135,7 +1135,7 @@
|
||||
"loading": "Loading model information…",
|
||||
"error": "Failed to load model information",
|
||||
"noModelLoaded": "No Frigate+ model is currently loaded.",
|
||||
"availableModels": "Available Models",
|
||||
"availableModels": "Available Frigate+ models",
|
||||
"loadingAvailableModels": "Loading available models…",
|
||||
"selectModel": "Select a model",
|
||||
"noModelsAvailable": "No models available",
|
||||
@@ -1146,6 +1146,7 @@
|
||||
},
|
||||
"modelSelect": "Your available models on Frigate+ can be selected here. Note that only models compatible with your current detector configuration can be selected."
|
||||
},
|
||||
"changeInDetectorsAndModel": "Change model",
|
||||
"unsavedChanges": "Unsaved Frigate+ settings changes",
|
||||
"restart_required": "Restart required (Frigate+ model changed)",
|
||||
"toast": {
|
||||
@@ -1153,14 +1154,30 @@
|
||||
"error": "Failed to save config changes: {{errorMessage}}"
|
||||
}
|
||||
},
|
||||
"detectionModel": {
|
||||
"plusActive": {
|
||||
"title": "Frigate+ model management",
|
||||
"label": "Current model source",
|
||||
"description": "This instance is running a Frigate+ model. Select or change your model in Frigate+ settings.",
|
||||
"goToFrigatePlus": "Go to Frigate+ settings",
|
||||
"showModelForm": "Manually configure a model"
|
||||
}
|
||||
"detectorsAndModel": {
|
||||
"title": "Detectors and model",
|
||||
"description": "Configure the detector backend that runs object detection and the model it uses. Changes are saved together so the detector and model stay in sync.",
|
||||
"cardTitles": {
|
||||
"detector": "Detector Hardware",
|
||||
"model": "Detection Model"
|
||||
},
|
||||
"tabs": {
|
||||
"plus": "Frigate+",
|
||||
"custom": "Custom Model"
|
||||
},
|
||||
"mismatch": {
|
||||
"warning": "The current Frigate+ model \"{{model}}\" requires the {{required}} detector. Pick a compatible model below or switch to Custom Model before saving."
|
||||
},
|
||||
"plusModel": {
|
||||
"requiresDetector": "Requires: {{detector}}",
|
||||
"noModelSelected": "Select a Frigate+ model"
|
||||
},
|
||||
"toast": {
|
||||
"saveSuccess": "Detectors and model settings saved. Restart Frigate to apply changes.",
|
||||
"saveError": "Failed to save detector and model settings"
|
||||
},
|
||||
"unsavedChanges": "Unsaved detector and model changes",
|
||||
"restartRequired": "Restart required (detector or model changed)"
|
||||
},
|
||||
"triggers": {
|
||||
"documentTitle": "Triggers",
|
||||
|
||||
Reference in New Issue
Block a user