Commit Graph
100 Commits
Author SHA1 Message Date
Josh HawkinsandGitHub 37c3ac5413 Misc fixes (#17443)
* ensure semantic search is enabled before updating embeddings stats

* add camera and label to snapshot download filename
2025-03-29 05:58:50 -06:00
Josh HawkinsandGitHub 37e0b9b904 LPR tweaks (#17428)
* fix snapshot when using dedicated lpr

* enhancement and debugging config

* docs
2025-03-28 06:29:11 -06:00
Josh HawkinsandGitHub 23c3323871 Dynamic embeddings reindexing (#17418)
* reindex with api endpoint and zmq

* threading

* frontend

* require admin role
2025-03-27 11:29:34 -06:00
Josh HawkinsandGitHub 6ec7d96ec9 remove LPR denoising (#17412) 2025-03-27 08:49:10 -06:00
Josh HawkinsandGitHub 1233bc3a42 Miscellaneous fixes (#17406)
* add config validator for face and lpr

* more lpr docs tweaks

* fix object lifecycle point clicking for aspect ratios less than 16/9

* fix semantic search indexing i18n keys

* remove ability to set system language

* clarify debug output
2025-03-27 05:49:14 -06:00
Josh HawkinsandGitHub 4edf0d8cd3 LPR bugfix (#17384)
* ensure image is numpy array

* clean up debugging

* clean up postprocessor

* process raw input as img
2025-03-26 07:41:00 -05:00
Josh HawkinsandGitHub b30de96525 Reduce expansion of license_plate box for frigate+ models (#17373) 2025-03-26 05:25:39 -06:00
Josh HawkinsandGitHub 2c3ea5b74e Make all object path points clickable (#17367) 2025-03-25 14:08:40 -06:00
Josh HawkinsandGitHub e80caabee6 Live and go2rtc docs updates (#17363) 2025-03-25 10:46:24 -06:00
Josh HawkinsandGitHub 9080305070 Increase the initial stall timeout of the MSE player (#17359) 2025-03-25 08:16:56 -05:00
Josh HawkinsandGitHub 1f98162377 Fixes (#17334)
* more docs updates

* debug view note

* hide notifications submenu if camera is disabled

* fix value replacement from incorrect i18n changes
2025-03-24 06:34:18 -06:00
Josh HawkinsandGitHub 678ae87c62 Dedicated LPR fixes (#17325)
* docs fps recommendation

* add detection_threshold to example

* send uncoverted yuv frame

* copy and convert

* ensure thumbnail is encoded as webp

* keep as jpeg
2025-03-23 17:15:15 -05:00
Josh HawkinsandGitHub e129fa6819 Fix missing key in example config (#17322) 2025-03-23 15:16:29 -06:00
Josh HawkinsandGitHub fa4643fddf LPR improvements (#17289)
* config options

* processing in maintainer

* detect and process dedicated lpr plates

* create camera type, add manual event and save snapshot

* use const

* ensure lpr events are always detections, typing fixes

* docs

* docs tweaks

* add preprocessing and penalization for low confidence chars
2025-03-23 13:30:48 -06:00
Josh HawkinsandGitHub b7fcd41737 UI tweaks (#17319) 2025-03-23 12:51:06 -06:00
Josh HawkinsandGitHub d32949017b Bugfixes and docs tweaks (#17307)
* ensure config file is updated with booleans instead of strings

* catch onvif error

* ensure object type is available as a ptz tracker

* update live view docs
2025-03-22 06:38:33 -06:00
Josh HawkinsandGitHub be56305b4e Small tweaks (#17275)
* Fix missing i18n key and make small UI tweak for disabled cameras

* simplify colors
2025-03-20 10:37:40 -06:00
Josh HawkinsandGitHub 512a1dfad6 Fix english rendering if timeago seconds (#17256) 2025-03-19 11:22:02 -05:00
Josh HawkinsandGitHub 7f966df5a4 Nginx fix: make locales public (#17248)
* make locales public

* remove cache
2025-03-19 06:50:36 -06:00
Josh HawkinsandGitHub 9f7ba51f39 Proxy i18n locales dir for ingress (#17223) 2025-03-18 08:08:44 -06:00
Josh HawkinsandGitHub fad62b996a Add Frigate+ pane to Settings UI (#17208)
* add plus data to config api response

* add fields to frontend type

* add frigate+ page in settings

* add docs

* fix label in explore detail dialog
2025-03-17 13:44:57 -05:00
Josh HawkinsandGitHub 03da70cb81 Refactor and clean up i18n (#17198)
* clean up i18n

* fix key

* fix key
2025-03-17 06:26:01 -06:00
Josh HawkinsandGitHub c724892158 i18n fixes (#17184)
* update PR template

* fix hook

* fix input

* fix hook

* add all audio detector keys

* add frigate+ keys

* fix spelling, formatting, and spacing

* fix labels

* capitalization

* fix timestamp

* fix menu

* fix plus text

* fix download label

* docs

* fix docs build

* fix docs formatting
2025-03-16 11:13:34 -06:00
Josh HawkinsandGitHub d87268acfe Small tweaks (#17168)
* Clean up repeated code in auth

* Ensure review status is migrated for anonymous users
2025-03-15 07:11:45 -06:00
Josh HawkinsandGitHub 5d524e8060 clarity for sub labels and recognized_license_plate (#17154) 2025-03-14 11:54:00 -05:00
Josh HawkinsandGitHub d2368f5cbb Use a recent time window for areas for autotracking zooming (#17150) 2025-03-14 09:09:16 -06:00
Josh HawkinsandGitHub fe078666c6 Ensure time range filter retains selected values (#17147) 2025-03-14 07:27:48 -06:00
Josh HawkinsandGitHub 8a17e2bfbf implement onvif retry mechanism (#17144) 2025-03-14 07:25:48 -05:00
Josh HawkinsandGitHub bf311e6467 Simplify auth check (#17138)
* simplify get_current_user

* add sanity check
2025-03-13 16:01:15 -05:00
Josh HawkinsandGitHub 4f6d70ded0 Review items per user (#17137)
* model

* migration

* api changes

* delete in cleanup

* fix tests
2025-03-13 14:20:09 -06:00
Josh HawkinsandGitHub c93b82d6e1 Ensure restart dialog isn't shown if config isn't saved successfully first (#17132) 2025-03-13 08:57:12 -06:00
Josh HawkinsandGitHub 124cc4c9cc Rename identifier field (#17128)
* backend rename

* frontend

* docs

* fix api path
2025-03-12 17:45:16 -06:00
Josh HawkinsandGitHub 6360802612 Use identifier field for unknown license plates (#17123)
* backend

* backend fixes

* api for search queries

* frontend

* docs

* add filterable scroll list to more filters pane for identifiers

* always publish identifier
2025-03-12 14:38:28 -06:00
Josh HawkinsandGitHub 4806d30406 Bugfixes (#17112)
* ensure disabled and offline messages don't overlay each other

* clean up enabled logic

* fix on demand recording button

* clean up
2025-03-12 06:09:09 -06:00
Josh HawkinsandGitHub c9382f8969 Add docs for user roles (#17093)
* Add docs for user roles

* header mapping docs
2025-03-11 08:05:42 -06:00
Josh HawkinsandGitHub 2be5225440 More auth role fixes (#17067)
* simplify check and handle comma separated roles

* spacing
2025-03-10 10:00:35 -05:00
Josh HawkinsandGitHub cb25bd4a88 Auth role bugfixes (#17066)
* get correct role from header map

* fix profile endpoint
2025-03-10 07:59:24 -06:00
Josh HawkinsandGitHub 1c6700c688 Ensure audio listener is defined before trying to stop ffmpeg (#17045) 2025-03-09 22:01:18 -06:00
Josh HawkinsandGitHub 9f9117c318 Ensure admin is default role (#17044) 2025-03-09 21:59:07 -06:00
Josh HawkinsandGitHub 1e0295fad5 LPR tweaks (#17046) 2025-03-09 21:58:31 -06:00
Josh HawkinsandGitHub 95b5854449 Small UI bugfix (#17035)
* test for more HA elements

* check if mobile and iOS instead of mobilesafari

* simplify

* fix for logs view
2025-03-09 07:47:10 -06:00
Josh HawkinsandGitHub cf3c0b2eb5 Prevent settings menu scroll on iOS proxy iframe from shifting entire UI (#17024) 2025-03-08 10:13:07 -06:00
Josh HawkinsandGitHub 74ca009b0b UI viewer role (#16978)
* 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
2025-03-08 10:01:08 -06:00
Josh HawkinsandGitHub 0e3e2e5ccc Add cameras filter to history view (#16995) 2025-03-06 19:00:15 -07:00
Josh HawkinsandGitHub ad0e89e147 Ensure disabling a camera also disables audio detection (#16961)
* Ensure disabling a camera also disables audio detection

* fix enabled state

* fix path
2025-03-05 06:30:23 -07:00
Josh HawkinsandGitHub 73f8c97d1d Docs updates (#16949)
* live and lpr docs updates

* disabled clarity

* more disable clarity

* clarify sync_recordings
2025-03-04 17:29:11 -07:00
Josh HawkinsandGitHub 76c35307b2 Ensure genai thumbnails are always jpegs (#16939) 2025-03-04 07:34:19 -07:00
Josh HawkinsandGitHub 5210d8c0a2 Add camera enable switch to mobile drawer (#16929) 2025-03-03 17:41:28 -07:00
Josh HawkinsandGitHub 531042467a Dynamically enable/disable cameras (#16894)
* 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
2025-03-03 08:30:52 -07:00
Josh HawkinsandGitHub 8d2f461350 Embeddings tweaks (#16864)
* make semantic search optional

* config

* frontend metrics

* docs

* tweak

* fixes

* also check genai cameras for embeddings context
2025-02-28 11:43:08 -07:00
Josh HawkinsandGitHub d0e9bcbfdc Add ability to use Jina CLIP V2 for semantic search (#16826)
* add wheels

* move extra index url to bottom

* config model option

* add postprocess

* fix config

* jina v2 embedding class

* use jina v2 in embeddings

* fix ov inference

* frontend

* update reference config

* revert device

* fix truncation

* return np tensors

* use correct embeddings from inference

* manual preprocess

* clean up

* docs

* lower batch size for v2 only

* docs clarity

* wording
2025-02-26 07:58:25 -07:00
Josh HawkinsandGitHub 447f26e1b9 Fix lpr metrics and add yolov9 plate detection metric (#16827) 2025-02-26 07:29:34 -07:00
Josh HawkinsandGitHub 1d8f1bd7ae Ensure sub label is null when submitting an empty string (#16779)
* null sub_label when submitting an empty string

* prevent cancel from submitting form

* fix test
2025-02-24 07:02:36 -07:00
Josh HawkinsandGitHub 9414e001f3 Edit sub labels from the UI (#16764)
* Add ability to edit sub labels from tracked object detail dialog

* add allowEmpty prop

* use TextEntryDialog

* clean up

* text consistency
2025-02-23 16:56:48 -07:00
Josh HawkinsandGitHub 202b9d1c79 Check websocket correctly when no cameras are enabled/defined (#16762) 2025-02-23 11:11:18 -07:00
Josh HawkinsandGitHub 22cbf74dc8 Fix frigate log deduplication (#16759) 2025-02-23 06:25:50 -07:00
Josh HawkinsandGitHub 71f1ea86d2 Add note for notifications on iOS devices (#16744) 2025-02-22 09:19:37 -06:00
Josh HawkinsandGitHub b3c1b21f80 Don't require model_runner for realtime processors (#16728) 2025-02-21 13:26:03 -07:00
Josh HawkinsandGitHub 60b34bcfca Refactor processors and add LPR postprocessing (#16722)
* recordings data pub/sub

* function to process recording stream frames

* model runner

* lpr model runner

* refactor to mixin class and use model runner

* separate out realtime and post processors

* move model and mixin folders

* basic postprocessor

* clean up

* docs

* postprocessing logic

* clean up

* return none if recordings are disabled

* run postprocessor handle_requests too

* tweak expansion

* add put endpoint

* postprocessor tweaks with endpoint
2025-02-21 06:51:37 -07:00
Josh HawkinsandGitHub 0083d09a8b Bugfix: ensure all object labels are added to zones (#16686) 2025-02-19 06:25:39 -07:00
Josh HawkinsandGitHub b34fb8bf7c Improve LPR and speed zone docs (#16685)
* Improve lpr and speed zone docs

* clarify

* clarify
2025-02-19 07:19:41 -06:00
Josh HawkinsandGitHub 2b3ab02ebf object path plotter per camera with time selection dropdown (#16676) 2025-02-18 20:55:16 -07:00
Josh HawkinsandGitHub 2277a88f4d Ensure range is undefined when canceling an export (#16673) 2025-02-18 11:50:32 -07:00
Josh HawkinsandGitHub b6db97d313 Add metadata title field to exports (#16664) 2025-02-18 08:48:03 -06:00
Josh HawkinsandGitHub 1d3de77f63 Reorganize Lifecycle components (#16663)
* reorganize lifecycle components

* clean up
2025-02-18 07:17:51 -07:00
Josh HawkinsandGitHub 4f88a5f2ad Object Lifecycle tweaks (#16648)
* Disable object path and add warning for autotracking cameras

* clean up
2025-02-17 16:03:51 -07:00
Josh HawkinsandGitHub b961235187 Tracking fixes (#16645)
* use config enabled check for ptz cam tracker

* ensure we have an object match before accessing score history

* add comment for clarity
2025-02-17 14:49:24 -07:00
Josh HawkinsandGitHub 124d92daa9 Improve Object Lifecycle pane (#16635)
* add path point tracking to backend

* types

* draw paths on lifecycle pane

* make points clickable

* don't display a path if we don't have any saved path points

* only object lifecycle points should have a click handler

* change to debug log

* better debug log message
2025-02-17 09:37:17 -07:00
Josh HawkinsandGitHub 3f07d2d37c Improve notifications (#16632)
* add notification cooldown

* cooldown docs

* show alert box when notifications are used in an insecure context

* add ability to suspend notifications from dashboard context menu
2025-02-17 07:19:03 -07:00
Josh HawkinsandGitHub 5264a18dfa Small fixes and docs tweaks (#16595)
* don't clear url params if we're creating a new object mask

* use correct threshold var in debug log

* docs tweak for mjpeg cameras
2025-02-15 06:56:45 -07:00
Josh HawkinsandGitHub 6bb1a5dfd2 fix renaming exports with a slash (#16588) 2025-02-14 19:18:14 -07:00
Josh HawkinsandGitHub 7b3556e4ad ensure we copy current frame to prevent a segfault crash (#16591) 2025-02-14 18:53:07 -06:00
Josh HawkinsandGitHub 9a07505075 More LPR improvements (#16587)
* define a format option and adjust thresholds

* config updates

* docs

* docs clarity
2025-02-14 15:12:36 -07:00
Josh HawkinsandGitHub 0b65137831 Return 404 for non-existent vod module media (#16586)
* Check if video source exists before showing player

* add comment

* also check 404

* language

* return 404 with vod module
2025-02-14 12:05:05 -07:00
Josh HawkinsandGitHub 729f5c0833 LPR improvements (#16559)
* use a small yolov9 model for detection

* use yolov9 for users without frigate+ and update retention algorithm

* new lpr config fields

* levenshtein distance package

* tweaks

* docs
2025-02-13 16:08:56 -07:00
Josh HawkinsandGitHub d6b5dc93cc Fix streaming dialog and use less text on register button (#16518) 2025-02-12 06:16:32 -07:00
Josh HawkinsandGitHub 11baf237bc Ensure all streaming settings are saved correctly on mobile (#16511)
* Ensure streaming settings are saved correctly on mobile

* remove extra check
2025-02-11 16:49:22 -07:00
Josh HawkinsandGitHub 2458f667c4 Refactor lpr into real time data processor (#16497) 2025-02-11 13:45:13 -07:00
Josh HawkinsandGitHub f3e2cf0a58 Small fix and docs update (#16499)
* Small docs tweak and bugfix

* don't remove page arg either
2025-02-11 13:23:41 -07:00
Josh HawkinsandGitHub a3ede3cf8a Snap points to edges and create object mask from bounding box (#16488) 2025-02-11 09:08:28 -07:00
Josh HawkinsandGitHub 4ef6214029 Tracking improvements (#16484)
* norfair tracker config per object type

* change default R back to 3.4

* separate trackers for static and autotracking cameras

* tweak params and fix debug draw

* ensure all trackers are correctly updated even when there are no detections

* basic reid with histograms

* check mp value

* check mp value again

* stationary objects won't have embeddings

* don't switch trackers when autotracking is toggled after startup

* improve motion detection during autotracking

* use helper function

* get histogram in tracker instead of detect
2025-02-11 09:37:58 -06:00
Josh HawkinsandGitHub 82f8694464 Toggle review alerts and detections (#16482)
* backend

* frontend

* docs

* fix topic name and initial websocket state

* update reference config

* fix mqtt docs

* fix initial topics

* don't apply max severity when alerts/detections are disabled

* fix ws merge

* tweaks
2025-02-11 07:46:25 -07:00
Josh HawkinsandGitHub c54259ecc6 use persistence for hls player muting (#16481) 2025-02-11 06:56:15 -07:00
Josh HawkinsandGitHub 7e48b3514c remove extraneous print from recordings summary code (#16468) 2025-02-11 05:19:54 -07:00
Josh HawkinsandGitHub f0270c6e34 fix non-awaited onvif calls (#16469) 2025-02-11 05:19:20 -07:00
Josh HawkinsandGitHub 9a0211a71c Improve Notifications (#16453)
* backend

* frontend

* add notification config at camera level

* camera level notifications in dispatcher

* initial onconnect

* frontend

* backend for suspended notifications

* frontend

* use base communicator

* initialize all cameras in suspended array and use 0 for unsuspended

* remove switch and use select for suspending in frontend

* use timestamp instead of datetime

* frontend tweaks

* mqtt docs

* fix button width

* use grid for layout

* use thread and queue for processing notifications with 10s timeout

* clean up

* move async code to main class

* tweaks

* docs

* remove warning message
2025-02-10 19:47:15 -07:00
Josh HawkinsandGitHub 72209986b6 Estimated object speed for zones (#16452)
* utility functions

* backend config

* backend object speed tracking

* draw speed on debug view

* basic frontend zone editor

* remove line sorting

* fix types

* highlight line on canvas when entering value in zone edit pane

* rename vars and add validation

* ensure speed estimation is disabled when user adds more than 4 points

* pixel velocity in debug

* unit_system in config

* ability to define unit system in config

* save max speed to db

* frontend

* docs

* clarify docs

* utility functions

* backend config

* backend object speed tracking

* draw speed on debug view

* basic frontend zone editor

* remove line sorting

* fix types

* highlight line on canvas when entering value in zone edit pane

* rename vars and add validation

* ensure speed estimation is disabled when user adds more than 4 points

* pixel velocity in debug

* unit_system in config

* ability to define unit system in config

* save max speed to db

* frontend

* docs

* clarify docs

* fix duplicates from merge

* include max_estimated_speed in api responses

* add units to zone edit pane

* catch undefined

* add average speed

* clarify docs

* only track average speed when object is active

* rename vars

* ensure points and distances are ordered clockwise

* only store the last 10 speeds like score history

* remove max estimated speed

* update docs

* update docs

* fix point ordering

* improve readability

* docs inertia recommendation

* fix point ordering

* check object frame time

* add velocity angle to frontend

* docs clarity

* add frontend speed filter

* fix mqtt docs

* fix mqtt docs

* don't try to remove distances if they weren't already defined

* don't display estimates on debug view/snapshots if object is not in a speed tracking zone

* docs

* implement speed_threshold for zone presence

* docs for threshold

* better ground plane image

* improve image zone size

* add inertia to speed threshold example
2025-02-10 13:23:42 -07:00
Josh HawkinsandGitHub dd7820e4ee Improve live streaming (#16447)
* 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
2025-02-10 09:42:35 -07:00
Josh HawkinsandGitHub 2a28964e63 Improve UI logs (#16434)
* use react-logviewer and backend streaming

* layout adjustments

* readd copy handler

* reorder and fix key

* add loading state

* handle frigate log consolidation

* handle newlines in sheet

* update react-logviewer

* fix scrolling and use chunked log download

* don't combine frigate log lines with timestamp

* basic deduplication

* use react-logviewer and backend streaming

* layout adjustments

* readd copy handler

* reorder and fix key

* add loading state

* handle frigate log consolidation

* handle newlines in sheet

* update react-logviewer

* fix scrolling and use chunked log download

* don't combine frigate log lines with timestamp

* basic deduplication

* move process logs function to services util

* improve layout and scrolling behavior

* clean up
2025-02-10 08:38:56 -07:00
Josh HawkinsandGitHub e207b2f50b Refactor export filenames to include start and end date/time (#16446) 2025-02-10 08:30:23 -07:00
Josh HawkinsandGitHub d5b60237a2 Improve display of recordings data (#16436)
* backend

* frontend

* add earliest recording available to storage metrics page
2025-02-09 16:02:36 -07:00
Josh HawkinsandGitHub bc96db8612 Add ability to set mqtt qos in config (#16435) 2025-02-09 16:45:04 -06:00
Josh HawkinsandGitHub c8cec63cb9 Object area debugging and improvements (#16432)
* add ability to specify min and max area as percentages

* debug draw area and ratio

* docs

* update for best percentage
2025-02-09 14:48:23 -07:00
Josh HawkinsandGitHub 83beacf84a Add autotracking calibration message (#16431)
* check autotracking calibration values before writing to config

* docs

* clarify log message
2025-02-09 14:29:08 -07:00
Josh HawkinsandGitHub cc2dbdcb44 Timeline improvements (#16429)
* 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
2025-02-09 14:13:32 -07:00
Josh HawkinsandBlake Blackshear ebf4403eca Add endpoint for fetching batch review items (#16254) 2025-02-08 12:47:01 -06:00
Josh HawkinsandBlake Blackshear 283f1b19a7 Only print line and key/value when a line number can be found (#15897) 2025-02-08 12:47:01 -06:00
Josh HawkinsandBlake Blackshear edab4efa42 Preserve line numbers in config validation (#15584)
* use ruamel to parse and preserve line numbers for config validation

* maintain exception for non validation errors

* fix types

* include input in log messages
2025-02-08 12:47:01 -06:00
Josh HawkinsandBlake Blackshear 8bb037f82e Use regular expressions for plate matching (#14727) 2025-02-08 12:47:01 -06:00
Josh HawkinsandBlake Blackshear af1eaac5ff LPR improvements (#14641) 2025-02-08 12:47:01 -06:00