Commit Graph

5417 Commits

Author SHA1 Message Date
Josh Hawkins
5a1ec5d729 remove profile badge in settings and add profiles to main menu 2026-03-12 08:32:23 -05:00
Josh Hawkins
39500b20a0 implement profile friendly names and improve profile UI
- Add ProfileDefinitionConfig type and profiles field to FrigateConfig
- Use ProfilesApiResponse type with friendly_name support throughout
- Replace Record<string, unknown> with proper JsonObject/JsonValue types
- Add profile creation form matching zone pattern (Zod + NameAndIdFields)
- Add pencil icon for renaming profile friendly names in ProfilesView
- Move Profiles menu item to first under Camera Configuration
- Add activity indicators on save/rename/delete buttons
- Display friendly names in CameraManagementView profile selector
- Fix duplicate colored dots in management profile dropdown
- Fix i18n namespace for overridden base config tooltips
- Move profile override deletion from dropdown trash icon to footer
  button with confirmation dialog, matching Reset to Global pattern
- Remove Add Profile from section header dropdown to prevent saving
  camera overrides before top-level profile definition exists
- Clean up newProfiles state after API profile deletion
- Refresh profiles SWR cache after saving profile definitions
2026-03-11 20:55:56 -05:00
Josh Hawkins
0b3c6ed22e add top-level profiles config section with friendly names 2026-03-11 19:50:31 -05:00
Josh Hawkins
dace54734b more unique colors 2026-03-11 16:21:41 -05:00
Josh Hawkins
210d203fa4 fix mask deletion 2026-03-11 16:04:17 -05:00
Josh Hawkins
5c23555882 implement an update_config method for profile manager 2026-03-11 15:57:27 -05:00
Josh Hawkins
5ec1b1841c refactor profilesview and add dots/border colors when overridden 2026-03-11 15:51:29 -05:00
Josh Hawkins
33e4dddb3e rename profile settings to ui settings 2026-03-11 12:35:45 -05:00
Josh Hawkins
6dd8aa912e ensure profile manager gets updated config 2026-03-11 12:35:34 -05:00
Josh Hawkins
8072c991cd ui tweaks 2026-03-11 12:35:13 -05:00
Josh Hawkins
3cdb40610f fix profile save diff, masksAndZones delete, and config sync 2026-03-11 12:04:35 -05:00
Josh Hawkins
7925d120ae tweak colors and switch 2026-03-11 11:36:15 -05:00
Josh Hawkins
18d413fbee tweaks 2026-03-11 11:35:12 -05:00
Josh Hawkins
98e9e79881 formatting 2026-03-11 11:07:23 -05:00
Josh Hawkins
a0849b104c add profiles enable toggle and improve empty state 2026-03-11 11:05:18 -05:00
Josh Hawkins
096a13bce9 move profile dropdown from section panes to settings header 2026-03-11 11:01:51 -05:00
Josh Hawkins
eccad7aa21 add face_recognition and lpr to profile-eligible sections 2026-03-11 10:35:38 -05:00
Josh Hawkins
cd58329796 fix hidden field validation errors caused by lodash wildcard and schema gaps
lodash unset does not support wildcard (*) segments, so hidden fields like
filters.*.mask were never stripped from form data, leaving null raw_coordinates
that fail RJSF anyOf validation. Add unsetWithWildcard helper and also strip
hidden fields from the JSON schema itself as defense-in-depth.
2026-03-11 10:35:19 -05:00
Josh Hawkins
379247dee6 profile support for mask and zone editor 2026-03-11 07:16:44 -05:00
Josh Hawkins
6205a9d588 add red dot for any pending changes including profiles 2026-03-09 16:08:50 -05:00
Josh Hawkins
53f80a06a5 i18n 2026-03-09 16:06:22 -05:00
Josh Hawkins
fa49e0e7b1 add active profile badge to settings toolbar 2026-03-09 15:57:24 -05:00
Josh Hawkins
fe7aa2ba3d add profiles summary page with card-based layout and fix backend zone comparison bug 2026-03-09 15:52:26 -05:00
Josh Hawkins
7131acafa6 add per-profile camera enable/disable to Camera Management view 2026-03-09 15:35:35 -05:00
Josh Hawkins
94dbabd0ef add profile section dropdown and wire into camera settings pages 2026-03-09 15:20:50 -05:00
Josh Hawkins
d5dc77daa4 add profileName prop to BaseSection for profile-aware config editing 2026-03-09 15:11:56 -05:00
Josh Hawkins
edf7fcb5b4 add profile state management and save preview support 2026-03-09 15:06:11 -05:00
Josh Hawkins
72b4a4ddad add frontend profile types, color utility, and config save support 2026-03-09 15:00:25 -05:00
Josh Hawkins
60930e50c2 add zones support to camera profiles 2026-03-09 14:47:29 -05:00
Josh Hawkins
d15fc4e58e add enabled field to camera profiles for enabling/disabling cameras 2026-03-09 14:47:29 -05:00
Josh Hawkins
7c6926d1e6 consolidate 2026-03-09 14:47:29 -05:00
Josh Hawkins
708399508b fix CameraLiveConfig JSON serialization error on profile activation
refactor _publish_updates to only publish ZMQ updates for
sections that actually changed, not all sections on affected cameras.
2026-03-09 14:47:29 -05:00
Josh Hawkins
61746984d1 formatting 2026-03-09 14:47:29 -05:00
Josh Hawkins
9efc2499f6 add tests for invalid profile values and keys
Tests that Pydantic rejects: invalid field values (fps: "not_a_number"),
unknown section keys (ffmpeg in profile), invalid nested values, and
invalid profiles in full config parsing.
2026-03-09 14:47:29 -05:00
Josh Hawkins
26ec07985c wire ProfileManager into app startup and FastAPI
- Create ProfileManager after dispatcher init
- Restore persisted profile on startup
- Pass dispatcher and profile_manager to FastAPI app
2026-03-09 14:47:29 -05:00
Josh Hawkins
76c65bbf6d add MQTT and dispatcher integration for profiles
- Subscribe to frigate/profile/set MQTT topic
- Publish profile/state and profiles/available on connect
- Add _on_profile_command handler to dispatcher
- Broadcast active profile state on WebSocket connect
2026-03-09 14:47:29 -05:00
Josh Hawkins
f76bb9cfb8 add profile API endpoints (GET /profiles, GET/PUT /profile) 2026-03-09 14:47:29 -05:00
Josh Hawkins
c367e5c95a add ProfileManager for profile activation and persistence
Handles snapshotting base configs, applying profile overrides via
deep_merge + apply_section_update, publishing ZMQ updates, and
persisting active profile to /config/.active_profile.
2026-03-09 14:47:29 -05:00
Josh Hawkins
1c190220cb add active_profile field to FrigateConfig
Runtime-only field excluded from YAML serialization, tracks which
profile is currently active.
2026-03-09 14:47:29 -05:00
Josh Hawkins
ea2252d09f add profiles field to CameraConfig 2026-03-09 14:47:29 -05:00
Josh Hawkins
0381c96973 add CameraProfileConfig model for named config overrides 2026-03-09 14:47:29 -05:00
Josh Hawkins
dd9497baf2
Add ability to delete cameras (#22336)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* refactor camera cleanup code to generic util

* add api endpoint for deleting a camera

* frontend

* i18n

* clean up
2026-03-08 16:23:48 -06:00
Josh Hawkins
e930492ccc
Publish license plate box coordinates (#22337)
* publish the detected plate's box coordinates in tracked_object_update

* docs
2026-03-08 16:22:38 -06:00
Josh Hawkins
b2c7840c29
Refactor enrichment confg updater (#22325)
* enrichment updater and enum

* update_config stubs

* config updaters in enrichments

* update maintainer

* formatting

* simplify enrichment config updates to use single subscriber with topic-based routing
2026-03-08 14:14:18 -06:00
Josh Hawkins
df27e04c0f
Frontend updates (#22327)
* add optional field widget

adds a switch to enable nullable fields like skip_motion_threshold

* config field updates

add skip_motion_threshold optional switch
add fps back to detect restart required

* don't use ternary operator when displaying motion previews

the main previews were being unnecessarily unmounted

* lazy mount motion preview clips to reduce DOM overhead
2026-03-08 12:27:53 -05:00
Nicolas Mowen
ef07563d0a
Update onnx deps to support 50 series GPUs (#22324)
* Update support for newer Nvidia GPUs

* Update

* Cleanup

* Update gitignore
2026-03-08 11:45:29 -05:00
Nicolas Mowen
a705f254e5
Support using GenAI for embeddings / semantic search (#22323)
* Support GenAI for embeddings

* Add embed API support

* Add support for embedding via genai

* Basic docs

* undo

* Fix sending images

* Don't require download check

* Set model

* Handle emb correctly

* Clarification

* Cleanup

* Cleanup
2026-03-08 10:55:00 -05:00
Josh Hawkins
acdfed40a9
Improve annotation offset UX (#22310)
Some checks failed
CI / AMD64 Build (push) Has been cancelled
CI / ARM Build (push) Has been cancelled
CI / Jetson Jetpack 6 (push) Has been cancelled
CI / AMD64 Extra Build (push) Has been cancelled
CI / ARM Extra Build (push) Has been cancelled
CI / Synaptics Build (push) Has been cancelled
CI / Assemble and push default build (push) Has been cancelled
* keep nav buttons visible

nav buttons would be hidden when closing and reopening dialog after selecting the tracking details pane

* better ux in tracking details

actually pause the video and seek when annotation offset changes to make it easier to visually line up the bounding box

* improve detail stream ux

* update dummy camera docs

* fix docs link
2026-03-07 07:50:00 -06:00
Josh Hawkins
889dfca36c
Frontend fixes (#22309)
* prevent unnecessary reloads in useUserPersistence hook

* always render ProtectedRoute (handling undefined roles internally) and add Suspense fallback

* add missing i18n namespaces

react 19 enforces Suspense more strictly, so components using useTranslation() with unloaded namespaces would suspend, blanking the content behind the empty Suspense fallback

* add missing namespace

* remove unneeded

* remove modal from actions dropdown
2026-03-07 06:43:00 -07:00
Josh Hawkins
dda9f7bfed
apply filters after clustering (#22308)
apply length and format filters to the clustered representative plate rather than individual OCR readings, so noisy variants still contribute to clustering even when they don't pass on their own
2026-03-07 06:42:27 -07:00