frigate/frigate
Josh Hawkins 7413ce08d4
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
2026-05-17 11:54:21 -06:00
..
api Implement semantic query for chat (#23206) 2026-05-15 14:32:53 -05:00
camera send MQTT snapshot when object enters required zone (#22690) 2026-03-29 12:33:57 -05:00
comms Miscellaneous fixes (#23092) 2026-05-02 16:35:42 -06:00
config Merge detector and model in settings UI (#23216) 2026-05-17 11:54:21 -06:00
data_processing Miscellaneous fixes (#23177) 2026-05-12 10:20:39 -06:00
db More mypy cleanup (#22658) 2026-03-26 12:54:12 -06:00
detectors Fix multi-GPU OpenVINO detection for enrichments (#23188) 2026-05-13 11:22:55 -06:00
embeddings Miscellaneous fixes (#23177) 2026-05-12 10:20:39 -06:00
events Miscellaneous fixes (#23177) 2026-05-12 10:20:39 -06:00
genai Chat improvements (#23195) 2026-05-14 12:05:38 -05:00
images Replace green screen with error message and force camera_fps to 0 (#4544) 2022-11-28 21:47:20 -06:00
jobs API access improvements (#23183) 2026-05-13 10:40:29 -05:00
motion Optimize more mypy classes (#22637) 2026-03-25 12:53:19 -06:00
object_detection Optimize more mypy classes (#22637) 2026-03-25 12:53:19 -06:00
output Miscellaneous fixes (#23177) 2026-05-12 10:20:39 -06:00
ptz remove dead code and repair utf-8 preset names via latin-1 round trip (#22818) 2026-04-08 16:20:58 -05:00
record Gracefully handle transiently failing exists calls (#23172) 2026-05-12 12:34:46 -06:00
review Inverse mypy and more mypy fixes (#22645) 2026-03-25 19:30:59 -05:00
service_manager Add metrics page for embeddings and face / license plate processing times (#15818) 2025-02-08 12:47:01 -06:00
stats Improve Intel Stats (#23190) 2026-05-13 15:12:48 -06:00
test Merge detector and model in settings UI (#23216) 2026-05-17 11:54:21 -06:00
track Gracefully handle transiently failing exists calls (#23172) 2026-05-12 12:34:46 -06:00
util Miscellaneous fixes (#23201) 2026-05-15 10:06:38 -05:00
video Fixes (#23130) 2026-05-07 12:23:02 -06:00
__init__.py app container and config schema 2021-01-26 21:40:33 -06:00
__main__.py Handle SIGINT with forkserver (#18860) 2025-08-16 10:20:33 -05:00
app.py Gracefully handle transiently failing exists calls (#23172) 2026-05-12 12:34:46 -06:00
const.py Miscellaneous fixes (#23044) 2026-04-30 12:53:34 -05:00
debug_replay.py Use Job infrastructure for Debug Replay (#23099) 2026-05-03 14:54:20 -06:00
ffmpeg_presets.py Tweaks (#22656) 2026-03-26 13:47:24 -05:00
log.py Add languages (#21870) 2026-02-03 13:29:52 -06:00
models.py Improve motion review and add motion search (#22253) 2026-03-05 17:53:48 -06:00
mypy.ini More mypy cleanup (#22658) 2026-03-26 12:54:12 -06:00
plus.py fix: upload_image parses response body before checking HTTP status (#22475) 2026-03-16 17:34:30 -06:00
storage.py Improve readability by removing trailing digits caused by floating number conversion (#22934) 2026-04-20 06:35:48 -06:00
timeline.py Display more scores in Tracking Details (#22799) 2026-04-07 10:06:22 -06:00
types.py Media sync API refactor and UI (#21542) 2026-02-26 21:27:56 -07:00
watchdog.py Miscellaneous fixes (#23032) 2026-04-29 16:20:19 -06:00