* Fix group url param where a camera group was not always loaded
Need to use the loading state from the usePersistence hook because values are loaded from indexed db asynchronously
* ensure group icon changes when using url param
* clean up
* Cleanup components
* integrate debug view
* Refactor menu handling
* Cleanup
* cleanup
* Improve ptz placement for debug view
* Cleanup
* Cleanup mobile
* Always show options
* Add info for stream picking being disabled
* Add to mobile too
* Fix ns
* Cleanup
* 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
* 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
* Refactor active objects to class
* Keep segment going when detection is newer than end of alert
* Cleanup logic
* Fix
* Cleanup ending
* Adjust timing
* Improve detection saving
* Don't have padding at end for in progress reviews
* Add review config for cutoff times
* 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.
* add regex support to events api for recognized_license_plate
* frontend
add ability to use regexes in the plate search box and add select all/clear all links to quickly select all filtered plates
* Generate review item summaries with requests
* Adjust logic to only send important items
* Don't mention ladder
* Adjust prompt to be more specific
* Add more relaxed nature for normal activity
* Cleanup summary
* Update ollama client
* Add more directions to analyze the frames in order
* Remove environment from prompt
* Don't default to openai
* Improve UI
* Allow configuring additional concerns that users may want the AI to note
* Formatting
* Add preferred language config
* Remove unused
* 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
* Ui improvements
* Improve image cropping and model saving
* Improve naming
* Add logs for training
* Improve model labeling
* Don't set sub label for none object classification
* Cleanup
* Setup basic training structure
* Build out route
* Handle model configs
* Add image fetch APIs
* Implement model training screen with dataset selection
* Implement viewing of training images
* Adjust directories
* Implement viewing of images
* Add support for deleting images
* Implement full deletion
* Implement classification model training
* Improve naming
* More renaming
* Improve layout
* Reduce logging
* Cleanup
* install new packages for transcription support
* add config options
* audio maintainer modifications to support transcription
* pass main config to audio process
* embeddings support
* api and transcription post processor
* embeddings maintainer support for post processor
* live audio transcription with sherpa and faster-whisper
* update dispatcher with live transcription topic
* frontend websocket
* frontend live transcription
* frontend changes for speech events
* i18n changes
* docs
* mqtt docs
* fix linter
* use float16 and small model on gpu for real-time
* fix return value and use requestor to embed description instead of passing embeddings
* run real-time transcription in its own thread
* tweaks
* publish live transcriptions on their own topic instead of tracked_object_update
* config validator and docs
* clarify docs
* Indicate no recordings on the history timeline with gray hash marks
This commit includes a new backend API endpoint and the frontend changes needed to support this functionality
* don't show slashes for now
* 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
* Include preferred startTime in source so that the playlist does not need to seek
* Compatibility
* Cleanup
* Adjust based on inpoint
* Don't set start position if it is not valid
* Handle firefox buggy behavior
* Fetch all license plates outside of filter component
If the swr call took a long time, the entire select component may not display. This change moves the fetch to the parent component (like sub labels).
* add loading indicator
* improve query
* Frontend timezone fixes
Last recording date timezone was being applied twice, so it displayed the wrong date
Also, TZDate from react-day-picker could have been behaving incorrectly at times without a full date string
* Ensure returned day is parsed as midnight in specified timezone
* Fix Norwegian language code for date-fns module import
* Fix incorrect apple compatibility change
* Add other and unused as separate storage items
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* i18n translated label fixes
* Fix frame cache race bug
Objects that were marked as false positives (that would later become true positives) would sometimes have their saved frame prematurely removed from the frame cache.
* 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
* Don't allow editing of sub label until object lifecycle has ended
* Update sub labels in ended review segments
When manually editing a sub label for a tracked object from the UI, any review segments containing that tracked object did not have their sub_labels and objects values altered
* simplify
* Additional onvif debug logs in get_camera_status
* Ensure that best object is only set when the snapshot is actually updated.
* Don't hide downlaod button when there is no review item
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Ensure config editor recalculates layout on error
* ensure empty lists are returned when lpr recognition model fails
* Add docs section for session_length
* clarify
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* clarify
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Catch missing file
* Improve graph axis colors
* Ensure playback rate controls are portaled to the video container in history view
On larger tablets in landscape view, the playback rate dropdown disappeared underneath the bottom bar. This small change ensures we use the correct container on the DropdownMenuContent so that the div is portaled correctly. The VideoControls are also used in motion review which does not pass in a container ref, so we can just fall back to the existing controlsContainer ref when it's undefined.
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* fix i18n keys
* hide disable from context menu for viewers
* Fix auto live check for default dashboard and camera groups
Disabling the Automatic Live View switch in Settings should prevent streaming from occurring. Overriding any settings in a camera group will override the global setting. The check here incorrectly always returned false instead of undefined.
* clarify hardware accelerated enrichments
* clarify
* add note about detect stream to face rec docs
* add note about low end Dahuas for autotracking
* Catch invalid face box / image
* Video tab tweaks
With the changes in https://github.com/blakeblackshear/frigate/pull/18220, the video tab in the Tracked Object Details pane now correctly trims the in-browser HLS video. Because of keyframes and record/detect stream differences, we can manually subtract a couple of seconds from the event start_time to ensure the first few frames aren't cut off from the video
* Clarify
* Don't use Migraphx by default
* Provide better support for running embeddings on GPU
* correctly join cameras
* Adjust blur confidence reduction
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>