Commit Graph

997 Commits

Author SHA1 Message Date
Josh Hawkins
3348af1e6d
add page titles for settings views (#11132) 2024-04-27 11:02:01 -06:00
Nicolas Mowen
f36e86feb6
Cleanup error gpu (#11130) 2024-04-27 11:26:51 -05:00
Josh Hawkins
ab032aa004
sane colors for themes (#11126) 2024-04-26 14:30:57 -06:00
Josh Hawkins
d0aefc2121
Camera group dialog changes and fixes (#11117)
* camera group dialog changes and fixes

* use drawer on mobile

* spacing
2024-04-25 17:19:31 -06:00
Nicolas Mowen
647bcb2618
Add camera fps to graphs (#11080)
* Add camera fps to graphs

* Use more generic name
2024-04-23 09:32:46 -05:00
Nicolas Mowen
2d71cd7fe2
Improve review mqtt topic (#11072)
* Don't request preview for current hour and fix content type

* Send before / after on messages

* Send before / after for end

* Handle specific cases

* remove log

* Fix update type
2024-04-22 21:20:30 -05:00
Josh Hawkins
d6e93d039d
Make all corners less rounded on mobile (#11068)
* make corners less rounded on mobile

* fix live dashboard classes
2024-04-22 09:12:45 -06:00
Josh Hawkins
ba3930ab02
Add status bar provider (#11066) 2024-04-22 08:20:23 -06:00
Josh Hawkins
acadfb6959
Fix array out of range error in reviews (#11059) 2024-04-21 19:03:43 -06:00
Josh Hawkins
57800d3843
Use export name in export deletion dialog instead of file id (#11049)
* use export name in dialog instead of file id

* add type for deletion
2024-04-20 07:44:59 -06:00
Josh Hawkins
3ca2d599d3
fix logs scrolling on mobile (#11045) 2024-04-19 17:01:45 -06:00
Nicolas Mowen
c83c13938c
Update deps (#11044)
* Update web deps

* Update docs deps

* Update python deps
2024-04-19 17:13:01 -05:00
Nicolas Mowen
bfefed4d6e
Dynamically scale the slider height when hovering + other UI tweaks (#11042)
* Make no thumb slider height dynamic

* Use existing switch component

* Use existing switch component for general filter content

* Show message when no reordings found for time

* Don't show while scrubbing

* Fix key error

* Fix background color for controls on motion page
2024-04-19 17:12:03 -05:00
Nicolas Mowen
fe4fb645d3
Save exports to database (#11040)
* Save review thumbs in dedicated folder

* Create exports table

* Save exports to DB and save thumbnail for export

* Save full frame always

* Fix rounded corners

* Save exports that are in progress

* No need to remove spaces

* Reorganize apis to use IDs

* Use new apis for frontend

* Get video playback working

* Fix deleting and renaming

* Import existing exports to DB

* Implement downloading

* Formatting
2024-04-19 17:11:41 -05:00
Josh Hawkins
3b0f9988df
UI tweaks (#11036)
* spacing, mobile navbar, and minor color updates

* tab scrolling behavior
2024-04-19 12:17:23 -05:00
Josh Hawkins
d6dfa596de
undo points based on order added to polygon (#11035) 2024-04-19 07:59:28 -06:00
Josh Hawkins
5f15641b1b
New mask/zone editor and motion tuner (#11020)
* initial working konva

* working multi polygons

* multi zones

* clean up

* new zone dialog

* clean up

* relative coordinates and colors

* fix color order

* better motion tuner

* objects for zones

* progress

* merge dev

* edit pane

* motion and object masks

* filtering

* add objects and unsaved to type

* motion tuner, edit controls, tooltips

* object and motion edit panes

* polygon item component, switch color, object form, hover cards

* working zone edit pane

* working motion masks

* object masks and deletion of all types

* use FilterSwitch

* motion tuner fixes and tweaks

* clean up

* tweaks

* spaces in camera name

* tweaks

* allow dragging of points while drawing polygon

* turn off editing mode when switching camera

* limit interpolated coordinates and use crosshair cursor

* padding

* fix tooltip trigger for icons

* konva tweaks

* consolidate

* fix top menu items on mobile
2024-04-19 05:34:07 -06:00
Nicolas Mowen
a1905f5604
Remove gifs and use existing views (#11027)
* Use existing components for preview filmstrip instead of gif

* Allow setting format
2024-04-18 22:34:57 -05:00
Nicolas Mowen
0bad001ac9
Show coral temps on system page if available (#11026) 2024-04-18 22:34:16 -05:00
Nicolas Mowen
fb721ad031
UI fixes (#11012)
* Get pip working correctly

* Fix system graphs click and hover states
2024-04-18 11:34:18 -05:00
Nicolas Mowen
a87cca23ea
Add ability to link to review items directly (#11002)
* Fix action group icon colors

* Add ability to query specific review item

* Pull id search key and open recordings to review item
2024-04-17 07:02:03 -05:00
Nicolas Mowen
ff823b87c8
Add support for arbitrary sub labels in reviews (#10990)
* store arbitrary sub labels

* Include sub labels in tooltip

* Update tooltips on filmstrip

* Fix item display

* Fix bug with creating review segment
2024-04-16 15:56:28 -05:00
Nicolas Mowen
9be5951076
UI tweaks (#10998)
* Make buttons consistent and have hover state

* Use switch for camera to be consistent

* Use everywhere and remove unused

* Use green for normal stats color

* Fix logs copy icon

* Remove warnings from pydantic serialization

* Ignore warnings

* Fix wsdl resolution

* Fix loading on switch
2024-04-16 15:55:24 -05:00
Nicolas Mowen
a823a18496
Fix camera switching and loading position (#10982)
* Fix alignment

* Set loading when switching cameras
2024-04-16 15:21:52 -05:00
Nicolas Mowen
d7ae0eedf8
More UI tweaks (#10974)
* Show loading indicator when switching between preview and recording if it takes a while

* Scroll down to avoid automatic upscroll
2024-04-14 14:43:43 -06:00
Nicolas Mowen
7f424bb3f8
UI Improvements (#10972)
* Update web deps

* Fix tooltip on storage page

* Always show video controls even when zooming

* Get video controls working when video is paused

* Fix control hovering

* Add loading indicator to logs tab

* Show metrics correctly when hovering graph

* Show loading indicators for previews on recordings page

* Remove vitest update

* remove unused

* Make volume props optional
2024-04-14 10:14:10 -06:00
Nicolas Mowen
a3e2171675
Implement score filtering on Frigate+ Page (#10968)
* Fix portrait layout disappearing

* Refactor sliders

* Reuse camera filter

* Reuse label filter content

* Implement score slider including keyboard input

* Implement ability to sort frigate plus submissions
2024-04-14 10:06:11 -06:00
Nicolas Mowen
11dc407b36
Further improve event loading (#10949)
* Further improve loading

* Add document titles to pages

* Cleanup
2024-04-12 07:31:30 -05:00
Nicolas Mowen
13cac082d5
UI tweaks (#10946)
* fix warning

* Improve event switching speed

* Fix icon colors

* Only show frigate+ page when frigate+ is enabled

* Add link from reecordings to live as well
2024-04-11 15:54:09 -05:00
Josh Hawkins
7a7ae81d50
always use full resolution time when dragging (#10939) 2024-04-11 07:29:34 -06:00
Nicolas Mowen
fb6f415b27
Fix build formatting (#10937) 2024-04-11 07:49:21 -05:00
Nicolas Mowen
049f27d710
Ongoing review segments (#10924)
* Update review maintainer to save events when ongoing

* Handle previews for in progress review items

* Reset DB items in app

* Handle in progress review items

* Scroll back down to selected event item

* Handle undefined end time

* Formatting

* remove unused

* Make export handles have full resolution

* reduce preview thumbnail props

* fix missing return

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-04-11 07:42:16 -05:00
Nicolas Mowen
cf7698e7e1
Fix vertical camera layout scaling (#10936) 2024-04-11 07:39:53 -05:00
Nicolas Mowen
3d43c5e811
Ui Tweaks (#10920)
* Cleanup live activity indicators for cameras

* Rename to reviews and redirect events to reviews

* Use reviews

* Remove plural

* Simplify recordings view

* Adjust icon
2024-04-10 08:40:17 -05:00
Nicolas Mowen
503dfba719
Fix button colors (#10915)
* Simplify button colors

* fix colors

* Add back in colors

* Fix color vars
2024-04-09 18:19:31 -05:00
Nicolas Mowen
524732ec73
Improve stats (#10911)
* Add overview stats for overall detection and skipped fps

* Fix intel memory stats

* Fix iOS image long pressing

* Cleanup
2024-04-09 17:08:11 -06:00
Josh Hawkins
ef52a1d6f0
Fix colors for default light mode theme (#10909)
* fix colors for default light mode theme

* remove redundancy

* fix export dialog

* don't use primary-foreground

* change secondary button variant to be default button

* change filters button to bg-selected when filtering

* slightly lighten secondary-foreground in light mode

* fix mobile motion only button
2024-04-09 17:49:14 -05:00
Nicolas Mowen
c08a198354
Always handle random lines on frigate logs (#10904) 2024-04-09 08:53:21 -05:00
Josh Hawkins
9281093740
fix export button colors (#10903) 2024-04-09 07:49:14 -06:00
Nicolas Mowen
c577361923
Fix frigate startup stats (#10887) 2024-04-08 18:19:00 -05:00
Josh Hawkins
55018372d4
Fix button color dark mode logic (#10884)
* fix button color dark mode logic

* make calendar use active color when not default
2024-04-08 11:34:15 -05:00
Josh Hawkins
f210c4b6f4
UI tweaks and bugfixes (#10882)
* small tweaks and bugfixes

* spacing

* simplify
2024-04-08 07:35:35 -06:00
Nicolas Mowen
8148a4f9d6
Update web deps (#10875) 2024-04-07 15:37:54 -05:00
Nicolas Mowen
25d81b5c6d
Improve Landscape mobile views (#10873)
* Fix landscape live view

* Improve recording landscape view

* Fix height
2024-04-07 15:37:33 -05:00
Nicolas Mowen
12e6e43d6c
Add y axis to camera stats graphs (#10854)
* Add y axis to camera stats graphs

* Add y axis to gneral graph too

* Improve data label distribution

* Cleanup
2024-04-07 15:36:28 -05:00
Nicolas Mowen
cf2dfd9a54
Redesign logs page (#10853)
* Adjust outline and structure to match designs

* More color changes to fit design

* Properly parse go2rtc severity

* Add ability to filter by clicking item

* Implement sheet / drawer for viewing full log

* Add toast and filtering

* Add links to docs when specific log items are selected

* Cleanup log seeking

* Use header in layout

* Fix mobile menus

* Fix safari theme

* Hide rings

* Theme adjustment
2024-04-07 15:36:08 -05:00
Nicolas Mowen
b26ceff44d
Add ability to search exports (#10850)
* Add ability to search exports

* Fix export saving
2024-04-07 15:35:45 -05:00
Josh Hawkins
5085fa7135
UI bugfixes and tweaks (#10848)
* fix ios z-index scrolling bug

* skeleton size
2024-04-05 08:44:00 -05:00
Nicolas Mowen
2318e79502
Cleanup (#10846)
* Hide motion playback controls during scrubbing

* Fix portrait recordings on mobile

* Don't apply to desktop
2024-04-05 08:38:05 -05:00
Nicolas Mowen
fb7cfe5471
Implement camera stats graphs (#10831)
* Implement camera graphs

* Cleanup naming

* Cleanup rendering

* Cleanup spacing

* Fix audio name

* theme updates to match design corretly

* Mobile color fixes

* Mobile color fixes
2024-04-04 15:55:04 -05:00
Josh Hawkins
466a9104e5
Motion review improvements (#10833)
* render skeleton for preview player until motion data is loaded

* skeleton for timeline
2024-04-04 14:54:58 -06:00
Nicolas Mowen
42559fa55d
Storage Graphs (#10826)
* Rename graph

* Use separate view for general metrics

* Get storage graph formatted

* Show camera storage usage

* Cleanup ticks

* Remove storage link

* Add icons and frigate logo

* Undo

* Use optimistic state for metrics toggle

* Use optimistic state and skeletons for loading
2024-04-04 10:24:23 -06:00
Josh Hawkins
46e3157c7f
optimistic ui for mobile buttons too (#10827) 2024-04-04 09:46:19 -06:00
Nicolas Mowen
80e330594b
Fix exports (#10824)
* Avoid crash from opening motion time right now

* Cleanup export margins

* Fix mobile filter

* Fix export

* Improve spacing
2024-04-04 10:43:54 -05:00
Josh Hawkins
fbc0da6016
Optimistic UI (#10825)
* debounce motion only button

* implement custom hook

* optimistic severity toggle

* optimistic reviewed switch
2024-04-04 09:09:19 -06:00
Nicolas Mowen
0096a6d778
Implement general page of system graphs (#10815)
* Reorganize stats and show graphs in system metrics

* Break apart all cpu / mem graphs

* Auto update stats

* Show camera graphs

* Get system graphs working for inference time

* Update stats every 10 seconds, keeping the last 10 minutes

* Use types for thresholds

* Use keys api

* Break system metrics into different pages

* Add dialog for viewing and copying vainfo

* remove unused for now

* Formatting

* Make tooltip match theme

* Make betters color in light mode

* Include gpu

* Make scaling consistent

* Fix name

* address feedback
2024-04-03 21:22:11 -06:00
Josh Hawkins
427c6a6afb
Timeline tweaks (#10816)
* limit handles from overdragging when segments don't fill up timeline

* use separate state for switch

* add key
2024-04-03 19:20:47 -06:00
Nicolas Mowen
483d64e419
Don't show warning for disabled cameras (#10811) 2024-04-03 11:56:04 -05:00
Nicolas Mowen
59335c0628
Redesign log page and pull logs in chunks (#10809)
* Redesign log page to have formatting

* Support other log types as well

* fix border

* Support log data format

* Only load necessary logs

* Load incrementally

* Cleanup

* Cleanup

* Render all items

* avoid flashing scroll to bottom

* Fix not listening at first

* Always ensure logLine is defined

* Group logs based on timestamp

* Formatting

* remove scrollbar

* Don't repull when there are no items to pull

* Add newline to end

* Fix log lines missing

* typo
2024-04-03 11:55:13 -05:00
Nicolas Mowen
476a900708
Add ability to rename exports (#10791)
* Add ability to rename exports

* Address feedback
2024-04-03 09:02:07 -05:00
Nicolas Mowen
15dcf1fcc8
Don't stop mse in background when using pip (#10794)
* Don't stop mse when pip is enabled and not visible

* Cleanup visibility listener
2024-04-02 14:39:11 -05:00
Nicolas Mowen
759ad427d5
Link live recordings (#10799)
* Add button to link to recordings from camera live view

* Change name and show text on both

* Use history button next to back button

* Match designs better
2024-04-02 14:25:02 -05:00
Josh Hawkins
d7a87fff60
move span inside of content to fix crash (#10790) 2024-04-02 07:07:38 -06:00
Nicolas Mowen
4d8d3cd22e
Live view improvements (#10781)
* Show frigate features in bottom sheet on mobile

* Use flex wrap on mobile so the ptz icons are not cutoff

* Support opening pip from live view

* Remove unused
2024-04-02 07:45:16 -05:00
Josh Hawkins
bd70bf1c31
fix outlines (#10779) 2024-04-01 10:03:10 -06:00
Josh Hawkins
99878d9eee
use single lookup for motion data (#10778) 2024-04-01 09:57:35 -06:00
Nicolas Mowen
52f65a4dc4
Use drawer instead of dropdown menu for mobile settings (#10761)
* Separate settings items so layout is more consistent

* Convert settings on mobile to drawer

* Fix sizing on mobile and make scrollable

* remove padding

* Use dialog instead of popover

* Don't focus on first item

* Simpler tab fix
2024-04-01 10:31:31 -05:00
Josh Hawkins
7fac91dce4
UI tweaks and bugfixes (#10775)
* fix wrong segments when changing filters in motion only mode

* pixel alignment, better outlines, and more figma matching

* fix stats from crashing the ui

* separate layout from aspect classes

* check for invalid value

* avoid undefined classnames
2024-04-01 08:23:57 -06:00
Nicolas Mowen
5853393396
Fix mobile playback (#10774) 2024-04-01 09:20:27 -05:00
Nicolas Mowen
5b5606cb8a
Make export date/time respect configured timezone in config (#10750)
* Make export page timezone aware

* Fix changeover
2024-03-30 14:07:30 -05:00
Nicolas Mowen
4d522be7fb
Improve review book keeping (#10735)
* Improve review book keeping

* Cleanup

* Cleanup for new labels

* Final cleanup

* Fix sub label checking
2024-03-30 13:45:42 -05:00
Nicolas Mowen
89f843cf95
Implement alerts when a potential problem is detected (#10734)
* Implement alerts on statusbar when a potential problem is detected

* Add alert to mobile
2024-03-30 13:45:13 -05:00
Nicolas Mowen
190cdc471a
Recording fixes (#10728)
* Use timerange everywhere and ensure recordings has last 24 hours

* Pause recording when selecting timeline

* Fix loading layout

* Fix updating current time not always working

* Simplify dynamic video player

* Clean up desktop sizing

* Fix current hour

* Make padding consistent

* Improve spacing for extra cameras

* Make back button consistent

* Fix preview player not jumping to correct time

* Dont use useEffect due to preview changing

* Simplify

* Fix transition
2024-03-30 13:44:12 -05:00
Josh Hawkins
7d3b481181
fix missing collapsed prop after refactor (#10751) 2024-03-30 09:51:03 -06:00
Nicolas Mowen
0223d6df60
UI Tweaks (#10727)
* Fix drawer not being scrollable

* Fix margin

* Use 2 columns for large mobile devices

* Move padding

* Add review summary to mobile calendar

* Make header spacing consistent between pages

* remove red
2024-03-28 11:53:36 -06:00
Josh Hawkins
36d5e5b45f
Timeline tweaks for mobile (#10726)
* add dense prop, combine duplicate code, fix mobile bug

* put segment height in hook

* playground
2024-03-28 10:03:06 -05:00
Nicolas Mowen
985b2d7b27
Cleanup event filters (#10724)
* Add specific button / switch for showing reviewed items and use intermediate drawer for mobile

* Match design for filters
2024-03-28 09:43:05 -05:00
Nicolas Mowen
35ecb342bb
Fix inconsistent spacing (#10714)
* Fix inconsistent spacing

* Fix motion button alignment
2024-03-28 07:49:38 -05:00
Nicolas Mowen
f3abc590e7
Fix camera list not scrolling (#10713) 2024-03-27 18:24:41 -05:00
Nicolas Mowen
4e800e19ff
Mobile recordings redesign (#10711)
* Only show back button text on desktop

* Add mobile camera drawer to separate component

* Use bottom sheet for export on mobile

* Add intermediary mobile bottom sheet

* fix filter

* Fix mobile layout jumping

* Fix desktop vertical camera view

* Fix horizontal camera list

* Add overlay instead of using same button for timeline exports

* Don't use native hls for now

* Fix export bottom sheet

* Fix scrolling

* Simplify checks

* Adjust hls compat approach

* Fix events shadow

* Make corners consistent

* Make corners consistent

* fix max drawer height

* Use separate buttons for export control

* Add icons

* Fix list views

* Fix new items to review

* bottom padding on bottom sheets

* bottom padding on bottom sheets
2024-03-27 18:03:05 -05:00
Nicolas Mowen
d5989c91a8
Make deleting review items delete recordings as well (#10707)
* Make deleting review items delete recordings as well

* Fix wrong camera bug
2024-03-27 08:22:28 -05:00
Josh Hawkins
98a1e6ee22
fix draggable element pixel alignment (#10708) 2024-03-27 07:21:38 -06:00
Nicolas Mowen
d945e77443
Quick UI fixes (#10695)
* Quick fixes

* remove log
2024-03-26 18:54:00 -06:00
Nicolas Mowen
8f69edeb33
Add ability to export from recordings page (#10692)
* Add dialog to export recordings

* Add export dialog functionality

* Add ability to name exports

* Add ability to choose custom time range on timeline

* Add ability to choose custom time range on timeline

* Add custom time selection

* Make hot keys optional for typing name of export

* Tweaks to dialog

* Tweaks to dialog

* round corners more

* Final tweaks
2024-03-26 15:37:45 -06:00
Josh Hawkins
c82ed43c13
Timeline tweaks (#10693)
* make segment height static

* fix timeline overscrolling

* better alignment of motion timeline segments
2024-03-26 15:36:28 -06:00
Nicolas Mowen
1377d33e25
Redesign Recordings View (#10690)
* Use full width top bar

* Make each item in review filter group optional

* Remove export creation from export page

* Consolidate packages and fix opening recording from event

* Use common type for time range

* Move timeline to separate component

* Add events list view to recordings view

* Fix loading of images

* Fix incorrect labels

* use overlay state for selected timeline type

* Fix up for mobile view for now

* replace overlay state

* fix comparison

* remove unused
2024-03-26 15:03:58 -06:00
Josh Hawkins
1cd374d3ad
add option to only scrollintoview initially (#10689) 2024-03-26 10:29:07 -06:00
Josh Hawkins
6fbd272acf
Add tooltips for review item chips (#10685)
* tooltips for review item chips

* use flexbox instead of margins
2024-03-26 07:07:49 -06:00
Josh Hawkins
bc6b4c38b8
improve timeline scrolling with dynamic speed (#10677) 2024-03-25 20:29:42 -06:00
Nicolas Mowen
30d93e1d90
Improve refreshing of review items (#10675) 2024-03-25 21:25:06 -05:00
Josh Hawkins
71c7504de5
fix timeline upward scrolling limit (#10673) 2024-03-25 14:56:20 -06:00
Nicolas Mowen
6dd6ca5de5
Only allow visible cameras to go live on dashboard (#10671)
* Only show live cameras that are currently visible

* Add back black background

* fix
2024-03-25 15:56:13 -05:00
Josh Hawkins
51db63e42b
Motion review changes (#10667)
* Add outlines in motion only mode

* fix playground
2024-03-25 10:19:55 -06:00
Josh Hawkins
7b64091128
Motion review playback optimizations (#10659)
* handle motion timestamps with ranges

* check for overlaps when checking segment for events

* rename motion color vars to significant_motion for consistency

* safelist significant_motion

* rename vars for clarity and use timeout instead of interval
2024-03-24 20:37:44 -06:00
Josh Hawkins
37f60f7140
UI changes (#10651)
* Check if event time is in segment

* conditionally render minimap bounds for event segments
2024-03-24 11:39:28 -06:00
Nicolas Mowen
0fda7147be
UI tweaks (#10645)
* Use green chip instead of dimming to show that item has been reviewed

* Redesign log page to use similar style to events

* Use icon only in mobile

* Remove unused
2024-03-24 12:23:39 -05:00
Josh Hawkins
f91dc37399
Add outline for alerts/detections in motion review (#10642) 2024-03-24 06:54:34 -06:00
Nicolas Mowen
d260c6926a
Fix safari preview transition (#10638) 2024-03-23 18:47:25 -05:00
Nicolas Mowen
e3a7aa6b6c
Smooth transitions between preview scrubbing (#10636)
* Use canvas to save video state before switching to smooth transitions between previews

* Smooth current hour as well
2024-03-23 17:11:35 -06:00
Nicolas Mowen
bb50b2b6f4
Respect motion only when playing back (#10632)
* Respect motion only when playing back motion

* Increase efficiency

* Fix import
2024-03-23 14:49:31 -05:00
Josh Hawkins
3a9607e59b
Add relative movement by clicking on camera image for supported ptzs (#10629) 2024-03-23 10:53:33 -06:00
Nicolas Mowen
63bf986e08
Add ability to set playback speed on motion playback (#10628)
* Allow control of playback rate on motion page

* Apply playback rate
2024-03-23 11:24:57 -05:00
Josh Hawkins
4159334520
option to show motion only on motion timeline (#10626) 2024-03-23 07:33:50 -06:00
Nicolas Mowen
8e1d18d06b
Move keyboard controls to video controls (#10617) 2024-03-22 22:11:50 -05:00
Nicolas Mowen
622dddd2c4
Motion playback (#10609)
* Move controls to separate component and make features configurable

* Allow playback on motion screen

* Simplify layout

* Fix seeking

* Fix playback

* fix preview scrubbing

* Fix player controls visibility

* Use opacity for both dark and light mode
2024-03-22 11:56:53 -05:00
Nicolas Mowen
83517f59b4
WebUI Fixes (#10608)
* Fix camera with -

* Fix not playing player after making slight adjustment

* Fix hovering getting stuck
2024-03-22 09:31:20 -05:00
Josh Hawkins
0ac7aaabe3
Timeline minimap and scrolling changes (#10589)
* add function to get visible timeline duration

* Don't show minimap when minimap bounds exceed timeline area

* when minimap is hidden, only scroll timeline when needed

* observe only when not showing minimap

* no need to duplicate observer

* fix out of order param

* timeline utils hook props

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-03-21 11:49:04 -06:00
Nicolas Mowen
973275e163
Update rest of web deps (#10588)
* Update easy deps

* Update shadcn deps

* Update date functions and fix breaking change

* Remove unused
2024-03-21 09:26:13 -05:00
Josh Hawkins
4040191101
fixes and changes (#10587) 2024-03-21 08:00:04 -06:00
Nicolas Mowen
865c26ff18
Update recordings view (#10585)
* Update recordings view

* Fix opening recordings view from gif
2024-03-21 08:43:37 -05:00
Josh Hawkins
f113acee33
Summary timeline (#10569)
* implement summary timeline

* implement summary timeline

* merge dev

* conditionally attach listeners only when dragging

* set up listeners with a ref
2024-03-20 20:56:15 -06:00
Nicolas Mowen
c8fd23caa1
Update web deps (#10564) 2024-03-20 20:56:56 -05:00
Nicolas Mowen
8babe57d63
UI cleanup (#10567)
* Fix selected items text

* Use action icons from design and fix spacing

* Fix icons for live grid

* Fix viewed select api

* Setup default theme as system

* Make conig editor respect system theme
2024-03-20 20:46:45 -05:00
Nicolas Mowen
f474bc4037
Always check previews when refocusing the page (#10546) 2024-03-19 22:16:22 -05:00
Nicolas Mowen
741f0a5115
Update Web deps (#10544)
* Bump react-icons from 4.12.0 to 5.0.1 in /web

Bumps [react-icons](https://github.com/react-icons/react-icons) from 4.12.0 to 5.0.1.
- [Release notes](https://github.com/react-icons/react-icons/releases)
- [Commits](https://github.com/react-icons/react-icons/compare/v4.12.0...v5.0.1)

---
updated-dependencies:
- dependency-name: react-icons
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update jsdom

* Update drawer component

* Bump eslint

* Update more deps

* Fix lint

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 22:06:00 -05:00
Nicolas Mowen
ab6bac1d2c
Clean up selected data for recording (#10537) 2024-03-19 15:56:38 -05:00
Nicolas Mowen
f835e86df1
Don't use apple icon for android pwa (#10535)
* Don't use apple icon for android

* Fix dimensions

* fix icon name
2024-03-19 08:41:24 -05:00
Nicolas Mowen
ccdf9a2f0a
Fix preview getting wrong update time (#10534)
* Fix preview getting wrong update time

* remove dead logic

* Cleanup

* Fix case where multiple previews play at the same time

* Fix typing
2024-03-19 08:34:49 -05:00
Josh Hawkins
d249e5b27f
Timeline fixes and export handles (#10522)
* select an export range from timeline

* height tweak
2024-03-18 14:58:54 -06:00
Nicolas Mowen
880bae1eb2
Fix android/chrome seeking on previews (#10512) 2024-03-17 18:53:47 -06:00
Josh Hawkins
e4d0e222e3
move handlebar timestamp outside of timeline on mobile (#10501) 2024-03-17 07:28:50 -06:00
Nicolas Mowen
1983de6528
Consolidate recordings view into one (#10496) 2024-03-17 07:30:19 -05:00
Nicolas Mowen
4e8600a0ef
Maintain existing overlay state when setting hash (#10495) 2024-03-17 07:29:59 -05:00
Nicolas Mowen
cf6ef84271
Mark items as reviewed when manually seeking (#10494) 2024-03-17 07:29:41 -05:00
Josh Hawkins
89bd3867a9
Make all motion segments clickable (#10488) 2024-03-15 19:26:13 -06:00
Nicolas Mowen
c14f3c3902
Fix frigate+ submit and recordings layouts for portrait cameras (#10486)
* Fix plus submission dialog

* Different layout for portrait recordings

* Fix now preview found pulsing

* Fix bug with uneven milliseconds

* Improve consistency of video scaling
2024-03-15 18:28:57 -05:00
Nicolas Mowen
64763293a2
Add birdseye live view (#10485)
* Add birdseye viewer and make it linkable

* Add on click from main dashboard
2024-03-15 18:28:32 -05:00
Nicolas Mowen
380b15b286
WebUI Fixes (#10481)
* Update previews on the hour

* Allow tap to toggle controls so zooming still works

* Use hash location insteaad of state for live camera view

* Add typing
2024-03-15 13:46:17 -05:00
Josh Hawkins
c93b186eda
Fix switching camera group bug (#10478)
* give default group a name

* use "default" as default value

* optional param

* fix string

* clean up
2024-03-15 08:59:41 -06:00
Nicolas Mowen
df0291db5c
Fix zoom scaling for live view (#10479) 2024-03-15 09:57:58 -05:00
Nicolas Mowen
f5a26c5962
Add ability to zoom in to live and recordings views (#10475)
* Make live view zoomable

* Add zooming to full recordings
2024-03-15 07:03:14 -06:00
Nicolas Mowen
c66f552280
Improve Recordings loading (#10462)
* Show skeleton until video players finishes loading

* Clean up android logic

* Ensure mobile view video is consistent

* Cleanup

* Only show when not scrubbing

* Don't use loading

* Start preview at correct time too

* Fix react race condition

* Be wait for seek to show video player
2024-03-15 07:52:38 -05:00
Nicolas Mowen
d882cb0f63
Add skeleton for loading exports and improve spacing on bottom sheet (#10463)
* Add skeleton for loading exports and improve spacing on bottom sheet

* Hide non object frigate plus items
2024-03-15 05:59:03 -06:00
Nicolas Mowen
8d85a69203
Update UI and then run api call (#10460) 2024-03-14 15:49:03 -05:00
Josh Hawkins
6a02e65fc2
Use Inter webfont instead of ttf (#10456) 2024-03-14 09:50:06 -06:00
Josh Hawkins
98977f1ded
dim motion segments for motion during alerts and detections (#10454) 2024-03-14 09:35:13 -06:00
Josh Hawkins
39a29d148e
Recording scrubbing fixes (#10439)
* use a single source of truth for scrubbing

* simplify controller state

* Cleanup scrubbing logic

* Apply same logic to mobile

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-03-14 08:28:06 -06:00
Nicolas Mowen
2decdeadb4
Persist selected camera group for live (#10448)
* Persist camera group selected

* Cleanup
2024-03-14 08:27:27 -06:00
Blake Blackshear
a660e3ae27
use credentials for webmanifest (#10447) 2024-03-14 06:36:56 -06:00
Nicolas Mowen
8937e3fd59
Mute video by default and allow control of volume (#10435)
* Mute video by default and allow control of volume

* Adjust volume behavior

* Adjust volume behavior

* Simplify more
2024-03-13 18:13:52 -05:00
Nicolas Mowen
c88a263a23
Cleanup gifs (#10434) 2024-03-13 17:37:15 -05:00
Nicolas Mowen
f9ed082e35
Use react lazy to break js files into smaller chunks & remove videojs in favor of hls.js (#10431)
* Use dynamic imports to reduce initial load times

Remove videojs

* Convert to using hls.js instead of videojs

* Improve mobile controls experience

* Cleanup

* Ensure playback rate stays teh same when source changes

* Use webp for latest camera image

* Switch to hls.js on error

* Don't rerun error if hls already tried

* Fix error checking

* also check for media decode error to fallback to HLS

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-03-13 15:24:24 -05:00
Nicolas Mowen
0e8350ea7f
Fix jumping to segment in recordings view (#10424)
* Fix skeletons showing incorrectly

* Handle clicking segment from different time range
2024-03-13 09:05:01 -05:00
Nicolas Mowen
52ce6190ae
Fix two way talk starting webrtc session (#10422)
* Fix two way talk starting webrtc session

* Remove logs
2024-03-13 09:04:11 -05:00
Josh Hawkins
79ca599ace
Fix jsmpeg player component (#10425)
* fix jsmpeg component

* preserve aspect ratio

* remove forcing of jsmpeg

* full height only
2024-03-13 08:00:37 -06:00
Nicolas Mowen
9d01a7dc74
Fix gif layout (#10421) 2024-03-13 08:58:46 -05:00
Nicolas Mowen
b8e472643d
Optimize web config to be installed as PWA (#10405)
* Update values and add site manifest

* Use appropriate icon types

* Add purpose to all

* Adjust dark theme color

* Remove unused
2024-03-12 19:58:29 -06:00
Nicolas Mowen
09cf54c731
Improve preview loading (#10406)
* Use skeleton for gif loading

* cache gifs as well

* Show skeleton when switching previews

* Fix touch controls for mobile

* Fix android mobile scrub logic

* Cleanup
2024-03-12 18:19:16 -05:00
Nicolas Mowen
92255f771b
Add micropohone button for two way talk (#10408) 2024-03-12 18:19:02 -05:00
Josh Hawkins
9e10b914c9
Add ability to add legacy birdseye to camera groups (#10404)
* initial try

* add birdseye

* remove vite

* cleanup

* memoize

* remove console

* ensure birdseye is actually enabled in config

* birdseye first in select list and fix jsmpeg player size
2024-03-12 13:53:01 -06:00
Josh Hawkins
dce2e9b366
filter review items and motion to be main camera in recordings view only (#10403) 2024-03-12 11:08:31 -06:00
Nicolas Mowen
8c0275fe2f
Add special casing for android preview scrubbing (#10398)
* Add special casing for android scrubbing

* Fix motion data
2024-03-12 09:24:18 -06:00
Nicolas Mowen
483a95b06b
Override default player controls (#10401)
* Override default player controls

* Improve mouse behavior
2024-03-12 09:24:07 -06:00
Josh Hawkins
a2b0ca07cc
UI tweaks (#10402)
* add minor ticks to timeline

* don't display motion events on veritcal bars on motion timeline

* color tweaks and spacing on config editor

* pad start and end of timeline to ensure handlebar is always visible
2024-03-12 09:23:54 -06:00
Nicolas Mowen
579a7c8900
Fix preview update (#10388) 2024-03-11 21:42:13 -05:00
Nicolas Mowen
1c5d6765a1
Preview improvements (#10384)
* Write preview frames as webp instead of jpg and ensure webp are cached in nginx

* Support preview player that shows current hour images

* Update to get preview player working

* Use timestamp based recordings check instead of calendar

* Start motion review from current time

* Adjust layout

* Use preview players for previews

* remove vite

* Cleanup

* Fix up the layout
2024-03-11 18:31:05 -05:00
Josh Hawkins
fa22f01f39
use flexbox for recordings view (#10385) 2024-03-11 17:07:56 -05:00
Nicolas Mowen
8d4b9bc7ed
Indicate on calendar which days have unreviewed activity (#10381) 2024-03-11 10:14:41 -05:00
Nicolas Mowen
838ef636f8
Layout tweaks (#10365)
* Cleanup review items

* Fix spacing

* Fix -1 text

* Cleanup scroll

* Show activity indicator when review items are null

* Show no preview text when not found

* Add padding to buttons

* Simplify comparisons
2024-03-11 08:05:44 -05:00
Josh Hawkins
cac5bccbe7
Fix segments on motion review (#10370)
* fix segments on motion review

* remove unneeded data attribute
2024-03-11 06:56:36 -06:00
Nicolas Mowen
ee239744d8
Redesign exports page (#10359)
* Redesign exports page

* Cleanup

* fix overhange
2024-03-10 07:25:16 -06:00
Josh Hawkins
70825bc938
rename vars and change which div is absolutely positioned (#10358) 2024-03-10 07:23:36 -06:00
Nicolas Mowen
efaa95b742
Fix dst offset calculation (#10357) 2024-03-10 08:17:48 -05:00
Nicolas Mowen
b910db4f05
Fix handling of recordings and switching cameras (#10351)
* Fix handling of recordings and switching cameras

* mobile switch

* Cleanup

* Cleanup autoplay

* Remove vite
2024-03-10 08:17:09 -05:00
Nicolas Mowen
62d13024f6
Adjustments and fixes (#10346)
* Increase duration of alerts and detections

* Add key

* Fix cancel button

* Fix motion review when switching days

* Add reset buttons and make calendar apply immediately

* Adjust apis for motion and audio activity

* Write review thumbs as webp and reduce size
2024-03-09 07:08:06 -07:00
Nicolas Mowen
086eb37ece
Cleanup to use new preview video player in dynamic player (#10335)
* Cleanup to use new preview video player

* Make it so motion persists the selected time

* Don't jump when player first starts

* Get autoplay working right
2024-03-08 17:24:12 -06:00
Josh Hawkins
05a66ce90d
Timeline handlebar tweaks (#10336)
* initial offset click for desktop only

* align start timeline and update pixel math
2024-03-08 15:49:10 -07:00
Nicolas Mowen
3d539c93eb
Fix motion review (#10329)
* Break preview only video player out

* Simplify

* Load after current preview changes

* Clear out waiting for seek state

* Start at correct time of hour

* Fix layout for tall video
2024-03-08 11:56:00 -06:00
Nicolas Mowen
ea5cb4fd8b
Rework mobile drawers to have a max height (#10330) 2024-03-08 11:14:58 -06:00
Josh Hawkins
cb3045b424
Handlebar dragging fix (#10333)
* account for initial click position on handlebar when dragging

* fix wrong start time in playground
2024-03-08 09:13:42 -07:00
Josh Hawkins
dfab850b61
Better segment clicking (#10321)
* better segment clicking on motion segments

* move handlebar on click when handlebar is showing

* only scroll handlebar if needed
2024-03-07 21:02:29 -07:00
Nicolas Mowen
507c6afa2c
Add filters to plus page and fix layout (#10320) 2024-03-07 18:32:26 -06:00
Nicolas Mowen
90a40d2509
Fix motion and recording views (#10318)
* Fix switching between different hours

* Simplify book keeping of different time ranges

* Rewrite player to handle changing of previews outside of video player

* Simplify switching between cameras

* Fix previews causing cameras to not load

* Simplify listeners

* Always clear existing listener
2024-03-07 18:31:43 -06:00
Nicolas Mowen
fc6d6a4e9a
Fix layout shifting (#10313)
* Fix layout shifting

* Change value for current data

* Fix motion scrubbing lockout
2024-03-07 10:11:24 -06:00
Nicolas Mowen
8776cdfd5b
Tweaks fixes (#10311)
* Save numbers as int instead of string

* Fix hover logic

* Fix delay for new alerts

* Fixup dialog and marking item as uploaded

* Make preview progress larger and easier to grab

* Allow hovering to control preview on desktop
2024-03-07 08:34:11 -06:00
Nicolas Mowen
b2931bcaa9
Remove paging (#10310)
* Remove paging and use reviewed as an internal filter

* Fix new reviews not going away
2024-03-07 08:33:36 -06:00
Nicolas Mowen
ccb5e05e3e
Cleanup overlay state with types and use overlay for severity (#10299) 2024-03-06 19:17:35 -06:00
Nicolas Mowen
3d90f50d84
Ability to add, edit, and delete camera groups in the UI (#10296)
* Add dialog for creating new camera group

* Support adding of camera groups and dynamically updating the config

* Support deleting and edit existing camera groups

* Don't show separator if user has no groups

* Formatting

* fix background
2024-03-06 19:15:50 -06:00
Josh Hawkins
90db27e3c8
Scrolling fixes and motion timeline changes (#10295)
* scrolling updates

* only scroll by 1 segment on desktop
2024-03-06 14:35:10 -07:00
Nicolas Mowen
fb81e44283
UI Tweaks (#10289)
* Use different cursor for dragging preview

* Improve filters UI and add audio labels

* Use switch and adjust colors

* Disable chromecast button and remove dimming

* Change marked reviewed text
2024-03-06 14:49:51 -06:00
Nicolas Mowen
55077a0bc9
Add page for submitting to frigate+ (#10273)
* Add screen for submitting to frigate+

* Fix sizing
2024-03-06 06:24:21 -06:00
Nicolas Mowen
68ed18d3f4
Reviewed buttons (#10271)
* mark items as reviewed when they are opened

* Update api to use json and add button to mark all as reviewed

* fix api so last24 hours has its own review summary

* fix sidebar spacing

* formatting

* Bug fixes

* Make motion activity respect filters
2024-03-05 18:39:37 -06:00
Josh Hawkins
b5edcd2fae
better timeline scrolling behavior when dragging (#10269) 2024-03-05 14:53:49 -07:00
Josh Hawkins
ed99be0856
Live camera aspect ratio fixes (#10266)
* dynamically manage aspect ratio

* full size

* always use camera aspect ratio for mobile

* no need for different handling for pano cams

* don't set aspect ratio on fullscreen
2024-03-05 13:19:56 -07:00
Nicolas Mowen
9e8a42ca0e
Motion timeline data (#10245)
* Refactor activity api to send motion and audio data

* Prepare for using motion data timeline

* Get working

* reduce to 0

* fix

* Formatting

* fix typing

* add motion data to timelines and allow motion cameas to be selectable

* Fix tests

* cleanup

* Fix not loading preview when changing hours
2024-03-05 13:55:44 -06:00
Blake Blackshear
43c623be25
upgrade deps (#10257)
* upgrade web deps

* docs deps

* actions deps
2024-03-05 07:00:27 -06:00
Nicolas Mowen
30b68e59f2
Multi cam recording view (#10244)
* Split recording view for mobile and desktop and get desktop working

* Get stuff working well

* Handle onclick for video

* Fix camera grid

* set onclick
2024-03-05 06:03:10 -06:00
Nicolas Mowen
bbdb8d36ca
Improve review data (#10246)
* Adjust remaining summary items when items are marked as reviewed

* Add api for filtering and show correct number when filtering

* Fix default group config

* Update review summary when data is reloaded

* Fix quick items not getting reviewed
2024-03-05 06:02:34 -06:00
Nicolas Mowen
b4b2162ada
Camera groups (#10223)
* Add camera group config

* Add saving of camera group selection

* Implement camera groups in config and live view

* Fix warnings

* Add tooltips to camera group items on desktop

* Add camera groups to the filters for events

* Fix tooltips and group selection

* Cleanup
2024-03-04 16:18:30 -07:00
Josh Hawkins
38e76666e7
Motion timeline updates (#10242)
* adjust segment math

* simplify interp and fix math

* fix math and update dependency

* push debug

* Revert "push debug"

This reverts commit 07c171b341.
2024-03-04 15:18:27 -07:00
Josh Hawkins
282c92c9c8
Motion review timeline (#10235)
* initial motion and audio timeline with dummy data

* initial motion and audio timeline with dummy data
2024-03-04 09:42:51 -07:00
Josh Hawkins
0f168dfc1a
fix overflowing review timeline on mobile (#10231) 2024-03-04 06:35:10 -07:00
Josh Hawkins
85ce672b53
add tooltip portal (#10233) 2024-03-04 06:34:23 -07:00
Nicolas Mowen
c2a537ce22
Motion review (#10221)
* Break detection grid into separate function

* Implement backward preview jump and jump lockout

* ensure lockout is engaged when starting

* Add preview only mode to make loading more efficeint

* remove scrollbar and match gaps/margins with live view

* Rewrite dynamic player to use html video for preview and fix grid gaps

* consistent check for aspect ratio for tall cameras

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-03-03 22:21:30 -06:00
Nicolas Mowen
d3f9fd1a60
Review summary (#10196)
* Create review summary api to get information about reviewed and unreviewed events on each day

* remove unused

* Fix tests

* Format tests

* Fix
2024-03-03 18:19:02 -06:00
Nicolas Mowen
1441a83151
Fix resolution of timeline dragging (#10219) 2024-03-03 18:17:24 -06:00
Josh Hawkins
a515697e08
Use touch events for mobile review timeline (#10212)
* mobile touch events

* rebase

* fix scroll mode

* clean up deps and remove unneeded useeffect

* remove vite
2024-03-03 12:50:38 -07:00
Josh Hawkins
c74eb75554
Update camera activity indicator (#10208)
* new indicator

* create indicators directory and update imports

* create indicators directory and update imports

* remove vite
2024-03-03 09:32:47 -07:00
Josh Hawkins
312dc95156
More intelligent timeline scrolling (#10209)
* more intelligent timeline scrolling

* keep as div
2024-03-03 09:32:35 -07:00
Nicolas Mowen
8645545ef4
Add support for live fullscreen mode (#10191)
* Fix timeline colors

* Add support for full screen mode

* Add support for live view full screen

* Cleanup

* Add border to sidebar and statusbar
2024-03-02 21:59:50 -06:00
dependabot[bot]
0022c1aad0
Bump @types/node from 20.11.19 to 20.11.24 in /web (#10168)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.19 to 20.11.24.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-02 13:37:12 -07:00
dependabot[bot]
d008dd0e27
Bump autoprefixer from 10.4.16 to 10.4.17 in /web (#10129)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.16 to 10.4.17.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.16...10.4.17)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-02 13:36:17 -07:00
dependabot[bot]
41da8e8b25
Bump react-router-dom from 6.20.1 to 6.22.2 in /web (#10148)
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.20.1 to 6.22.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.22.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-02 13:35:34 -07:00
Nicolas Mowen
837f30cbf0
Update frontend colors to match style guide (#10188)
* Get main background colors going

* Finish sidebar

* Get light mode colors working

* Adjust icons

* Adjust icons

* remove unused

* Fix mobile colors
2024-03-02 09:00:50 -06:00
Nicolas Mowen
5028a9632e
Individual live view (#10178)
* Get live camera view working

* Get ptz working

* Add button for ptz presets

* Add camera feature buttons

* Add button for camera audio

* Cleanup

* Cleanup mobile live

* Only use landscape check on mobile
2024-03-01 18:43:02 -06:00
Nicolas Mowen
a67e970fca
Implement scroll lock for previews (#10180)
* Implement scroll lock

* Fix seekbar not working
2024-03-01 17:34:41 -07:00
Nicolas Mowen
ebf34ce378
Revamp multiselect (#10172)
* Just use multiselect for mobile

* Update revamped design and add export to values

* Get actions looking good on mobile and desktop
2024-03-01 11:56:45 -06:00
Josh Hawkins
a49e1bbc64
Timeline handlebar changes (#10170)
* auto scrolling handlebar with preview time

* tablets can show 2 columns on the event view grid

* font sizes

* hide minimap when previewing
2024-03-01 08:36:13 -07:00
Nicolas Mowen
49530dc2e4
Handle case where review spans across two hours (#10169) 2024-03-01 07:19:26 -07:00
Nicolas Mowen
63d8c3662a
Add multiselect and batch actions to review items (#10161)
* Implement context menu for batch operations and implement apis

* reduce preview calculations on rerenders

* Add button to mark above items as reviewed

* Use context menu for mark as reviewed

* Cleanup
2024-02-29 19:53:29 -07:00
Nicolas Mowen
dcc0886305
Fix tooltips (#10154)
* use portal for tooltips

* Fix tooltips for desktop and mobile nav bars

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-03-01 00:59:26 +00:00
Nicolas Mowen
e7f8bca2c3
Preview player upgrades (#10152)
* Implement manual slider control for previews

* Automatically end preview video on mobile

* Show current time on timeline

* remove z height
2024-03-01 00:58:50 +00:00
Nicolas Mowen
3bf2a496e1
Fix linter and fix lint issues (#10141) 2024-02-28 16:23:56 -06:00
Nicolas Mowen
b6ef1e4330
Fix reload spamming (#10139) 2024-02-28 14:25:02 -06:00
Nicolas Mowen
d416ae86d7
Fix tall cameras not fitting in current hour frame (#10136) 2024-02-28 14:24:49 -06:00
Nicolas Mowen
b5becad63f
Use alerts for live page gifs and allow opening recordings directly from them (#10135)
* Use alerts for gifs at top instead of events

* Add ability to open to recordings from event gif

* cleanup

* Formatting

* Add padding
2024-02-28 14:24:34 -06:00
Josh Hawkins
dce4e3fb0b
Make full recordings view usable on mobile (#10134)
* adapt timeline to mobile

* remove unused

* tweaks

* pointer cursor on segments

* make full recordings view look better on mobile

* explicitly set timeline width for md

* button positioning
2024-02-28 08:57:56 -07:00
Nicolas Mowen
a978adc5a9
Fix reload (#10109)
* Fix reloading data

* Don't show new review data when not looking at last 24 hours

* Fix refresh button and no items text

* Cleanup
2024-02-28 08:16:32 -06:00
Nicolas Mowen
8072ce25c6
Use persistence for live layout (#10114)
* Use persistence for live layout

* Fix typing

* Fix persistence typing

* remove type

* More type fixing
2024-02-28 08:16:16 -06:00
Josh Hawkins
485057abc1
Adapt review timeline for mobile devices (#10120)
* adapt timeline to mobile

* remove unused

* tweaks

* pointer cursor on segments
2024-02-28 06:18:08 -07:00
Nicolas Mowen
9893741990
Update tailwind css and cleanup classNames (#10107)
* Bump tailwindcss from 3.3.5 to 3.4.1 in /web

Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.3.5 to 3.4.1.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.3.5...v3.4.1)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update tailwind css and cleanup

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 03:40:57 +00:00
Nicolas Mowen
7fa9a3df42
Update web deps (#10108)
* Bump vitest from 1.0.0 to 1.3.1 in /web

Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 1.0.0 to 1.3.1.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v1.3.1/packages/vitest)

---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump clsx from 2.0.0 to 2.1.0 in /web

Bumps [clsx](https://github.com/lukeed/clsx) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/lukeed/clsx/releases)
- [Commits](https://github.com/lukeed/clsx/compare/v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: clsx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump @vitejs/plugin-react-swc from 3.5.0 to 3.6.0 in /web

Bumps [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/vitejs/vite-plugin-react-swc/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react-swc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react-swc/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react-swc"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump react-use-websocket from 4.5.0 to 4.7.0 in /web

Bumps [react-use-websocket](https://github.com/robtaussig/react-use-websocket) from 4.5.0 to 4.7.0.
- [Release notes](https://github.com/robtaussig/react-use-websocket/releases)
- [Commits](https://github.com/robtaussig/react-use-websocket/commits)

---
updated-dependencies:
- dependency-name: react-use-websocket
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 03:40:08 +00:00
Nicolas Mowen
3fed6a0ab3
Implement swipe gesture instead of autoplay for mobile (#10110)
* Implement swipe gesture instead of autoplay

* Cleanup
2024-02-28 03:39:06 +00:00
Nicolas Mowen
fd24007618
Revamp mobile UI (#10103)
* Simplify nav components

* Allow ability to choose live layout on mobile

* Combine event views

* Undo vite

* Fix autoplay

* Remove import

* Show filters on mobile view

* Spacing

* Don't separate properties
2024-02-27 15:39:05 -06:00
Josh Hawkins
622e9741c0
Review timeline improvements (#10102)
* make event bars clickable

* outline and scroll when segment is clicked

* match outline colors to event type

* hover thumbnails

* make event bars clickable

* outline and scroll when segment is clicked

* match outline colors to event type

* hover thumbnails

* fix merge from rebase

* remove minimap opacity classes

* live player outline colors

* safelist shadow classes
2024-02-27 12:41:26 -07:00
Nicolas Mowen
8663fbba01
Fix autoplay (#10099) 2024-02-27 12:24:15 -06:00
Nicolas Mowen
d94710171d
Don't lazy load on iOS and don't use skeleton (#10096)
* Don't lazy load on iOS and don't use skeleton

* Cleanup banner

* All safari
2024-02-27 10:55:14 -06:00
Nicolas Mowen
21defbea9d
Rewrite websocket to use tracked state instead of context (#10091)
* Rewrite websocket to use tracked state instead of context

* Cleanup

* Use component for updating items

* Fix scroll update

* Don't save vite
2024-02-27 09:05:28 -07:00
Nicolas Mowen
f95ce913b1
Publish finished reviews to mqtt / ws and use that for source of update banner (#10072)
* Add reviews to frontend

* Update ready when new review is saved

* fix

* Formatting
2024-02-27 06:37:39 -07:00
Nicolas Mowen
849f343b25
Reduce rerenders on some components (#10068)
* Remove direct callback

* don't rerender for callback

* Move websocket to top level events

* Be smarter about updating timeago

* Cleanup
2024-02-26 16:08:55 -06:00
Nicolas Mowen
e9076c0213
Show correct time range when time filter is active (#10066)
* Show correct time range when time filter is active

* remove console
2024-02-26 14:47:44 -06:00
Nicolas Mowen
20578de9d0
Conditionally show no items (#10065)
* Conditionally show no items

* Clean up view
2024-02-26 14:47:20 -06:00
Nicolas Mowen
3c5ed474af
Add message when there are no items to review (#10064) 2024-02-26 12:00:49 -07:00
Josh Hawkins
93bd9ded88
Faster skeleton with refs (#10063)
* don't load metadata until image has loaded

* correct class name and remove lazy loading pkg

* try refs

* hook

* don't load metadata until image has loaded

* correct class name and remove lazy loading pkg

* try refs

* hook
2024-02-26 11:34:52 -07:00
Nicolas Mowen
1dd904d89a
Don't show minimap when view is not scrollable (#10062) 2024-02-26 12:31:21 -06:00
Nicolas Mowen
76ad91f9b5
remove vis timeline (#10059)
* remove vis timeline

* Cleanup playground

* Cleanup

* fix
2024-02-26 12:00:53 -06:00
Josh Hawkins
da04dc0918
Skeleton fixes (#10060)
* don't load metadata until image has loaded

* correct class name and remove lazy loading pkg
2024-02-26 10:55:44 -07:00
Nicolas Mowen
2fd7fe7928
Update web deps (#10058)
* Bump follow-redirects from 1.15.3 to 1.15.5 in /web

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.5.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump prettier from 3.1.0 to 3.2.5 in /web

Bumps [prettier](https://github.com/prettier/prettier) from 3.1.0 to 3.2.5.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.1.0...3.2.5)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump monaco-yaml from 4.0.4 to 5.1.1 in /web

Bumps [monaco-yaml](https://github.com/remcohaszing/monaco-yaml) from 4.0.4 to 5.1.1.
- [Release notes](https://github.com/remcohaszing/monaco-yaml/releases)
- [Commits](https://github.com/remcohaszing/monaco-yaml/compare/v4.0.4...v5.1.1)

---
updated-dependencies:
- dependency-name: monaco-yaml
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump swr from 2.2.4 to 2.2.5 in /web

Bumps [swr](https://github.com/vercel/swr) from 2.2.4 to 2.2.5.
- [Release notes](https://github.com/vercel/swr/releases)
- [Commits](https://github.com/vercel/swr/compare/v2.2.4...v2.2.5)

---
updated-dependencies:
- dependency-name: swr
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump msw from 2.0.10 to 2.2.1 in /web

Bumps [msw](https://github.com/mswjs/msw) from 2.0.10 to 2.2.1.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.0.10...v2.2.1)

---
updated-dependencies:
- dependency-name: msw
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump vite from 5.0.5 to 5.1.4 in /web

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.5 to 5.1.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 10:21:21 -06:00
Josh Hawkins
8d96111184
Use skeleton for review image loading (#10040)
* don't show chips and date when image is loading

* add skeleton and change observer threshold

* remove debug

* use skeleton for live view too

* old activity indicator looks better on live

* fix gradients and lazy load with skeleton

* fading effects
2024-02-26 09:07:54 -07:00
Nicolas Mowen
4061be602d
Automatically skip to next preview / clip when watching full recordings (#10055)
* Fix useEffect and try to load next clip for preview

* Get scrubbing to next preview working

* Handle skipping to next preview
2024-02-26 10:04:56 -06:00
Nicolas Mowen
7b11ff1af6
Fix reviewed filter (#10039) 2024-02-25 15:36:18 -07:00
Nicolas Mowen
4e5546cc78
Fix reviewed filter (#10038) 2024-02-25 15:49:08 -06:00
Nicolas Mowen
9801534f11
Implement Review Filters (#10031)
* Get cameras filter working

* Implement label and review filters

* Fix

* Add time selection

* Cleanup

* Cleanup

* cleanup

* remove commented code

* Fix
2024-02-25 13:04:44 -06:00
Nicolas Mowen
4a7c159a44
Convert preview player to use html5 video (#10016)
* Convert preview player to use html5

* Cleanup

* Increase padding and use constant

* Firefox doesn't support high fps either

* Cleanup

* no need to special case firefox
2024-02-25 12:37:53 -06:00
Nicolas Mowen
c7e9fe7234
Live preview gifs should be updated on refocus (#10007) 2024-02-24 07:50:33 -06:00
Nicolas Mowen
d73c8bb90c
Fix overlay in safari and firefox (#10015) 2024-02-24 07:48:18 -06:00
Nicolas Mowen
318cdeb005
Fade (#10010) 2024-02-23 18:38:57 -06:00
Nicolas Mowen
3621f93d40
Review items right click menu (#10002)
* Add custom context menu for review items

* Only show mark as reviewed when it has not been reviewed

* Fix float comparison
2024-02-23 17:26:26 -07:00
Nicolas Mowen
50ab988d81
Add button to scroll to bottom of logs (#10006)
* Add button to scroll to bottom of logs

* Cleanup
2024-02-23 18:25:00 -06:00
Nicolas Mowen
74a8fee69c
Use manual jpg when preview is not finished yet (#9997)
* Use manual jpg when preview is not finished yet

* Ensure safe filename and improve sorting

* Ensure name is correct

* Formatting
2024-02-23 14:38:11 -06:00
Josh Hawkins
64eaf60b24
remove overflow and scrollbar classes from grid (#10000) 2024-02-23 09:39:19 -07:00
Josh Hawkins
de3a6a8738
fix pointer events on review grid (#9998) 2024-02-23 08:30:18 -07:00
Josh Hawkins
7d18c2c03d
UI tweaks (#9996)
* various tweaks

* update debounce time

* scroll to top with new events
2024-02-23 06:52:54 -07:00
Josh Hawkins
a6aa5328aa
UI fixes (#9986)
* scroll minimap to keep it in view

* remove console log

* change ref

* rebase to dev

* rebase to dev

* rebase to dev

* fix history flexbox and live extra scrollbar

* remove extra class
2024-02-22 20:15:50 -07:00
Nicolas Mowen
f84d2db406
Recordings viewer (#9985)
* Reduce redundant code and don't pull new items when marking as reviewed

* Chunk recording times and run playback

* fix overwriting existing data

* Implement scrubbing

* Show refresh button

* Remove old history

* Fix race condition

* Cleanup handling

* Remove console
2024-02-22 18:03:34 -06:00
Josh Hawkins
9d8b568438
timeline zooming demo (#9980) 2024-02-22 09:28:05 -06:00
Josh Hawkins
a5a1a54c55
Expose setter for review timeline handlebar (#9978)
* expose setter for handlebar

* use as much resolution as possible
2024-02-22 08:16:37 -06:00
Nicolas Mowen
746939ed4f
Fix safari preview speed and other cleanup (#9976)
* Cleanups and fix safari preview speed on iOS

* Clarifying comment

* Update paging when loading page with no items

* Use chip for detections and show all the time

* make time ago dense

* Be smarter about paging empty

* Fix elevation
2024-02-22 07:08:55 -07:00
Nicolas Mowen
6626b8d758
Show statusbar with cpu and gpu stats (#9968)
* Show statusbar with cpu and gpu stats

* fix gif logic
2024-02-21 20:27:02 -06:00
Nicolas Mowen
509e46adc8
Review segment UI (#9945)
* Add ui for events

* Display data for review items

* Use preview thumbnails

* Implement paging

* Show icons for what was detected

* Show progress bar on preview thumbnail

* Hide the overlays on hover and update reviewed status

* Dim previews that have been reviewed

* Show audio icons

* Cleanup preview thumb player

* initial implementation of review timeline

* Use timeout for hover playback

* Break apart mobile and desktop views

* Show icons for sub labels

* autoplay first video on mobile

* Only show the last 24 hours by default

* Rework scrolling to fix nested scrolling

* Final scroll cleanups

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-02-21 13:07:32 -07:00
Josh Hawkins
be4b570346
Review timeline bugfixes (#9962)
* fix severity logic

* timestamp line height

* use timestamp for end of timeline instead of duration
2024-02-21 10:58:41 -07:00
Josh Hawkins
cdd6ac9071
Implement event review timeline (#9941)
* initial implementation of review timeline

* hooks

* clean up and comments

* reorganize components

* colors and tweaks

* remove touch events for now

* remove touch events for now

* fix vite config

* use unix timestamps everywhere

* fix corner rounding

* comparison

* use ReviewSegment type

* update mock review event generator

* severity type enum

* remove testing code
2024-02-20 23:22:59 +00:00
Nicolas Mowen
8c4811ed69
Use webrtc for safari live view (#9839)
* Move safari function

* Use webrtc for safari

* Use taller aspect ratio for tall thumbnails

* Simplify thumbnail sizing

* Use correct aspect ratio on all devices
2024-02-14 18:19:55 -06:00
Josh Hawkins
fa384a7f9d
ensure jsmpeg canvas is rounded and clipped (#9842) 2024-02-13 23:25:28 +00:00
Nicolas Mowen
63bc1b1582
Improve thumbnails and live player (#9828)
* Don't show gif until event is over and fix aspect

* Be more efficient about updating events

* ensure previews are sorted

* Don't show live view when window is not visible

* Move debug camera to separate view

* Improve jpg loading

* Ensure still is updated on player live finish

* Don't reload when window not visible

* Only disconnect instead of full remove

* Use start time instead of event over to determine gif
2024-02-13 01:28:36 +00:00
Josh Hawkins
f54cb21bd0
UI changes (#9823)
* fix button within button

* add subtle overlay gradient

* try disconnecting to improve memory usage

* rounded corners on gradients
2024-02-12 17:34:45 -06:00
Nicolas Mowen
bcbea8da7d
Create API to create gif from previews and show instead of still thumbnails (#9786)
* Start working on animation

* Change output file

* Create preview gif

* Show animated gif for event thumb

* Remove favorite

* Cleanup
2024-02-11 07:23:45 -06:00
Josh Hawkins
9de09f6cdf
fix tooltips on mobile and make 2-row cameras full height (#9787) 2024-02-11 06:30:52 -06:00
Josh Hawkins
2d22800a3d
Set aspect ratios on live display (#9780)
* set aspect ratios on live display

* try 8/9
2024-02-10 16:28:23 +00:00
Nicolas Mowen
64988c9be0
Streamline live view (#9772)
* Break out live page

* Improving layouts and add chip component

* Improve default camera player sizing

* Improve live updating

* Cleanup and fit figma

* Use fixed height

* Masonry layout

* Fix stuff

* Don't force heights

* Adjust scaling

* Cleanup

* remove sidebar (#9731)

* remove sidebar

* keep sidebar on mobile for now and add icons

* Fix revalidation

* Cleanup

* Cleanup width

* Add chips for activity on cameras

* Remove dashboard from header

* Use Inter font (#9735)

* Show still image when no activity is occurring

* remove unused search params

* add playing check for webrtc

* Don't use grid at all for single column

* Fix height on mobile

* a few style updates to better match figma (#9745)

* Remove active objects when they become stationary

* Move to sidebar only and make settings separate component

* Fix layout

* Animate visibility of chips

* Sidebar is full screen

* Fix tall aspect ratio cameras

* Fix complicated aspect logic

* remove

* Adjust thumbnail aspect and add text

* margin on single column layout

* Smaller event thumb text

* Simplify basic image view

* Only show the red dot when camera is recording

* Improve typing for camera toggles

* animate chips with react-transition-group (#9763)

* don't flash when going to still image

* revalidate

* tooltips and active tracking outline (#9766)

* tooltips

* fix tooltip provider and add active tracking outline

* remove unused icon

* remove figma comment

* Get live mode working for jsmpeg

* add small gradient below timeago on event thumbnails (#9767)

* Create live mode hook and make sure jsmpeg can be used

* Enforce env var

* Use print

* Remove unstable

* Add tooltips to thumbnails

* Put back vite

* Format

* Update web/src/components/player/JSMpegPlayer.tsx

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
Co-authored-by: Blake Blackshear <blake@frigate.video>
2024-02-10 05:30:53 -07:00
Josh Hawkins
92a0705b03
show version in production builds (#9602) 2024-02-05 17:55:08 -06:00
Nicolas Mowen
f4310862aa
WebUI Improvements and fixes (#9613)
* Show toast instead of text for success and errors

* Show correct times

* Start playing next hour when current hour ends

* Fix refreshing camera image

* Fix timeline
2024-02-05 17:54:08 -06:00
Nicolas Mowen
c5819478d3
Web & ffmpeg bug fixes (#9525)
* Fix scaling for long timeline lists

* Better handle taller video in player

* Fix birdseye options

* Fix ffmpeg auto detect
2024-02-01 06:44:10 -06:00
Nicolas Mowen
af3f6dadcb Improve graph using pandas (#9234)
* Ensure viewport is always full screen

* Protect against hour with no cards and ensure data is consistent

* Reduce grouped up image refreshes

* Include current hour and fix scrubbing bugginess

* Scroll initially selected timeline in to view

* Expand timelne class type

* Use poster image for preview on video player instead of using separate image view

* Fix available streaming modes

* Incrase timing for grouping timline items

* Fix audio activity listener

* Fix player not switching views correctly

* Use player time to convert to timeline time

* Update sub labels for previous timeline items

* Show mini timeline bar for non selected items

* Rewrite desktop timeline to use separate dynamic video player component

* Extend improvements to mobile as well

* Improve time formatting

* Fix scroll

* Fix no preview case

* Mobile fixes

* Audio toggle fixes

* More fixes for mobile

* Improve scaling of graph motion activity

* Add keyboard shortcut hook and support shortcuts for playback page

* Fix sizing of dialog

* Improve height scaling of dialog

* simplify and fix layout system for timeline

* Fix timeilne items not working

* Implement basic Frigate+ submitting from timeline
2024-01-31 12:56:11 +00:00
Nicolas Mowen
9c4b69191b Add graph showing motion and object activity to history timeline desktop view (#9184)
* Add timeline graph component

* Add more custom colors and improve graph

* Add api and data

* Fix data sorting

* Add graph to timeline

* Only show timeline for selected hour

* Make data full range
2024-01-31 12:56:11 +00:00
Nicolas Mowen
6dd9d54f70 UI Fixes (#9177)
* Fix mobile crash

* Reduce tap timeout

* Fix selection

* Try to fix safari empty frame

* Fix config editor
2024-01-31 12:56:11 +00:00
Josh Hawkins
d2ab44ce72 Reactify MSE player component (#9163)
* make mse a functional component with react hooks

* iOS 17 fixes

* birdseye mse

* remove debug

* fix test
2024-01-31 12:56:11 +00:00
Nicolas Mowen
160e331035 Improve desktop timeline view (#9150)
* Break apart mobile and desktop timeline views

* Set aspect ratio for player correctly

* more modest default width

* Add timeline item card

* Get video player to fit

* get layout going

* More work on youtube view

* Get video scaling working

* Better dialog sizes

* Show all timelines for day

* Add full day of timelines

* Improve hooks

* Fix previews

* Separate mobile and desktop views and don't rerender

* cleanup

* Optimizations and improvements

* make preview dates more efficient

* Remove seekbar and use timeline as seekbar

* Improve background and scrubbing
2024-01-31 12:56:11 +00:00
Nicolas Mowen
a946a8f099 Refactor history viewer to show player / timeline for full hour and use preview while scrubbing timeline (#9051)
* Move history card view to separate view and create timeline view

* Get custom time scrubber working

* Add back nav

* Show timeline bounding boxes

* Implement seeking limiter

* Use browser history to allow back button to close timeline viewer

* Fix mobile timeline and add more icons for detections

* Play when item is initially visible
2024-01-31 12:56:11 +00:00
Nicolas Mowen
9a0dfa723a Add logs to new webui (#9118)
* Add logs to new webui

* Automatically refresh logs while viewing

* Clean up hooks
2024-01-31 12:56:11 +00:00
Nicolas Mowen
9efb6b1caf Add mse live view (#9117) 2024-01-31 12:56:11 +00:00
Nicolas Mowen
928dbd8335 Update dashboard cameras dynamically (#9100)
* Automatically update camera image when detecting objects and show activity indicators

* Update ws typing

* Cleanup type
2024-01-31 12:56:11 +00:00
Nicolas Mowen
a1e5c658d5 Add support for filtering history page and add support for creating timeline entries for audio / custom events (#9034)
* Add filter popover

* Add api filter hook and use UI with filtering

* Get history filtering working for cameras and labels

* Allow filtering on detail level

* Save timeline entries for api events

* reset

* fix width
2024-01-31 12:56:11 +00:00
Nicolas Mowen
feb3ee0703 Allow deletion of history items (#9030)
* Allow deletion of history items

* Remove type
2024-01-31 12:56:11 +00:00
Josh Hawkins
7bec162353 Scrubber UI component (#9036)
* add scrubber and ui playground when running dev

* fix mobile dropdown menu width

* timeline scrubber and revamp for all event handlers
2024-01-31 12:56:11 +00:00
Nicolas Mowen
2236ae5d3b Add jsmpeg support to new webUI and make birdseye default for live page (#8995)
* Add jsmpeg and make birdseye default for live view

* Fix jsmpeg

* Fix
2024-01-31 12:56:11 +00:00
Nicolas Mowen
f8d114cd33 Webui cleanups (#8991)
* Fix mobile event timeago

* Reduce preview playback rate for safari browser

* Fix dashboard buttons

* Update recent events correctly

* Fix opening page on icon toggle

* Fix video player remote playback check

* fix history image

* Add sticky headers to history page

* Fix iOS empty frame

* reduce duplicate items and improve time format

* Organize data more effictively and ensure data is not overwritten

* Use icon to indicate preview
2024-01-31 12:56:11 +00:00
Blake Blackshear
bdebb99b5a Use new UI (#8983)
* fixup build

* swap frontends
2024-01-31 12:56:11 +00:00
Nicolas Mowen
b1cd5f0926 Add external sub label as timeline entry (#8855)
* Add external sub label to timeline

* Include icon

* Update timeline.py

Co-authored-by: Sergey Krashevich <svk@svk.su>

* Formatting

---------

Co-authored-by: Sergey Krashevich <svk@svk.su>
2024-01-31 12:56:11 +00:00
Josh Hawkins
a4f5ad3a94
Proxy websockets in devcontainers (#8886)
* proxy websockets

* remove whitespace
2023-12-08 01:08:35 +00:00
Blake Blackshear
a47068922f
Update deps (#8872)
* update web deps

* update docs deps

* update gh actions
2023-12-07 06:09:20 -06:00
Nicolas Mowen
ebcf25741b
Fix timeline overlay for in progress events (#8852) 2023-12-04 13:43:23 -07:00
Blake Blackshear
f00ced5a33
Show bbox on in_progress events (#8785)
* fix default value in docs

* use default snapshot config for in progress
2023-11-29 23:37:53 +00:00
Blake Blackshear
a490c375f4
Limit exposed go2rtc api to bare minimum (#8762)
* only permit GET requests to go2rtc

* bare minimum go2rtc passthrough

* support frigate card

* expose go2rtc streams data only
2023-11-27 18:25:47 -06:00
Nicolas Mowen
15644a2b0c
Fix dark color scheme for exports (#8770) 2023-11-27 18:13:41 -06:00
Blake Blackshear
fc186e4d5f
update web deps (#8663) 2023-11-19 05:24:52 -06:00
Nicolas Mowen
563fdec211
Fix safari timezone (#8574)
* Fix safari bad time format

* Fix processing
2023-11-10 18:12:48 -06:00
Nicolas Mowen
1b57f8c7e2
Show error when clicking on image before mask (#8547) 2023-11-09 06:42:19 -06:00
Josh Hawkins
e89db13282
fix restart from webui (#8541) 2023-11-08 09:37:54 -07:00
tpjanssen
08777100b5
Add /vod and /exports to Vite proxy config (#8490) 2023-11-06 06:44:53 -06:00
Blake Blackshear
aefecad4c0
Update deps (#8426)
* update web deps

* other deps
2023-11-02 13:36:49 +00:00
tpjanssen
8b6b83bd62
Filtering on Frigate+ submits in frontend (#8344)
* Initial draft for filtering Frigate+ submits in frontend

* Hide filter when Frigate+ is not enabled

* Update http.py

* Revert "Update http.py"

This reverts commit fa292682d6.
2023-11-01 23:19:46 +00:00
tpjanssen
8a9b26df4e
Visit camera directly from system page (#8405)
* Visit camera directly from system page

* Processed all feedback

* Changed button caption
2023-11-01 07:08:59 -06:00
Blake Blackshear
159fb51518
implement nginx caching (#8333)
* implement nginx caching

* bypass cache from frigate frontend, reduce to 5s

* set cache time to 2s

* cache 200s for 5s

* exclude vod endpoints from cache
2023-10-29 06:47:24 -05:00
tpjanssen
859ab0e7fa
Show event duration in landscape mode (#8301)
* Show event duration in landscape mode

* Update Events.jsx
2023-10-26 06:20:28 -05:00
Nicolas Mowen
cff4b9651f
Fix long webrtc connections failing (#8273)
* Fix webrtc timing out

* Only close pc
2023-10-22 13:34:56 -05:00
Nicolas Mowen
29f82add72
Fix player height (#8270) 2023-10-22 09:40:32 -05:00
Blake Blackshear
e13a176820
Update deps (#8261)
* update web deps

* update python deps

* actions deps
2023-10-21 10:53:21 -05:00
Nicolas Mowen
b4d5a3ef14
Fix dangling webrtc connections (#8251)
* fix dangling webrtc connections

* Make more efficient

* Close pc as well
2023-10-20 19:20:38 -04:00
tpjanssen
facd557f8c
Change camera stats to be more structured (#8151)
* Change camera stats to be more structured

* Update stats.py

* Update stats.py

* Update System.jsx

Front end also breaks due to moved camera stats
2023-10-19 17:15:47 -05:00
Nicolas Mowen
efbc094bbc
Fixes for ongoing events (#8208)
* Refresh ongoing and standard events

* Collapse ongoing when props are set

* Fix
2023-10-17 21:18:06 -04:00
Nicolas Mowen
8626160df2
Show ongoing events at top of events page (#8168)
* Show ongoing events separately

* Separate to separate event function

* Change icon type

* Hide in progress when date range search occurs

* Collapse in progress when filtering

* Fix event overlay

* Make tooltip more clear

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-10-15 13:01:44 -04:00
Nicolas Mowen
d4d2bb2521
Remove sizing on summary icons (#8169) 2023-10-15 08:14:44 -05:00
Blake Blackshear
e545dfc47b
Websocket changes (#8178)
* use react-use-websockets

* check ready state

* match context shape

* jsonify dispatch

* remove unnecessary ready check

* bring back h

* non-working tests

* skip failing tests

* upgrade some dependencies

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2023-10-15 08:14:20 -05:00
Nicolas Mowen
fa6c6c50d0
Support ManagedMediaSource and update docs to reflect iOS 17.1+ supports MSE (#8160)
* Refactor media source handling in MsePlayer.js and Birdseye.jsx to support ManagedMediaSource

* lint

* Update docs to reflect iOS supporting mse

---------

Co-authored-by: Sergey Krashevich <svk@svk.su>
2023-10-13 19:17:09 -05:00
Nicolas Mowen
9b687d77ce
Add support for nvidia decoder and encoder utilization stats (#8150)
* Add encoder and decoder stats to nvidia hwaccel stats

* Fix

* Fix
2023-10-13 09:44:18 -05:00
Nicolas Mowen
2379e6fd1b
Support TiB in storage calculation (#8142) 2023-10-13 06:14:24 -05:00
Nicolas Mowen
dcafcc1320
Fix Config success message (#8121)
* Fix saved message

* Fix save mask
2023-10-10 08:23:18 -05:00
Nicolas Mowen
d7ddcea951
Show settings cog for camera toggles on mobile (#8098)
* Show settings cog on mobile

* Cleanup ui and remove label

* Fix tests
2023-10-08 14:49:41 -05:00
Daniel
cc6e049966
Change multiselect camera icon (#8016)
* CenterFocusString icon

* Add CenterFocusString to multiselect

* Rename CenterFocusString.jsx

* Rename icon and make it smaller

* Rename icon

* Fix lint and use icon
for speech

* remove unused vars

* Remove unused import
2023-10-08 14:30:53 -05:00
Nicolas Mowen
08ef69bac4
Add recordings timeline entry for frigate+ attributes (#8063)
* Add attribute item to timeline

* Add face icon

* Add support for other icons

* Cleanup

* Ensure attributes are only updated once

* don't show _ in attributes
2023-10-07 09:17:18 -05:00
Blake Blackshear
14d2b79c72
Security fixes (#8081)
* use safeloader

* use json responses wherever possible

* remove CORS and add CSRF token

* formatting fixes

* add envjs back

* fix baseurl test
2023-10-06 22:20:30 -05:00
Nicolas Mowen
9f3ac19e05
Limit max player height (#7974) 2023-09-28 18:01:23 -05:00
Nicolas Mowen
e26bb94007
Add seconds to exports (#7955) 2023-09-27 06:10:37 -05:00
Nicolas Mowen
1aba8c1ef5
Refactor time filter (#7962)
* Add ability to filter events by start time

* Add tests

* Add time param to events

* Add time picker

* Update docs

* Catch overnight case

Update comment

* Cleanup

* Fix tests
2023-09-27 06:09:38 -05:00
Nicolas Mowen
f92237c9c1
Fix recording timeline info text in light mode (#7963) 2023-09-27 06:08:58 -05:00
Blake Blackshear
0858859939
Dep updates (#7933)
* update actions

* web deps
2023-09-24 07:00:41 -05:00
Nicolas Mowen
080d7a2d88
Update go2rtc to 1.7.1 (#7657)
* Update go2rtc to 1.7.0

* Update docs references

* Add docs for homekit restream

* Exit with better error message when substitution is not correct

* Formatting

* Fix pin

* Update go2rtc dep

* Update go2rtc docs references

* Fix name

* Mute player by default

* Remove homekit mention
2023-09-21 06:52:46 -06:00
Scott Stancil
c743dfd657
Add capability to link directly to an event ID in the web UI (#7803)
* Add capability to link directly to an event ID in the web UI

* Move event ID to searchParams, add View All button

* Use searchParams inside eventsFetcher
2023-09-21 05:27:23 -05:00
Josh Hawkins
a3eccce8f3
use useEffect for key listeners on camera control panel (#7827)
* use useEffect for key listeners

* dependencies

* useCallbacks
2023-09-21 05:25:57 -05:00
Nicolas Mowen
76d4f16db3
Add cancel button to delete starred event dialog (#7853) 2023-09-21 05:24:12 -05:00
Nicolas Mowen
e5664826b1
Add ability to play and delete exports from webUI (#7882)
* add ability to playback exports on exports screen

* Add ability to delete exports from exports screen

* Fix large dialog

* Formatting
2023-09-21 05:20:57 -05:00
Nicolas Mowen
b9e6afa659
Fix webUI success / error messages (#7820)
* Fix export error handling

* Ensure that config editor success / error is updated each time

* Set response

* Formatting
2023-09-16 04:59:50 -05:00
Blake Blackshear
5658e5a4cc
more deps (#7712) 2023-09-06 08:32:09 -05:00
Nicolas Mowen
64fd5f8be3
Upgrade more deps (#7684)
* Bump axios from 1.4.0 to 1.5.0 in /web

Bumps [axios](https://github.com/axios/axios) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump @testing-library/jest-dom from 5.17.0 to 6.1.2 in /web

Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.17.0 to 6.1.2.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.17.0...v6.1.2)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump autoprefixer from 10.4.14 to 10.4.15 in /web

Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.14 to 10.4.15.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.14...10.4.15)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump postcss from 8.4.27 to 8.4.29 in /web

Bumps [postcss](https://github.com/postcss/postcss) from 8.4.27 to 8.4.29.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.27...8.4.29)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump video.js from 8.3.0 to 8.5.2 in /web

Bumps [video.js](https://github.com/videojs/video.js) from 8.3.0 to 8.5.2.
- [Release notes](https://github.com/videojs/video.js/releases)
- [Changelog](https://github.com/videojs/video.js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/videojs/video.js/compare/v8.3.0...v8.5.2)

---
updated-dependencies:
- dependency-name: video.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump preact from 10.16.0 to 10.17.1 in /web

Bumps [preact](https://github.com/preactjs/preact) from 10.16.0 to 10.17.1.
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.16.0...10.17.1)

---
updated-dependencies:
- dependency-name: preact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Merge

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 10:11:50 -05:00
Nicolas Mowen
6e35c97376
Upgrade deps (#7664)
* Update peewee-migrate requirement from ==1.10.* to ==1.11.*

Updates the requirements on [peewee-migrate](https://github.com/klen/peewee_migrate) to permit the latest version.
- [Changelog](https://github.com/klen/peewee_migrate/blob/develop/Changelog)
- [Commits](https://github.com/klen/peewee_migrate/compare/1.10.0...1.11.0)

---
updated-dependencies:
- dependency-name: peewee-migrate
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update web deps

* Update PR deps

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-03 12:33:03 -05:00
Nicolas Mowen
db6ee41f3c
Improve error checking and handling for recordings export (#7647)
* Improve error checking and handling for recordings export

* Cleanup

* Remove order by
2023-09-02 05:42:33 -05:00
Sergey Krashevich
de6a916939
WebUI: audio icons in MultiSelect component (#7564)
* Add support for audio icons in MultiSelect component

* update icon

* speaker icon
2023-09-01 07:04:07 -05:00
Sergey Krashevich
24365fb865
bugfix: date selection in events calendar (#7374)
* Refactor Calendar component to update month details only when year or month changes

* Update web/src/components/Calendar.jsx

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

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-08-05 05:48:14 -05:00
Blake Blackshear
c2e2656407
Update web deps (#7339)
* web dev deps

* update preact

* audit fix
2023-08-01 06:26:01 -05:00
Nicolas Mowen
b7ff6735f6
Add support for stationary and active timeline entires (#7344)
* Add support for stationary and active timeline entires

* Be sure to update stored event data copy with stationary
2023-07-31 21:43:48 -05:00
spacebares
0fd1eaff43
scroll camera list in camera/recordings route (#7195) 2023-07-21 07:31:02 -05:00
Nicolas Mowen
d30a738960
Show status when mask is saved (#7212) 2023-07-21 07:30:22 -05:00
Nicolas Mowen
91aadb6044
Don't show frigate+ button for audio / custom events (#7203) 2023-07-18 07:41:45 -06:00
Nicolas Mowen
c6d0e93157
Allow customization of tooltip capitalization (#7172) 2023-07-16 07:44:05 -05:00
Nicolas Mowen
07155b1fa9
Show / Download Exported recordings UI (#7171)
* Start with getting list of exports

* List downloadable exports in export page

* Fix downloading

* use swr instead of effect
2023-07-15 15:13:53 -05:00
Nicolas Mowen
5c12762cb5
Fix Birdseye Width & PTZ control panel (#7118)
* Cleanup birdseye UI

* Cleanup

* Fix reversed condition
2023-07-14 06:29:57 -05:00
Sergey Krashevich
6d34f2229b
WebUI: Show label & sub labels values next to the score (#7121)
* Refactor event label and sub-label score display in Events.jsx to include the event label and sub-label percentage

* Revert "Refactor event label and sub-label score display in Events.jsx to include the event label and sub-label percentage"

This reverts commit 87c23adf1e.

* Refactor event label and sub label score display in Events component
2023-07-14 06:25:53 -05:00
Bernt Christian Egeland
a94346e17e
Improve date and time formatting with fallback for unsupported Intl.DateTimeFormat features (#7099)
* Intl.DateTimeFormat fallback

* only set timezone when available or in config
2023-07-11 06:19:58 -05:00
Sergey Krashevich
20415bb5e0
Refactor code in Events.jsx to conditionally render event zones in the event card view (#7120) 2023-07-11 06:10:29 -05:00