Commit Graph

797 Commits

Author SHA1 Message Date
Josh Hawkins
e9108dc471 tweaks 2026-02-27 09:40:21 -06:00
Josh Hawkins
59b0f3a680 add docs links, readonly keys, and restart required per field 2026-02-27 09:40:21 -06:00
Josh Hawkins
edc980ab8b tweaks 2026-02-27 09:40:21 -06:00
Josh Hawkins
b9149b6366 mark pending changes and add confirmation dialog for resets 2026-02-27 09:40:21 -06:00
Josh Hawkins
88578284a5 update nav tree 2026-02-27 09:40:21 -06:00
Josh Hawkins
09ceff9bd8 add custom validation and use it for ffmpeg input roles 2026-02-27 09:40:21 -06:00
Josh Hawkins
f00a6af905 remove unused i18n 2026-02-27 09:40:21 -06:00
Josh Hawkins
123e12cee8 fix review description 2026-02-27 09:40:21 -06:00
Josh Hawkins
3c5298e304 add ability to render components before and after fields 2026-02-27 09:40:20 -06:00
Josh Hawkins
e09928a7f0 refactor sections and overrides 2026-02-27 09:40:20 -06:00
Josh Hawkins
5e8de5a911 clean up now obsolete namespaces 2026-02-27 09:40:20 -06:00
Josh Hawkins
3f7f5e3253 separate and consolidate global and camera i18n namespaces 2026-02-27 09:40:20 -06:00
Josh Hawkins
8f681d5689 add section description from schema and clarify global vs camera level descriptions 2026-02-27 09:40:20 -06:00
Josh Hawkins
4dc039072a add field template for additionalproperties schema objects 2026-02-27 09:40:20 -06:00
Josh Hawkins
06c21bf6f2 add wildcards and fix object filter fields 2026-02-27 09:40:20 -06:00
Josh Hawkins
ba1d5d42c5 form tweaks 2026-02-27 09:40:20 -06:00
Josh Hawkins
bc5c29fda1 rebase 2026-02-27 09:40:20 -06:00
Josh Hawkins
eecc00865d tweaks 2026-02-27 09:40:20 -06:00
Josh Hawkins
637a38fc0f tweaks 2026-02-27 09:40:20 -06:00
Josh Hawkins
30db891837 new titles as i18n 2026-02-27 09:40:20 -06:00
Josh Hawkins
aad24497bf add config groups as a separate i18n namespace 2026-02-27 09:37:57 -06:00
Josh Hawkins
e916f5b582 add missing i18n keys 2026-02-27 09:37:57 -06:00
Josh Hawkins
40b59c5d0c add array field item template and fix ffmpeg section 2026-02-27 09:37:57 -06:00
Josh Hawkins
bc5d7cf575 i18n tweaks 2026-02-27 09:37:57 -06:00
Josh Hawkins
0b148d66f3 fix array field template 2026-02-27 09:37:57 -06:00
Josh Hawkins
f534c7216a improve generic error validation messages 2026-02-27 09:37:57 -06:00
Josh Hawkins
dd0c497fd3 generic and custom per-field validation 2026-02-27 09:37:57 -06:00
Josh Hawkins
55c6c50c97 fix sections and live validation 2026-02-27 09:37:57 -06:00
Josh Hawkins
f9e5969b7d i18n 2026-02-27 09:37:57 -06:00
Josh Hawkins
72ab1f93b5 add switches widgets and use friendly names 2026-02-27 09:37:57 -06:00
Josh Hawkins
6a664f4624 motion i18n 2026-02-27 09:37:57 -06:00
Josh Hawkins
bd0bafc05e add descriptions to all fields for i18n 2026-02-27 09:37:57 -06:00
Josh Hawkins
425e68c51c don't use properties wrapper when generating config i18n json 2026-02-27 09:37:56 -06:00
Josh Hawkins
68c74fef05 use react-jsonschema-form for UI config 2026-02-27 09:37:56 -06:00
Eric Work
2db0269825 Add networking options for configuring listening ports (#21779) 2026-02-26 21:27:56 -07:00
Josh Hawkins
b66e69efc9 Media sync API refactor and UI (#21542)
* generic job infrastructure

* types and dispatcher changes for jobs

* save data in memory only for completed jobs

* implement media sync job and endpoints

* change logs to debug

* websocket hook and types

* frontend

* i18n

* docs tweaks

* endpoint descriptions

* tweak docs
2026-02-26 21:27:56 -07:00
Josh Hawkins
63e7bf8b28 Add media sync API endpoint (#21526)
* add media cleanup functions

* add endpoint

* remove scheduled sync recordings from cleanup

* move to utils dir

* tweak import

* remove sync_recordings and add config migrator

* remove sync_recordings

* docs

* remove key

* clean up docs

* docs fix

* docs tweak
2026-02-26 21:27:56 -07:00
Nicolas Mowen
9ef8b70208 Exports Improvements (#21521)
* Add images to case folder view

* Add ability to select case in export dialog

* Add to mobile review too
2026-02-26 21:27:56 -07:00
Nicolas Mowen
6b77952b72 Add support for GPU and NPU temperatures (#21495)
* Add rockchip temps

* Add support for GPU and NPU temperatures in the frontend

* Add support for Nvidia temperature

* Improve separation

* Adjust graph scaling
2026-02-26 21:27:56 -07:00
Josh Hawkins
dde738cfdc Camera connection quality indicator (#21297)
* add camera connection quality metrics and indicator

* formatting

* move stall calcs to watchdog

* clean up

* change watchdog to 1s and separately track time for ffmpeg retry_interval

* implement status caching to reduce message volume
2026-02-26 21:27:56 -07:00
Nicolas Mowen
004bb7d80d Case management UI (#21299)
* Refactor export cards to match existing cards in other UI pages

* Show cases separately from exports

* Add proper filtering and display of cases

* Add ability to edit and select cases for exports

* Cleanup typing

* Hide if no unassigned

* Cleanup hiding logic

* fix scrolling

* Improve layout
2026-02-26 21:27:56 -07:00
Nicolas Mowen
451d6f5c22
Revert "Early 0.18 work (#22138)" (#22142)
This reverts commit d24b96d3bb.
2026-02-26 21:27:31 -07:00
Nicolas Mowen
d24b96d3bb
Early 0.18 work (#22138)
* Update version

* Create scaffolding for case management (#21293)

* implement case management for export apis (#21295)

* refactor vainfo to search for first GPU (#21296)

use existing LibvaGpuSelector to pick appropritate libva device

* Case management UI (#21299)

* Refactor export cards to match existing cards in other UI pages

* Show cases separately from exports

* Add proper filtering and display of cases

* Add ability to edit and select cases for exports

* Cleanup typing

* Hide if no unassigned

* Cleanup hiding logic

* fix scrolling

* Improve layout

* Camera connection quality indicator (#21297)

* add camera connection quality metrics and indicator

* formatting

* move stall calcs to watchdog

* clean up

* change watchdog to 1s and separately track time for ffmpeg retry_interval

* implement status caching to reduce message volume

* Export filter UI (#21322)

* Get started on export filters

* implement basic filter

* Implement filtering and adjust api

* Improve filter handling

* Improve navigation

* Cleanup

* handle scrolling

* Refactor temperature reporting for detectors and implement Hailo temp reading (#21395)

* Add Hailo temperature retrieval

* Refactor `get_hailo_temps()` to use ctxmanager

* Show Hailo temps in system UI

* Move hailo_platform import to get_hailo_temps

* Refactor temperatures calculations to use within detector block

* Adjust webUI to handle new location

---------

Co-authored-by: tigattack <10629864+tigattack@users.noreply.github.com>

* Camera-specific hwaccel settings for timelapse exports (correct base) (#21386)

* added hwaccel_args to camera.record.export config struct

* populate camera.record.export.hwaccel_args with a cascade up to camera then global if 'auto'

* use new hwaccel args in export

* added documentation for camera-specific hwaccel export

* fix c/p error

* missed an import

* fleshed out the docs and comments a bit

* ruff lint

* separated out the tips in the doc

* fix documentation

* fix and simplify reference config doc

* Add support for GPU and NPU temperatures (#21495)

* Add rockchip temps

* Add support for GPU and NPU temperatures in the frontend

* Add support for Nvidia temperature

* Improve separation

* Adjust graph scaling

* Exports Improvements (#21521)

* Add images to case folder view

* Add ability to select case in export dialog

* Add to mobile review too

* Add API to handle deleting recordings  (#21520)

* Add recording delete API

* Re-organize recordings apis

* Fix import

* Consolidate query types

* Add media sync API endpoint (#21526)

* add media cleanup functions

* add endpoint

* remove scheduled sync recordings from cleanup

* move to utils dir

* tweak import

* remove sync_recordings and add config migrator

* remove sync_recordings

* docs

* remove key

* clean up docs

* docs fix

* docs tweak

* Media sync API refactor and UI (#21542)

* generic job infrastructure

* types and dispatcher changes for jobs

* save data in memory only for completed jobs

* implement media sync job and endpoints

* change logs to debug

* websocket hook and types

* frontend

* i18n

* docs tweaks

* endpoint descriptions

* tweak docs

* use same logging pattern in sync_recordings as the other sync functions (#21625)

* Fix incorrect counting in sync_recordings (#21626)

* Update go2rtc to v1.9.13 (#21648)

Co-authored-by: Eugeny Tulupov <eugeny.tulupov@spirent.com>

* Refactor Time-Lapse Export (#21668)

* refactor time lapse creation to be a separate API call with ability to pass arbitrary ffmpeg args

* Add CPU fallback

* Optimize empty directory cleanup for recordings (#21695)

The previous empty directory cleanup did a full recursive directory
walk, which can be extremely slow. This new implementation only removes
directories which have a chance of being empty due to a recent file
deletion.

* Implement llama.cpp GenAI Provider (#21690)

* Implement llama.cpp GenAI Provider

* Add docs

* Update links

* Fix broken mqtt links

* Fix more broken anchors

* Remove parents in remove_empty_directories (#21726)

The original implementation did a full directory tree walk to find and remove
empty directories, so this implementation should remove the parents as well,
like the original did.

* Implement LLM Chat API with tool calling support (#21731)

* Implement initial tools definiton APIs

* Add initial chat completion API with tool support

* Implement other providers

* Cleanup

* Offline preview image (#21752)

* use latest preview frame for latest image when camera is offline

* remove frame extraction logic

* tests

* frontend

* add description to api endpoint

* Update to ROCm 7.2.0 (#21753)

* Update to ROCm 7.2.0

* ROCm now works properly with JinaV1

* Arcface has compilation error

* Add live context tool to LLM (#21754)

* Add live context tool

* Improve handling of images in request

* Improve prompt caching

* Add networking options for configuring listening ports (#21779)

* feat: add X-Frame-Time when returning snapshot (#21932)

Co-authored-by: Florent MORICONI <170678386+fmcloudconsulting@users.noreply.github.com>

* Improve jsmpeg player websocket handling (#21943)

* improve jsmpeg player websocket handling

prevent websocket console messages from appearing when player is destroyed

* reformat files after ruff upgrade

* Allow API Events to be Detections or Alerts, depending on the Event Label (#21923)

* - API created events will be alerts OR detections, depending on the event label, defaulting to alerts
- Indefinite API events will extend the recording segment until those events are ended
- API event start time is the actual start time, instead of having a pre-buffer of record.event_pre_capture

* Instead of checking for indefinite events on a camera before deciding if we should end the segment, only update last_detection_time and last_alert_time if frame_time is greater, which should have the same effect

* Add the ability to set a pre_capture number of seconds when creating a manual event via the API. Default behavior unchanged

* Remove unnecessary _publish_segment_start() call

* Formatting

* handle last_alert_time or last_detection_time being None when checking them against the frame_time

* comment manual_info["label"].split(": ")[0] for clarity

* ffmpeg Preview Segment Optimization for "high" and "very_high" (#21996)

* Introduce qmax parameter for ffmpeg preview encoding

Added PREVIEW_QMAX_PARAM to control ffmpeg encoding quality.

* formatting

* Fix spacing in qmax parameters for preview quality

* Adapt to new Gemini format

* Fix frame time access

* Remove exceptions

* Cleanup

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Co-authored-by: tigattack <10629864+tigattack@users.noreply.github.com>
Co-authored-by: Andrew Roberts <adroberts@gmail.com>
Co-authored-by: Eugeny Tulupov <zhekka3@gmail.com>
Co-authored-by: Eugeny Tulupov <eugeny.tulupov@spirent.com>
Co-authored-by: John Shaw <1753078+johnshaw@users.noreply.github.com>
Co-authored-by: Eric Work <work.eric@gmail.com>
Co-authored-by: FL42 <46161216+fl42@users.noreply.github.com>
Co-authored-by: Florent MORICONI <170678386+fmcloudconsulting@users.noreply.github.com>
Co-authored-by: nulledy <254504350+nulledy@users.noreply.github.com>
2026-02-26 21:16:10 -07:00
Hosted Weblate
f0d69f7856 Translated using Weblate (Cantonese (Traditional Han script))
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (13 of 13 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (10 of 10 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (122 of 122 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (136 of 136 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (54 of 54 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (49 of 49 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (501 of 501 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (43 of 43 strings)

Translated using Weblate (Cantonese (Traditional Han script))

Currently translated at 100.0% (98 of 98 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: beginner2047 <leoywng44@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-auth/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-events/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-exports/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-live/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-search/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/yue_Hant/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/yue_Hant/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-auth
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/components-filter
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-search
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
5b16978430 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (654 of 654 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OverTheHillsAndFarAway <prosjektx@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/nb_NO/
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
b6142e3017 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (654 of 654 strings)

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/components-dialog/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/zh_Hans/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
e1a6f69c4e Translated using Weblate (Slovenian)
Currently translated at 37.7% (247 of 654 strings)

Translated using Weblate (Slovenian)

Currently translated at 36.0% (236 of 654 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: tadythefish <tady.the.fish@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sl/
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00
Hosted Weblate
d940ff3341 Translated using Weblate (Slovak)
Currently translated at 100.0% (217 of 217 strings)

Translated using Weblate (Slovak)

Currently translated at 96.2% (52 of 54 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Slovak)

Currently translated at 99.1% (121 of 122 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (118 of 118 strings)

Translated using Weblate (Slovak)

Currently translated at 97.7% (639 of 654 strings)

Translated using Weblate (Slovak)

Currently translated at 95.5% (130 of 136 strings)

Translated using Weblate (Slovak)

Currently translated at 99.8% (500 of 501 strings)

Translated using Weblate (Slovak)

Currently translated at 99.2% (135 of 136 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: OskarSidor <oskar.sidor@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/audio/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/common/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-filter/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/objects/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-classificationmodel/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-explore/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-facelibrary/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sk/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/sk/
Translation: Frigate NVR/audio
Translation: Frigate NVR/common
Translation: Frigate NVR/components-filter
Translation: Frigate NVR/objects
Translation: Frigate NVR/views-classificationmodel
Translation: Frigate NVR/views-explore
Translation: Frigate NVR/views-facelibrary
Translation: Frigate NVR/views-settings
Translation: Frigate NVR/views-system
2026-02-21 10:22:26 -06:00
Hosted Weblate
1f14f1cda0 Added translation using Weblate (Georgian)
Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Added translation using Weblate (Georgian)

Co-authored-by: George Hertz <georgedot@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
2026-02-21 10:22:26 -06:00
Hosted Weblate
806c5892b6 Translated using Weblate (Swedish)
Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (10 of 10 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristian Johansson <knmjohansson@gmail.com>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/components-dialog/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-configeditor/sv/
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/sv/
Translation: Frigate NVR/components-dialog
Translation: Frigate NVR/views-configeditor
Translation: Frigate NVR/views-settings
2026-02-21 10:22:26 -06:00