* Remove source_type from API
* Don't require state classification models to select all classes
* Specifically validate provided end_time for manual events
* Remove yolov9 specification for warning
* Remove warning for coral
* clarify zone name tip
* clarify replace rules in lpr docs
* remove periods
* Add explanation for review report
* adjust HLS gap controller params
defaults to false, should help to recover from hangs and stalling in tracking details videos on chrome
* only redirect to login page once on 401
attempt to fix ios pwa safari redirect storm
* Use contextual information from other cameras to inform report summary
* Formatting and prompt improvements for review summary report
* More improvements to prompt
* Remove examples
* Don't show admin action buttons on export card
* fix redirect race condition
Coordinate 401 redirect logic between ApiProvider and ProtectedRoute using a shared flag to prevent multiple simultaneous redirects that caused UI flashing. Ensure both auth error paths check and set the redirect flag before navigating to login, eliminating race conditions where both mechanisms could trigger at once
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Adds support for YOLO v9 models running on Google Coral
* fix format by using ruff instead of black
* Remove comment
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Remove log message
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* revert to hard-coded settings. use ModelTypeEnum directly
* remove log messages. detect invalid output tensor count
* remove 1-tensor processing. add pre_process() function
* check for valid model type
* fix formatting
* remove unused import and variable
* remove tip that indicates other YOLO models may be supported.
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* ensure audio events display timeline entries in tracking details
* tweak tracking details layout for small desktop sizes
* update transcription docs
* Update classification docs for training recommendations
* Make number of classification images to be kept configurable
* Add bird to classification reference
* Fix incorrect averaging of the segments so it correctly only uses the most recent segments
* fix trigger logic
* add ability to download clean snapshot
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Implement renaming in model editing dialog
* add transcription faq
* remove incorrect constraint for viewer as username
should be able to change anyone's role other than admin
* Don't save redundant state changes
* prevent crash when a camera doesn't support onvif imaging service required for focus support
* Fine tune behavior
* Stop redundant go2rtc stream metadata requests and defer audio information to allow bandwidth for image requests
* Improve cleanup logic for capture process
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Fix history management failing when updating URL
* Handle case where user doesn't have images that represent all states
If a user selects all imags and can't proceed we show a warning that they can still proceed but the model won't be trained until they get at least one image for every state.
* Still create all classes
We stil need to create all classes even if the user didn't assign images to them.
* fix camera group access for non admin users
changes from previous PR wrongly included users from the standard viewer role (but excluded custom viewer roles)
* Adjust threat level interaction to be less strict
* use base path when fetching go2rtc data
* show config error message when starting in safe mode
* fix genai migration
* fix genai
* Fix genai migration
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Don't add to history when opening search dialog
* Update caniuse
* Revamp the history handling for dialog components
* clarify audio transcription docs
* Use titlecase helper
* Allow running object clasasification on stationary objects
* small spacing tweaks for tablets
* require admin role to delete users
* explicitly prevent deletion of admin user
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* fix wording in reference config
* spacing tweaks
* make live view settings drawer scrollable
* clarify audio transcription docs
* change audio transcription icon to activity indicator when transcription is in progress
the backend doesn't implement any kind of queueing for speech event transcription
* tracking details tweaks
- Add attribute box overlay and area
- Add score
- Throttle swr revalidation during video component rerendering
* add mse codecs to console debug on errors
* add camera name
* update live view docs
* use swr as single source of truth for searchDetail
rather than maintaining a separate state, derive the selected item from swr cache. fixes websocket sync when regenerating descriptions or fetching transcriptions
* fix key warning in console
* don't try to fetch event from review item for audio events
* update audio transcription toast wording
* Add a community supported badge to specific detectors in the info summaries to better separate
* Make object classification publish to tracked object update and add examples for state classification
* Add item to advanced docs about tensorflow limiting
* Don't show submission for in progress objects
* fix for ios not reporting video dimensions on initial metadata load
in testing, polling with requestAnimationFrame finds the dimensions within 2 frames
* Catch jetson nvidia device tree
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Include DB in safe mode config
Copy DB when going into safe mode to avoid creating a new one if a user has configured a separate location
* Fix documentation for example log module
* Set minimum duration for recording segments
Due to the inpoint logic, some recordings would get clipped on the end of the segment with a non-zero duration but not enough duration to include a frame. 100 ms is a safe value for any video that is 10fps or higher to have a frame
* Add docs to explain object assignment for classification
* Add warning for Intel GPU stats bug
Add warning with explanation on GPU stats page when all Intel GPU values are 0
* Update docs with creation instructions
* reset loading state when moving through events in tracking details
* disable pip on preview players
* Improve HLS handling for startPosition
The startPosition was incorrectly calculated assuming continuous recordings, when it needs to consider only some segments exist. This extracts that logic to a utility so all can use it.
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* ensure viewer roles are available in create user dialog
* admin-only endpoint to return unmaksed camera paths and go2rtc streams
* remove camera edit dropdown
pushing camera editing from the UI to 0.18
* clean up camera edit form
* rename component for clarity
CameraSettingsView is now CameraReviewSettingsView
* Catch case where user requsts clip for time that has no recordings
* ensure emergency cleanup also sets has_clip on overlapping events
improves https://github.com/blakeblackshear/frigate/discussions/20945
* use debug log instead of info
* update docs to recommend tmpfs
* improve display of in-progress events in explore tracking details
* improve seeking logic in tracking details
mimic the logic of DynamicVideoController
* only use ffprobe for duration to avoid blocking
fixes https://github.com/blakeblackshear/frigate/discussions/20737#discussioncomment-14999869
* Revert "only use ffprobe for duration to avoid blocking"
This reverts commit 8b15078005.
* update readme to link to object detector docs
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* don't flatten the search result cache when updating
this would cause an infinite swr fetch if something was mutated and then fetch was called again
* Properly sort keys for recording summary in StorageMetrics
* tracked object description box tweaks
* Remove ability to right click on elements inside of face popup
* Update reprocess message
* don't show object track until video metadata is loaded
* fix blue line height calc for in progress events
* Use timeline tab by default for notifications but add a query arg for customization
* Try and improve notification opening behavior
* Reduce review item buffering behavior
* ensure logging config is passed to camera capture and tracker processes
* ensure on demand recording stops when browser closes
* improve active line progress height with resize observer
* remove icons and duplicate find similar link in explore context menu
* fix for initial broken image when creating trigger from explore
* display friendly names for triggers in toasts
* lpr and triggers docs updates
* remove icons from dropdowns in face and classification
* fix comma dangle linter issue
* re-add incorrectly removed face library button icons
* fix sidebar nav links on < 768px desktop layout
* allow text to wrap on mark as reviewed button
* match exact pixels
* clarify LPR docs
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* digest auth backend
* frontend
* i18n
* update field description language to include note about onvif specific credentials
* mask util helper function
* language
* mask passwords in http-flv and others where a url param is password
* backend api endpoint
* don't add no-credentials version of streams to rtsp_candidates
* frontend types
* improve types
* add optional probe dialog to wizard step 1
* i18n
* form description and field change
* add onvif form description
* match onvif probe pane with other steps in the wizard
* refactor to add probe and snapshot as step 2
* consolidate probe dialog
* don't change dialog size
* radio button style
* refactor to select onvif urls via combobox in step 3
* i18n
* add scrollbar container
* i18n cleanup
* fix button activity indicator
* match test parsing in step 3 with step 2
* hide resolution if both width and height are zero
* use drawer for stream selection on mobile in step 3
* suppress double toasts
* api endpoint description
* Don't warn when event ids have expired for trigger sync
* Import faster_whisper conditinally to avoid illegal instruction
* Catch OpenVINO runtime error
* fix race condition in detail stream context
navigating between tracked objects in Explore would sometimes prevent the object track from appearing
* Handle case where classification images are deleted
* Adjust default rounded corners on larger screens
* Improve flow handling for classification state
* Remove images when wizard is cancelled
* Improve deletion handling for classes
* Set constraints on review buffers
* Update to support correct data format
* Set minimum duration for recording based review items
* Use friendly name in review genai prompt
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Fix filtering for classification
* Adjust prompt to account for response tokens
* Correctly return response for reprocess
* Use API response to update data instead of trying to re-parse all of the values
* Implement rename class api
* Fix model deletion / rename dialog
* Remove camera spatial context
* Catch error
* show id field when editing zone
* improve zone capitalization
* Update NPU models and docs
* fix mobilepage in tracked object details
* Use thread lock for openvino to avoid concurrent requests with JinaV2
* fix hashing function to avoid collisions
* remove extra flex div causing overflow
* ensure header stays on top of video controls
* don't smart capitalize friendly names
* Fix incorrect object classification crop
* don't display submit to plus if object doesn't have a snapshot
* check for snapshot and clip in actions menu
* frigate plus submission fix
still show frigate+ section if snapshot has already been submitted and run optimistic update, local state was being overridden
* Don't fail to show 0% when showing classification
* Don't fail on file system error
* Improve title and description for review genai
* fix overflowing truncated review item description in detail stream
* catch events with review items that start after the first timeline entry
review items may start later than events within them, so subtract a padding from the start time in the filter so the start of events are not incorrectly filtered out of the list in the detail stream
* also pad on review end_time
* fix
* change order of timeline zoom buttons on mobile
* use grid to ensure genai title does not cause overflow
* small tweaks
* Cleanup
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* feat: add zones friendly name
* fix: fix the issue where the input field was empty when there was no friendly_name
* chore: fix the issue where the friendly name would replace spaces with underscores
* docs: update zones docs
* Update web/src/components/settings/ZoneEditPane.tsx
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Add friendly_name option for zone configuration
Added optional friendly name for zones in configuration.
* fix: fix the logical error in the null/empty check for the polygons parameter
* fix: remove the toast name for zones will use the friendly_name instead
* docs: remove emoji tips
* revert: revert zones doc ui tips
* Update docs/docs/configuration/zones.md
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Update docs/docs/configuration/zones.md
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* Update docs/docs/configuration/zones.md
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* feat: add friendly zone names to tracking details and lifecycle item descriptions
* chore: lint fix
* refactor: add friendly zone names to timeline entries and clean up unused code
* refactor: add formatList
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* remove frigate+ icon from explore grid footer
* add margin
* pointer cursor on event menu items in detail stream
* don't show submit to plus for non-objects and if plus is disabled
* tweak spacing in annotation settings popover
* Fix deletion of classification images and library
* Ensure after creating a class that things are correct
* Fix dialog getting stuck
* Only show the genai summary popup on mobile when timeline is open
* fix audio transcription embedding
* spacing
* hide x icon on restart sheet to prevent closure issues
* prevent x overflow in detail stream on mobile safari
* ensure name is valid for search effect trigger
* add trigger to detail actions menu
* move find similar to actions menu
* Use a column layout for MobilePageContent in PlatformAwareSheet
This is so the header is outside the scrolling area and the content can grow/scroll independently. This now matches the way it's done in classification
* Skip azure execution provider
* add optional ref to always scroll to top
the more filters in explore was not scrolled to the top on open due to the use of framer motion
* fix title classes on desktop
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Correctly sort summary responses
* Consider JinaV2 as a complex model
* Subscribe to record updates in camera watchdog
* Cleanup score showing
* No need to sort review summary
* Add tests for recording summary
* Don't break existing format
* Sort event summary by day
* Don't show model selection or back button when in multi select mode
* Add dialog to edit classification models
* Fix header spacing
* Cleanup desktop
* Incrase max number of object classifications
* fix iOS mobile card
* Cleanup
* Correctly remove classification model from config
* Undo
* fix
* Use existing config update API and dynamically remove models that were running
* Set update message for face
* Pull context size from openai models
* Adjust wording based on type of model
* Instruct to not use parenthesis
* Simplify genai config
* Don't use GPU for training
* Update docs for review descriptions
* Add logging for context tokens used
* Incrase number of images due to lower than expected context usage
* Re-balance the suspicious activity checks
* Adjustments to context sizing
* optimize context usage
* Adjust context usage
* Make title more direct
* Update docs
* Adjust for commutes
* Tweaks
* Don't show no models view in grid
* Add text-md to inputs
* Adjust train title for mobile
* Cleanup prompt more
* Use i18n functions for tooltip
* Fix model complexity causing crash
* Cleanup
* black background
* fix backend logic
* fixes
* ensure data being sent to api is segment aligned
* tweak
* tweaks to keep motion review as-is
* fix for half segment fractional seconds when using zooming
* Make prompt more fair and reduce time extension
* Adjust naming of unrecognized objects
* Improve object naming behavior
* Add more context image levels