Commit Graph

93 Commits

Author SHA1 Message Date
Josh Hawkins
4638c22c16
UI tweaks (#20811)
* camera wizard input mobile font zooming

* ensure the selected page is visible when navigating via url on mobile

* Filter detail stream to only show items from within the review item

* remove incorrect classes causing extra scroll in detail stream

* change button label

* fix mobile menu button highlight issue

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-11-05 07:49:31 -07:00
Thibault Junin
9917fc3169
feat(player): always show camera names + add UI config toggle (#20705)
* feat(player): always show camera names + add UI config toggle

* feat(settings): add toggle for displaying camera names in multi-camera views

* update label and description for camera name setting
2025-10-29 09:20:11 -05:00
Josh Hawkins
640007e5d3
Trigger Wizard (#20691)
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
* add reusable component for combined name / internal name form field

* fix labels

* refactor utilities

* refactor image picker

* lazy loading

* don't clear text box

* trigger wizard

* image picker fixes

* use name and ID field in trigger edit dialog

* ensure wizard resets when reopening

* icon size tweak

* multiple triggers can trigger at once

* remove scrolling

* mobile tweaks

* remove duplicated component

* fix types

* use table on desktop and keep cards on mobile

* provide default
2025-10-27 14:58:31 -05:00
Josh Hawkins
81df534784
Camera wizard improvements (#20636)
* use avg_frame_rate

* probe metadata and snapshot separately

* improve ffprobe error reporting

* show error messages in toaster
2025-10-23 08:34:52 -05:00
Josh Hawkins
75d7049b6d
Fix I18n audio labels (#20508)
* ensure i18n audio label keys are translated

don't assume they are in the objects namespace

* add missing audio labels

* Improve handling of label types

* simplify

* fixes

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-10-15 13:02:08 -06:00
Josh Hawkins
3c8ef0c71c
UI tweaks (#20498)
* fix padding in debug view

* remove latin character regex from wizard step 1 validation
2025-10-15 05:29:49 -06:00
Josh Hawkins
9d85136f8f
Add Camera Wizard (#20461)
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
* fetch more from ffprobe

* add detailed param to ffprobe endpoint

* add dots variant to step indicator

* add classname

* tweak colors for dark mode to match figma

* add step 1 form

* add helper function for ffmpeg snapshot

* add go2rtc stream add and ffprobe snapshot endpoints

* add camera image and stream details on successful test

* step 1 tweaks

* step 2 and i18n

* types

* step 1 and 2 tweaks

* add wizard to camera settings view

* add data unit i18n keys

* restream tweak

* fix type

* implement rough idea for step 3

* add api endpoint to delete stream from go2rtc

* add main wizard dialog component

* extract logic for friendly_name and use in wizard

* add i18n and popover for brand url

* add camera name to top

* consolidate validation logic

* prevent dialog from closing when clicking outside

* center camera name on mobile

* add help/docs link popovers

* keep spaces in friendly name

* add stream details to overlay like stats in liveplayer

* add validation results pane to step 3

* ensure test is invalidated if stream is changed

* only display validation results and enable save button if all streams have been tested

* tweaks

* normalize camera name to lower case and improve hash generation

* move wizard to subfolder

* tweaks

* match look of camera edit form to wizard

* move wizard and edit form to its own component

* move enabled/disabled switch to management section

* clean up

* fixes

* fix mobile
2025-10-13 10:52:08 -06:00
Josh Hawkins
f4e7549311
UI tweaks (#20401)
* font changes to better match figma

* fix alignment in debug view
2025-10-09 06:23:03 -06:00
Josh Hawkins
7181f3db5c
Tweaks (#20393)
* don't fetch trigger status if no triggers defined

* settings sidebar tweaks

* padding tweaks

* fix
2025-10-08 15:02:38 -06:00
Josh Hawkins
6df950bb78
Refactor Settings UI (#20392)
* refactor with sidebar and mobile page

* sidebar spacing and color tweaks

* layout tweaks

* move camera switch button to header

* improve mobile

* remove back button on mobile page header

* mobile fixes

* remove debug

* don't use mobilepage

* more mobile tweaks

* use mobile page for components

* add optional actions to mobile page header for top right buttons

* fix alignment

* use page toggle

* tweaks

* sidebar inset tweaks

* move triggers to notifications sub menu

* consistency

* fix padding

* more padding fixes

* navigate history
2025-10-08 14:59:21 -05:00
Josh Hawkins
d818dbb6ba
Triggers tweaks (#20339)
* backend

* frontend

* use correct camera name param

* i18n

* change log message to debug level

* docs tweaks
2025-10-03 06:36:14 -06:00
Blake Blackshear
652fdc6a38 Merge remote-tracking branch 'origin/master' into dev 2025-09-24 06:57:50 -05:00
Josh Hawkins
ed1e3a7c9a
Enhance user roles to limit camera access (#20024)
* update config for roles and add validator

* ensure admin and viewer are never overridden

* add class method to user to retrieve all allowed cameras

* enforce config roles in auth api endpoints

* add camera access api dependency functions

* protect review endpoints

* protect preview endpoints

* rename param name for better fastapi injection matching

* remove unneeded

* protect export endpoints

* protect event endpoints

* protect media endpoints

* update auth hook for allowed cameras

* update default app view

* ensure anonymous user always returns all cameras

* limit cameras in explore

* cameras is already a list

* limit cameras in review/history

* limit cameras in live view

* limit cameras in camera groups

* only show face library and classification in sidebar for admin

* remove check in delete reviews

since admin role is required, no need to check camera access. fixes failing test

* pass request with camera access for tests

* more async

* camera access tests

* fix proxy auth tests

* allowed cameras for review tests

* combine event tests and refactor for camera access

* fix post validation for roles

* don't limit roles in create user dialog

* fix triggers endpoints

no need to run require camera access dep since the required role is admin

* fix type

* create and edit role dialogs

* delete role dialog

* fix role change dialog

* update settings view for roles

* i18n changes

* minor spacing tweaks

* docs

* use badges and camera name label component

* clarify docs

* display all cameras badge for admin and viewer

* i18n fix

* use validator to prevent reserved and empty roles from being assigned

* split users and roles into separate tabs in settings

* tweak docs

* clarify docs

* change icon

* don't memoize roles

always recalculate on component render
2025-09-12 05:19:29 -06:00
Josh Hawkins
751de141d5
Fix model selection type in Frigate+ settings pane (#19952)
* model type does not need to match config model type

As long as a model is supported by a detector, it should be available in the list

* fix missing semicolon

the web linter was complaining
2025-09-07 19:19:40 -06:00
Blake Blackshear
a8b7e5dd24 Merge remote-tracking branch 'origin/master' into dev 2025-09-04 06:33:22 -05:00
Josh Hawkins
398a3a7b95
Rename nickname to friendly_name (#19782)
Better aligns with convention from Home Assistant since many Frigate users are also HA users
2025-08-26 15:29:52 -05:00
GuoQing Liu
d3af748366
feat: Add camera nickname (#19567)
* refactor: Refactor camera nickname

* fix: fix cameraNameLabel visually

* chore: The Explore search function also displays the Camera's nickname in English

* chore: add mobile page camera nickname

* feat: webpush support camera nickname

* fix: fix storage camera name is null

* chore: fix review detail and context menu camera nickname

* chore: fix use-stats and notification setting camera nickname

* fix: fix stats camera if not nickname need capitalize

* fix: fix debug page open camera web ui i18n and camera nickname support

* fix: fix camera metrics not use nickname

* refactor: refactor use-camera-nickname hook.
2025-08-26 11:15:01 -06:00
Josh Hawkins
c260642604
Improve audio detection debugging (#19753)
* create audio activity manager

move publishing logic out of audio detector

* dispatcher changes

* correctly publish full array of audio detections in onConnect

* frontend websocket hooks

* line graph

* debug tab and i18n

* docs

* clean up

* fix i18n key
2025-08-25 13:40:21 -05:00
Josh Hawkins
95131541c5
Consolidate documentation i18n keys (#19714)
* Consolidate documentation i18n keys

* individual translations
2025-08-22 17:19:00 -05:00
Jan Šuklje
8f4b5b4bdb
Refactored Viewer role Notifications settings (#19640)
- now each individual element is shown if allowed by role, instead of having multiple return statement for each role
2025-08-19 18:29:11 -06:00
Nicolas Mowen
92417a1b9c Review genai updates (#19448)
* Include extra level for normal activity

* Add dynamic toggling

* Update docs

* Add different threshold for genai

* Adjust webUI for object and review description feature

* Adjust config

* Send on startup

* Cleanup config setting

* Set config

* Fix config name
2025-08-16 10:20:33 -05:00
Nicolas Mowen
1f3755e45d Migrate object genai configuration (#19437)
* Move genAI object to objects section

* Adjust config propogation behavior

* Refactor genai config usage

* Automatic migration

* Always start the embeddings process

* Always init embeddings

* Config fixes

* Adjust reference config

* Adjust docs

* Formatting

* Fix
2025-08-16 10:20:33 -05:00
Josh Hawkins
8719216fa6 Dynamically enable/disable GenAI (#19139)
* config

* dispatcher and mqtt

* docs

* use config updater

* add switch to frontend
2025-08-16 10:20:33 -05:00
Josh Hawkins
22478df4d6 Optionally show tracked object paths in debug view (#19025) 2025-08-16 10:20:33 -05:00
Josh Hawkins
3609b41217 Semantic Search Triggers (#18969)
* semantic trigger test

* database and model

* config

* embeddings maintainer and trigger post-processor

* api to create, edit, delete triggers

* frontend and i18n keys

* use thumbnail and description for trigger types

* image picker tweaks

* initial sync

* thumbnail file management

* clean up logs and use saved thumbnail on frontend

* publish mqtt messages

* webpush changes to enable trigger notifications

* add enabled switch

* add triggers from explore

* renaming and deletion fixes

* fix typing

* UI updates and add last triggering event time and link

* log exception instead of return in endpoint

* highlight entry in UI when triggered

* save and delete thumbnails directly

* remove alert action for now and add descriptions

* tweaks

* clean up

* fix types

* docs

* docs tweaks

* docs

* reuse enum
2025-08-16 10:20:33 -05:00
Josh Hawkins
a6b80c0f9c Add basic camera settings to UI for testing (#18690)
* add basic camera add/edit pane to the UI for testing

* only init model runner if transcription is enabled globally

* fix role checkboxes
2025-08-16 10:20:33 -05:00
Nicolas Mowen
4dc526761c Dynamically update masks and zones for cameras (#18359)
* Include config publisher in api

* Call update topic for passed topics

* Update zones dynamically

* Update zones internally

* Support zone and mask reset

* Handle updating objects config

* Don't put status for needing to restart Frigate

* Cleanup http tests

* Fix tests
2025-08-16 10:20:33 -05:00
Nicolas Mowen
49793aa655
Don't use memo on subscribable (#19424) 2025-08-07 22:28:53 -05:00
Nicolas Mowen
4869f46ab6
Fixes (#19420)
* Remove torch install

* notification fixes

the pubkey was not being returned if notifications was not enabled at the global level

* Put back

* single condition check for fetching and disabling button

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-08-07 15:34:25 -06:00
Josh Hawkins
b6b3178e3d
Fixes (#19406)
* Fix api filter hook

cameras, labels, sub labels, plates, and zones could be parsed as numeric values rather than strings, which would break the explore filter. This change adds an optional param to the useApiFilterArgs hook to always parse keys as string[]

* fix notifications register button from being incorrectly disabled
2025-08-06 22:09:43 -05:00
Nicolas Mowen
7680b050b4
Correctly set the snapPoints (#19206) 2025-07-18 08:28:52 -06:00
Josh Hawkins
f97629433d
Fixes (#18877)
* Object labels with spaces should use correct i18n keys

* Add Hungarian

* Ensure onvif move request has a valid speed before removing

When autotracking zooming is set to `disabled` (or is left out of the config), move_request["Speed"] may not exist, depending on the camera

* Add another frame cache debug log
2025-06-25 16:45:24 -05:00
BenV
42cae5d9ee
Fix bird link in EnrichmentsSettingsView.tsx (#18719)
* Fix bird link in EnrichmentsSettingsView.tsx

license_plate_recognition -> bird_classification

* Update web/src/views/settings/EnrichmentsSettingsView.tsx

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Update web/src/views/settings/EnrichmentsSettingsView.tsx

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

* Update web/src/views/settings/EnrichmentsSettingsView.tsx

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-06-17 19:45:40 -06:00
GuoQing Liu
9b7d4d0a8f
feat: document locale url (#18409)
* feat: document locale url

* fix: remove debug code

* fix readme_cn line

* feat: add menu document locale url
2025-05-28 06:10:45 -06:00
Josh Hawkins
858c1241db
Fixes (#18354)
* Rename classification to enrichments

* Clean up config updating checks

* Add Portugese

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-22 18:16:35 -06:00
Sean Kelly
b10615aef1
Fix dead link (#18279) 2025-05-17 18:16:24 -06:00
Josh Hawkins
ebae6cb1ed
Fixes (#18262)
* Don't use timezone in export dialog timestamps

Revert an unnecessary change made in https://github.com/blakeblackshear/frigate/pull/18257

* Ensure notifications register button is only disabled when both all cameras and every individual camera is disabled

* Send test notification if any cameras are enabled

* clarify docs about disabling cameras

* fix crash in autotracking zoom

* clean up

* masks and zones i18n fixes

* Check if camera is enabled in config

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-16 16:37:25 -06:00
Josh Hawkins
8094dd4075
Fixes (#18117)
* face library i18n fixes

* face library i18n fixes

* add ability to use ctrl/cmd S to save in the config editor

* Use datetime as ID

* Update metrics inference speed to start with 0 ms

* fix android formatted thumbnail

* ensure role is comma separated and stripped correctly

* improve face library deletion

- add a confirmation dialog
- add ability to select all / delete faces in collections

* Implement lazy loading for video previews

* Force GPU for large embedding model

* GPU is required

* settings i18n fixes

* Don't delete train tab

* webpush debugging logs

* Fix incorrectly copying zones

* copy path data

* Ensure that cache dir exists for Frigate+

* face docs update

* Add description to upload image step to clarify the image

* Clean up

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2025-05-09 07:36:44 -06:00
Josh Hawkins
4d6a139bf8
UI fixes (#17989)
* use correct time in custom export time picker

* fix inline icons
2025-05-01 09:06:29 -06:00
Josh Hawkins
a9f139e062
Fixes (#17961)
* Fix i18n page titles

* fix frontend crash in npu stats

* return empty object for gpu_usages if null

* fix gpu info i18n keys
2025-04-29 17:03:44 -05:00
Josh Hawkins
9291543705
Fix missing i18n keys (#17952)
* Fix missing i18n keys

* gpu info dialog fixes
2025-04-29 06:47:19 -06:00
Josh Hawkins
78c1694451
Add missing i18n keys (#17861) 2025-04-22 19:46:05 -06:00
Nicolas Mowen
f9b2db4405
Implement smart capitalization based on locale (#17860) 2025-04-22 16:21:09 -06:00
Josh Hawkins
b6e0e5698a
Proper i18n date/time handling (#17858)
* install date-fns-tz

* add date locale hook

* refactor formatUnixTimestampToDateTime

Use date-fns style instead of using strftime. This requires changing the i18n keys to the way date-fns represents dates (eg: "MMM d, h:mm:ss aaa"  instead of "%b %-d, %H:%M"

* refactor calendar to use new hook

* fix useFormattedTimestamp to use new formatUnixTimestampToDateTime date_format

* change i18n keys to new format

* fix timeline

* fix review

* fix explore

* fix metrics

* fix notifications

* fix face library

* clean up
2025-04-22 15:50:21 -06:00
GuoQing Liu
c8e22a3653
Fix some page i18n wrong (#17682)
* fix: some pages can't translation object label.

* revert: revert wrong label fix

* feat: add openai base_url setting

* fix: fix classification modelSize i18n error

* revert: revert openai base_url setting

* fix: fix enrichments pages i18n keys wrong

* fix: fix mobile bottom bar reindexing embeddings i18n wrong

* feat: add more system stats i18n keys

* fix: fix review filter objects i18n

* chore: remove frigate+ label i18n
2025-04-19 09:02:15 -05:00
leccelecce
1abd3c68ec
Plus Settings: add base model and name (#17738)
* Plus Settings: add base model and name

* I18n change user model to fine-tuned model

* Move fields in drop-down for mobile

* Missed commit

* remove unused i18n key

* Add base/FTM to model Type, reorder Model Information fields

* fix missing availableModels for now

* shorten Fine-Tuned Model to Fine-Tuned

* isBaseModel is already available in config, use that

* Change Base Model to Default

* minor tweaks

* Revert "Change Base Model to Default"

This reverts commit 0191aa34f6.
2025-04-17 08:48:56 -06:00
Nicolas Mowen
ea98785097
UI improvements (#17684)
* Add sub label to explore chip

* Add bird classification to settings

* Remove score

* Cleanup
2025-04-13 13:06:59 -05:00
Josh Hawkins
23c3323871
Dynamic embeddings reindexing (#17418)
* reindex with api endpoint and zmq

* threading

* frontend

* require admin role
2025-03-27 11:29:34 -06:00
leccelecce
53c8aa25cb
Fix missing restart notification in Classification settings (#17397)
* Use different message key to fix missing restart message

* Move addMessage to finally block
2025-03-26 15:44:15 -06:00
leccelecce
4ccf61a6d7
Fix wrong value displayed in facerec settings (#17383) 2025-03-26 07:16:12 -05:00