* 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
* 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>
* Add Thai (still need to merge weblate)
* Apply attribute logic to all label types
* Fix area check
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Ensure review activity calendar uses correct timezone
react-day-picker 9.x adds a timeZone prop and a TZDate() handler to show the calendar based on a timezone and better handle dates passed to it in timezones
* Ensure calendar range uses correct timezone
* clean up
* ensure range is timezone aware
* ensure export dates are timezone aware
* 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
* Fix case where objects are returned as null
* Fix enabled status not being persisted
* Use config as source of truth when refreshed
* Ensure camera always have config object updated
* Cleanup typing
* db migration
* db model
* assign admin role on password reset
* add role to jwt and api responses
* don't restrict api access for admins yet
* use json response
* frontend auth context
* update auth form for profile endpoint
* add access denied page
* add protected routes
* auth hook
* dialogs
* user settings view
* restrict viewer access to settings
* restrict camera functions for viewer role
* add password dialog to account menu
* spacing tweak
* migrator default to admin
* escape quotes in migrator
* ui tweaks
* tweaks
* colors
* colors
* fix merge conflict
* fix icons
* add api layer enforcement
* ui tweaks
* fix error message
* debug
* clean up
* remove print
* guard apis for admin only
* fix tests
* fix review tests
* use correct error responses from api in toasts
* add role to account menu
* config options
* metrics
* stop and restart ffmpeg processes
* dispatcher
* frontend websocket
* buttons for testing
* don't recreate log pipe
* add/remove cam from birdseye when enabling/disabling
* end all objects and send empty camera activity
* enable/disable switch in ui
* disable buttons when camera is disabled
* use enabled_in_config for some frontend checks
* tweaks
* handle settings pane with disabled cameras
* frontend tweaks
* change to debug log
* mqtt docs
* tweak
* ensure all ffmpeg processes are initially started
* clean up
* use zmq
* remove camera metrics
* remove camera metrics
* tweaks
* frontend tweaks
* config file changes
* config migrator
* stream selection on single camera live view
* camera streaming settings dialog
* manage persistent group streaming settings
* apply streaming settings in camera groups
* add ability to clear all streaming settings from settings
* docs
* update reference config
* fixes
* clarify docs
* use first stream as default in dialog
* ensure still image is visible after switching stream type to none
* docs
* clarify docs
* add ability to continue playing stream in background
* fix props
* put stream selection inside dropdown on desktop
* add capabilities to live mode hook
* live context menu component
* resize observer: only return new dimensions if they've actually changed
* pass volume prop to players
* fix slider bug, https://github.com/shadcn-ui/ui/issues/1448
* update react-grid-layout
* prevent animated transitions on draggable grid layout
* add context menu to dashboards
* use provider
* streaming dialog from context menu
* docs
* add jsmpeg warning to context menu
* audio and two way talk indicators in single camera view
* add link to debug view
* don't use hook
* create manual events from live camera view
* maintain grow classes on grid items
* fix initial volume state on default dashboard
* fix pointer events causing context menu to end up underneath image on iOS
* mobile drawer tweaks
* stream stats
* show settings menu for non-restreamed cameras
* consistent settings icon
* tweaks
* optional stats to fix birdseye player
* add toaster to live camera view
* fix crash on initial save in streaming dialog
* don't require restreaming for context menu streaming settings
* add debug view to context menu
* stats fixes
* update docs
* always show stream info when restreamed
* update camera streaming dialog
* make note of no h265 support for webrtc
* docs clarity
* ensure docs show streams as a dict
* docs clarity
* fix css file
* tweaks
* virtualize event segments
* use virtual segments in event review timeline
* add segmentkey to props
* virtualize motion segments
* use virtual segments in motion review timeline
* update draggable element hook to use only math
* timeline zooming hook
* add zooming to event review timeline
* update playground
* zoomable timeline on recording view
* consolidate divs in summary timeline
* only calculate motion data for visible motion segments
* use swr loading state
* fix motion only
* keep handlebar centered when zooming
* zoom animations
* clean up
* ensure motion only checks both halves of segment
* prevent handlebar jump when using motion only mode
* Validate faces using cosine distance and SVC
* Formatting
* Use opencv instead of face embedding
* Update docs for training data
* Adjust to score system
* Set bounds
* remove face embeddings
* Update writing images
* Add face library page
* Add ability to select file
* Install opencv deps
* Cleanup
* Use different deps
* Move deps
* Cleanup
* Only show face library for desktop
* Implement deleting
* Add ability to upload image
* Add support for uploading images
* use id instead of index for object details and scrolling
* long press package and hook
* fix long press in review
* search action group
* multi select in explore
* add bulk deletion to backend api
* clean up
* mimic behavior of review
* don't open dialog on left click when mutli selecting
* context menu on container ref
* revert long press code
* clean up
* Home/End buttons for search input and max 8 search columns
* Fix lifecycle label
* remove video tab if tracked object has no clip
* hide object lifecycle if there is no clip
* add test for filter value to ensure only fully numeric values are set as numbers
* custom hook and generic video player component
* add export preview dialog
* export preview dialog when using timeline export
* refactor search detail dialog to use new generic video player component
* clean up
* Portal tooltips
* Add ability to time_range filter chroma searches
* centering and padding consistency
* add event id back to chroma metadata
* query sqlite first and pass those ids to chroma for embeddings search
* ensure we pass timezone to the api call
* remove object lifecycle from search details for non-object events
* simplify hour calculation
* fix query without filters
* bump chroma version
* chroma 0.5.7
* fix selecting camera group in cameras filter button
* Prevent keyboard shortcuts from running when input is focused
* fix reset button and update time pickers when using input
* simplify css
* consistent button order and spacing
* Add ability to filter by time range
* Cleanup
* Handle input with tags
* fix input for time_range filter
* fix before and after filters
* clean up
* Ensure the default value works as expected
* Handle time range in am/pm based on browser
* Fix arrow
* Fix text
* Handle midnight case
* fix width
* Fix bg
* Fix bg
* Fix mobile spacing
* y spacing
* remove left padding
---------
Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
* create input with tags component
* tweaks
* only show filters pane when there are actual filters
* special case for similarity searches
* similarity search tweaks
* populate suggestions values
* scrollbar on outer div
* clean up
* separate custom hook
* use command component
* tooltips
* regex tweaks
* saved searches with confirmation dialogs
* better date handling
* fix filters
* filter capitalization
* filter instructions
* replace underscore in filter type
* alert dialog button color
* toaster on success
* Improve image loading by not loading when off screen
* Add share menu to export
* Add share button and tidy up review detail lists
* Fix missing key
* Use query args for review filter
* Add object lifecycle to explore dialog
* Adjust sizing
* Simplify share button
* Always show snapshot but hide buttons for frigate+ if not applicable
* Handle case when user switches to element missing the previously selected tab
* Handle cases where share is not available
* Fix logic
* Always enable search page
* Always show eents when searching
* No default search background
* Center and show all filters when semantic search is not enabled
* Limit number of default items shown
* Adjust search options
* Add support for sub label filtering
* Separate out filters and clean up detail pane
* Tablet cleanup
* Fix current hour search preview
* Handle single lists
* Cleanup api search
* Add basic search page
* Abstract filters to separate components
* Make searching functional
* Add loading and no results indicators
* Implement searching
* Combine account and settings menus on mobile
* Support using thumbnail for in progress detections
* Fetch previews
* Move recordings view and open recordings when search is selected
* Implement detail pane
* Implement saving of description
* Implement similarity search
* Fix clicking
* Add date range picker
* Fix
* Fix iOS zoom bug
* Mobile fixes
* Use text area
* Fix spacing for drawer
* Fix fetching previews incorrectly