* filter replay camera from camera selectors
* add face rec and lpr to replay configuration sheet
* add missing config topic subscriptions in embeddings maintainer
* pop replay camera from config object when stopping
* ensure motion masks from source camera are copied to replay
* stop polling debug_replay/status after live_ready
* use vod for constructing replay clips
* render orphaned filter entries as collapsibles instead of the Key/Value editor
* Symlink for various AI files
* change replay confg dialog to platform aware sheet
* change agents title
* fix test
* tweak collapsible
* remove camera ui section in settings
no point to having it anymore with profiles and camera management settings
* fix admin response cache leak to non-admin users via nginx proxy_cache
* add model fetcher endpoint for genai config ui
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
Currently translated at 100.0% (1162 of 1162 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1150 of 1150 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (50 of 50 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1141 of 1141 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.8% (1128 of 1141 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (473 of 473 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (794 of 794 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1122 of 1122 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (792 of 792 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (237 of 237 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (471 of 471 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Edward Zhang <hsrzq@126.com>
Co-authored-by: GuoQing Liu <842607283@qq.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-chat
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (1171 of 1171 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (811 of 811 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (1150 of 1150 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (50 of 50 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (1141 of 1141 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (1137 of 1137 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (175 of 175 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (1129 of 1129 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (794 of 794 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (145 of 145 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (473 of 473 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (129 of 129 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (45 of 45 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (59 of 59 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (64 of 64 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (237 of 237 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (40 of 40 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (237 of 237 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (471 of 471 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (101 of 101 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (1122 of 1122 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (792 of 792 strings)
Translated using Weblate (Spanish)
Currently translated at 52.5% (31 of 59 strings)
Translated using Weblate (Spanish)
Currently translated at 99.4% (174 of 175 strings)
Translated using Weblate (Spanish)
Currently translated at 23.3% (110 of 471 strings)
Translated using Weblate (Spanish)
Currently translated at 68.8% (31 of 45 strings)
Translated using Weblate (Spanish)
Currently translated at 21.8% (173 of 792 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (100 of 100 strings)
Translated using Weblate (Spanish)
Currently translated at 62.3% (63 of 101 strings)
Translated using Weblate (Spanish)
Currently translated at 40.6% (35 of 86 strings)
Translated using Weblate (Spanish)
Currently translated at 80.0% (32 of 40 strings)
Translated using Weblate (Spanish)
Currently translated at 67.6% (759 of 1122 strings)
Translated using Weblate (Spanish)
Currently translated at 70.3% (45 of 64 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: jjavin <javiernovoa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/es/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/es/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/common
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-chat
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-replay
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
Currently translated at 100.0% (794 of 794 strings)
Translated using Weblate (Dutch)
Currently translated at 83.0% (49 of 59 strings)
Translated using Weblate (Dutch)
Currently translated at 83.9% (397 of 473 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (1150 of 1150 strings)
Translated using Weblate (Dutch)
Currently translated at 15.2% (72 of 473 strings)
Translated using Weblate (Dutch)
Currently translated at 30.0% (15 of 50 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (45 of 45 strings)
Translated using Weblate (Dutch)
Currently translated at 10.2% (81 of 794 strings)
Translated using Weblate (Dutch)
Currently translated at 59.3% (35 of 59 strings)
Translated using Weblate (Dutch)
Currently translated at 35.0% (14 of 40 strings)
Translated using Weblate (Dutch)
Currently translated at 23.7% (14 of 59 strings)
Translated using Weblate (Dutch)
Currently translated at 24.4% (11 of 45 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (26 of 26 strings)
Translated using Weblate (Dutch)
Currently translated at 63.4% (712 of 1122 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (25 of 25 strings)
Translated using Weblate (Dutch)
Currently translated at 11.8% (7 of 59 strings)
Translated using Weblate (Dutch)
Currently translated at 20.0% (8 of 40 strings)
Translated using Weblate (Dutch)
Currently translated at 8.8% (4 of 45 strings)
Translated using Weblate (Dutch)
Currently translated at 10.1% (80 of 792 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (22 of 22 strings)
Translated using Weblate (Dutch)
Currently translated at 93.7% (121 of 129 strings)
Co-authored-by: Bart Smeding <bartsmeding@gmail.com>
Co-authored-by: Björn Vanneste <info@nidhhoggr.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hosted Weblate user 151476 <marijndekker3@gmail.com>
Co-authored-by: bb61523 <brambini@gmail.com>
Co-authored-by: soosterwaal <sebastiaan@bg-engineering.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-player/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/nl/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nl/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/Config - Validation
Translation: Frigate NVR/components-player
Translation: Frigate NVR/views-chat
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-replay
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (53 of 53 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (811 of 811 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1171 of 1171 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1162 of 1162 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1151 of 1151 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1150 of 1150 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1141 of 1141 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (794 of 794 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (50 of 50 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1141 of 1141 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (501 of 501 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1137 of 1137 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (60 of 60 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (473 of 473 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1129 of 1129 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (794 of 794 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1122 of 1122 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (237 of 237 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Eduardo Pastor Fernández <123eduardoneko123@gmail.com>
Co-authored-by: Gerard Ricart Castells <gerard.ricart@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/ca/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ca/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-chat
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Currently translated at 100.0% (127 of 127 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (237 of 237 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (127 of 127 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/et/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/et/
Translation: Frigate NVR/common
Translation: Frigate NVR/objects
Currently translated at 31.8% (7 of 22 strings)
Translated using Weblate (Thai)
Currently translated at 22.8% (40 of 175 strings)
Translated using Weblate (Thai)
Currently translated at 15.2% (9 of 59 strings)
Translated using Weblate (Thai)
Currently translated at 15.5% (7 of 45 strings)
Translated using Weblate (Thai)
Currently translated at 0.5% (4 of 794 strings)
Translated using Weblate (Thai)
Currently translated at 16.0% (4 of 25 strings)
Translated using Weblate (Thai)
Currently translated at 16.0% (8 of 50 strings)
Translated using Weblate (Thai)
Currently translated at 13.5% (8 of 59 strings)
Translated using Weblate (Thai)
Currently translated at 37.5% (24 of 64 strings)
Translated using Weblate (Thai)
Currently translated at 21.7% (38 of 175 strings)
Translated using Weblate (Thai)
Currently translated at 12.0% (3 of 25 strings)
Translated using Weblate (Thai)
Currently translated at 11.6% (10 of 86 strings)
Translated using Weblate (Thai)
Currently translated at 14.0% (7 of 50 strings)
Translated using Weblate (Thai)
Currently translated at 13.3% (6 of 45 strings)
Translated using Weblate (Thai)
Currently translated at 7.8% (90 of 1141 strings)
Translated using Weblate (Thai)
Currently translated at 0.3% (3 of 794 strings)
Translated using Weblate (Thai)
Currently translated at 4.6% (6 of 129 strings)
Translated using Weblate (Thai)
Currently translated at 1.2% (6 of 473 strings)
Translated using Weblate (Thai)
Currently translated at 77.6% (184 of 237 strings)
Translated using Weblate (Thai)
Currently translated at 9.6% (14 of 145 strings)
Translated using Weblate (Thai)
Currently translated at 27.2% (6 of 22 strings)
Translated using Weblate (Thai)
Currently translated at 8.0% (2 of 25 strings)
Translated using Weblate (Thai)
Currently translated at 11.8% (7 of 59 strings)
Translated using Weblate (Thai)
Currently translated at 8.8% (4 of 45 strings)
Translated using Weblate (Thai)
Currently translated at 10.4% (9 of 86 strings)
Translated using Weblate (Thai)
Currently translated at 16.0% (16 of 100 strings)
Translated using Weblate (Thai)
Currently translated at 21.1% (37 of 175 strings)
Translated using Weblate (Thai)
Currently translated at 15.0% (6 of 40 strings)
Translated using Weblate (Thai)
Currently translated at 45.0% (27 of 60 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ton Zabretooth <zabretooth@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-cameras/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-global/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-groups/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/config-validation/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-chat/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-motionsearch/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-replay/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/th/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/th/
Translation: Frigate NVR/Config - Cameras
Translation: Frigate NVR/Config - Global
Translation: Frigate NVR/Config - Groups
Translation: Frigate NVR/Config - Validation
Translation: Frigate NVR/common
Translation: Frigate NVR/views-chat
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-events
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-exports
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-live
Translation: Frigate NVR/views-motionSearch
Translation: Frigate NVR/views-replay
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
* filter outbound ws broadcasts by per-recipient camera access
* fan out config updates to comms
* tests
* mypy
* allow viewers to use jobstate
* update agent instructions
* remove vitest
* Ensure runtime options are passed
* Add attribute info to prompt when configured
* Move GenAI plugins to dedicated directory
* Migrate prompts to dedicated folder
* Move chat prompts to prompts
* Implement reasoning traces in the UI
* Cleanup
* Make azure a subclass of openai
* Implement reasoning for other providers
* mypy
* Cleanup
* preserve user-set min_score on attribute filters instead of bumping any 0.5 value
use model_fields_set to distinguish "user explicitly set min_score" from "Pydantic applied the generic FilterConfig default of 0.5"
* add config test for attributes
* fix attributes frontend type
* add expanded hidden field context
* extend schema modification
* special case for attributes
* i18n for attributes
* handle dedicated lpr mode
* strip unrendered FilterConfig fields from attribute filter form data to fix validation errors
* start audio transcription post processor when enabled on any camera
* Fetch embed key whenever an error occurs in case the llama server was restarted
* mypy
* add tooltips for colored dots in settings menu
* add ability to reorder cameras from management pane
* add ability to reorder birdseye
* add reordering save text to camera management view
* Include NPU in latency performance hint
* Implement turbo for NPU on object detection
* hide order fields
* drop auto-derived field paths from camera value when unset globally
* use correct field type for export hwaccel args
* add debug replay to detail actions menu
* clarify debug replay in docs
* guard get_current_frame_time against missing camera state
* Implement debug reply from export
* Refactor debug replay to use sources for dynamic playback
* Mypy
* fix debug export replay source timestamp handling
* skip replay cameras in stats immediately
* broadcast debug replay state over ws and buffer pre-OPEN sends
- push debug replay session state over the job_state ws topic so the status bar reacts instantly to start/stop without polling
- fix child-effect-before-parent-effect race in WsProvider that silently dropped initial snapshot requests on cold load
* fix debug replay test hang
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* detector UI fixes
- derive detector and model from memo rather than using two drain useeffects
- sanitize save payload through sanitizeSectionData to prevent yaml validation issues
* increase display duration for restart required toasts
* mimic logic in detector section for save all button
also, increase toast duration for restart required toasts
* fixes and tweaks
- use section hidden fields for sanitization instead of duplicating code
- use parent hooks so save all, pending data, and the status dots work correctly
* 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
* sync filter entries with track and listen labels
- Auto-populate `audio.filters` from `audio.listen` instead of the full audio labelmap, matching how `objects.filters` is keyed by `track` (no longer need to populate the full audio labelmap, which was added in #22630)
- Synthesize the matching filter entries in the settings form on load so each track/listen label shows its collapsible after a profile is selected, since the backend's auto-populate only runs at config init
* translate main label for lifecycle description with attribute
* reject restricted go2rtc stream sources when added via api
* add env var check function
* Support token streaming stats
* Propogate streaming token stats to chat calls
* Show token stats for each image
* Add settings to handle token stats and other options
* i18n
* Use select
* Improve mobile layout and spacing
On multi-GPU systems, OpenVINO enumerates devices as "GPU.0", "GPU.1",
etc. rather than a single "GPU". The exact string match in
is_openvino_gpu_npu_available() fails to recognize these suffixed device
names, causing enrichments (face recognition, semantic search) to
silently fall back to CPU-only inference via ONNXModelRunner instead of
using OpenVINOModelRunner on GPU.
Switch from exact match to prefix match so both single-GPU ("GPU") and
multi-GPU ("GPU.0", "GPU.1") device names are correctly detected, along
with any future suffixed variants for NPU and other accelerators.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* improve scroll handling for non-modal DropdownMenu in classification and face selection dialogs
* clean up
* fix incorrect key capitalization
* fix profile array overrides not replacing base arrays
don't use lodash merge(), it does positional merging and an empty source array doesn't override the destination, and shorter arrays leak destination elements through.
backend is unaffected, so the saved config and actual backend functionality was right
* only show audio debug tab when audio is enabled in config
* move apple_compatibility out of advanced
* remove retry_interval from UI
99% of users should never be changing this
* hide switch in optionalfieldwidget if editing a profile
* add override badges for cameras and profiles
collect shared functions into the config util and separate hooks
* Use new models endpoint info to determine modalities
* clarify language
* fix linter
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* restrict viewer access to logs, labels, and go2rtc stream list
* filter stats data for non admins
* track creator on vlm watch jobs and scope view/cancel to admin or creator
* add shortcut for admins in /stats
I have a very repeatable reproduction of an issue where most of my
cameras show a "No frames have been received, check error logs" image in
the UI, but restreaming in HomeAssistant is working flawlessly. The only
errors in the logs I saw were some like this:
`OSError: [Errno 121] Remote I/O error`.
Doing a bit more debugging, it looked like Frigate was failing to create
the thumbnail directory for a camera because it already existed. This
error was a clue as to the class of error. I was surprised to learn that
`os.path.exists` [silently suppresses errors from
os.stat and returns False](https://github.com/python/cpython/blob/main/Lib/genericpath.py#L22).
This makes for a plausible series of events: a transient stat call
fails, so Frigate takes the creation path, which gets upset that the
directory already exists.
I found a few other possible cases to fix but did not make an exhaustive
search. It seems that this `exist_ok` flag is used elsewhere within
Frigate so I thought it would be a good solution.
AI disclosure: I used AI to diagnose my issue and asked it to translate
its init-time patches to the container source into this repo. I verified
that its patches solved the problem I was facing. Its theory fits the
facts - I am using a distributed file system and I saw the error in my
logs. I checked the upstream Python code to verify the error suppression
behavior, and read the corresponding Frigate code. I did not use AI to
author this commit message/PR description; all diction and typos here are my own.