frigate/frigate
Josh Hawkins d0f44de6bc
UI fixes (#23127)
* hide camera overrides badge from system sections

* show empty card on camera metrics page when no cameras are defined

* fix enabled camera state switch after adding via wizard

Cameras added mid-session have no WS state until the dispatcher publishes camera_activity (which only happens on a fresh onConnect). Fall back to the config's enabled value so the switch reflects reality immediately after the wizard closes.

* guard camera enabled access

console would throw errors after adding via camera wizard

* fix useOptimisticState dropping debounced setState under StrictMode

* use openvino on cpu as default model

- faster than tflite on cpu
- add to default generated config

* use an enum for model_size

the frontend will then render this as a select dropdown because of the changes in the json schema

* i18n

* sync object filter entries with tracked labels in camera config form

Filter sub-collapsibles in the camera Objects section are driven by `filters` dict keys, but profile merges and live track-switch edits don't add matching entries, so newly tracked labels (like from a profile override) had no collapsible. Synthesize default filter entries from `track` in the form data so every tracked label renders a collapsible; baseline data also gets the synthesized entries, so save payloads are unchanged.

* revalidate raw paths cache after config save so CameraPathWidget shows fresh credentials

* fix test

* restore masked ffmpeg credentials when persisting camera config

* formatting

* rebuild ffmpeg commands when enabling recording for the first time

Toggling record.enabled from the config UI updated the in-memory config but left ffmpeg running with its original command, so the record output args were never wired in and nothing landed in the cache for the maintainer to move. The record config update now rebuilds ffmpeg_cmds when enabled_in_config transitions, and the camera watchdog restarts ffmpeg on a false to true transition so the record output gets wired in. MQTT toggles, which only flip record.enabled at runtime, are unaffected and continue to work via the maintainer's drop/keep gate.

* keep record toggle switch in single camera view disabled until enabled in config

* fix override detection for sections unset in the global config

Override badges and the blue dot now compare against schema defaults for sections like motion that the API serializes as null when omitted from the global YAML, instead of treating any populated camera config as an override

* add support for config-aware patterns in section hiddenFields

Section configs can now declare dynamic hidden-field entries as functions of the loaded config; objects.ts uses this to hide auto-populated attribute filters (DHL, face, license_plate, etc.) from the form, save flow, and override popover when those labels aren't user-settable

* siimplify object filters handling

live updating was getting very messy. users will just need to save once they enable a new object in order to see filters for that object

* tweaks

* update docs for new detector default

* make genai provider required and add special case for UI

prevent validation errors from appearing on initial creation of genai provider by setting the first option in the select dropdown as default
2026-05-07 08:53:07 -05:00
..
api UI fixes (#23127) 2026-05-07 08:53:07 -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 UI fixes (#23127) 2026-05-07 08:53:07 -05:00
data_processing fix(face_recognition): feed BGR (not RGB) to FaceDetectorYN in manual detection branch (#23123) 2026-05-05 19:10:24 -05:00
db More mypy cleanup (#22658) 2026-03-26 12:54:12 -06:00
detectors ROCm Optimizations (#23118) 2026-05-05 16:33:43 -05:00
embeddings Miscellaneous fixes (#23032) 2026-04-29 16:20:19 -06:00
events Miscellaneous fixes (#23017) 2026-04-28 08:54:09 -06:00
genai Miscellaneous fixes (#23124) 2026-05-06 10:01:50 -06:00
images Replace green screen with error message and force camera_fps to 0 (#4544) 2022-11-28 21:47:20 -06:00
jobs Use Job infrastructure for Debug Replay (#23099) 2026-05-03 14:54:20 -06: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 (#23082) 2026-05-01 11:25:26 -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 Miscellaneous fixes (#23124) 2026-05-06 10:01:50 -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 metrics UI performance (#22691) 2026-03-29 11:58:47 -06:00
test UI fixes (#23127) 2026-05-07 08:53:07 -05:00
track Display more scores in Tracking Details (#22799) 2026-04-07 10:06:22 -06:00
util Rewrite intel stats (#23108) 2026-05-04 10:36:32 -05:00
video UI fixes (#23127) 2026-05-07 08:53:07 -05: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 remove temporary DB cleanup check (#22950) 2026-04-21 05:11:01 -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