Commit Graph

1108 Commits

Author SHA1 Message Date
Josh Hawkins
e5dc476c1e
Disable web assembly for jsmpeg player (#12502) 2024-07-18 10:50:30 -05:00
Josh Hawkins
eb2363b93d
Reset preferred live modes to defaults on window visibility change (#12499) 2024-07-18 07:22:31 -06:00
Josh Hawkins
7bfebd5b61
Use canvas2d renderer for jsmpeg player (#12498) 2024-07-18 06:59:12 -06:00
Josh Hawkins
6addf4d88b
User-selectable weekday start (Sunday/Monday) for review calendar (#12491) 2024-07-17 11:38:12 -05:00
Nicolas Mowen
c56e7e7c6c
UI fixes (#12490)
* Improve export handling when errors occur

* Fix mobile zooming

* Handle recordings buffering

* Cleanup

* Url encode export name

* Start with actual name in input

* Fix buffering
2024-07-17 07:39:37 -06:00
Josh Hawkins
78c15f3020
Prevent onPlaying from being called repeatedly in jsmpeg player (#12482) 2024-07-16 13:40:11 -06:00
Nicolas Mowen
e9da453190
Don't allow backwards recordings (#12477) 2024-07-16 10:04:33 -05:00
Josh Hawkins
58dbbd5d29
Use refs for proper js closures in the liveReady timeout (#12464) 2024-07-16 05:50:58 -06:00
Josh Hawkins
5c90f7dce7
Check if camera is active before disabling liveReady (#12461) 2024-07-15 15:52:34 -06:00
Nicolas Mowen
b7cf5f4105
Fix handling of default group (#12459) 2024-07-15 11:18:01 -05:00
Josh Hawkins
c850604931
Fix flashing of previous still image when live player stops (#12458) 2024-07-15 09:38:59 -06:00
Nicolas Mowen
82d2910039
Fix camera filtering logic (#12457)
* Fix camera filtering logic

* Cleanup

* Simplify and consider birdseye only group in logic

* Don't add filter when group is birdseye only
2024-07-15 09:34:41 -06:00
Nicolas Mowen
5066fa369d
Filter alerts by camera group (#12456) 2024-07-15 07:35:41 -05:00
Nicolas Mowen
a4eb435f1a
Improve safari image scrolling performance (#12429)
* Don't set z-height on iOS

* More z-index cleanup
2024-07-13 11:54:24 -05:00
Nicolas Mowen
843d301950
Don't detach media (#12421) 2024-07-12 15:29:42 -06:00
Nicolas Mowen
d08fe170f2
Recordings improvements (#12417) 2024-07-12 15:17:38 -06:00
Josh Hawkins
e7ec014502
Ensure detections are cleared when limit box is unchecked (#12412) 2024-07-12 09:07:01 -06:00
Josh Hawkins
2ebd2dfcc7
Display activity indicators when debug and mask/zone images load (#12411) 2024-07-12 09:02:43 -05:00
Josh Hawkins
aaafd63b94
Move review classification settings to camera settings view (#12410)
* Camera settings view for alerts/detections

* flxes, beautifying, zone renaming, clean up

* replace underscores with spaces in zone names

* replace underscores with spaces in labels
2024-07-12 07:42:53 -06:00
Nicolas Mowen
e416e44998
Simplify ws updating (#12390)
* Simplify ws updating

* Simplify return values
2024-07-11 09:25:33 -06:00
Josh Hawkins
fe4a737421
Fix debug camera image not updating when loading (#12394) 2024-07-11 09:10:37 -06:00
Josh Hawkins
4ee8557061
Fix linter warnings on color order (#12389) 2024-07-11 08:22:02 -05:00
Nicolas Mowen
88e1d56799
Update Web deps (#12388)
* Update radix ui

* Update vite

* More ui deps

* Update typscript

* Update react router
2024-07-11 08:09:35 -05:00
Nicolas Mowen
40be915061
Fix review update causing api spam (#12387) 2024-07-11 08:09:11 -05:00
Josh Hawkins
0d7ee7a87a
Clickable logo on desktop sidebar and useMatch for camera group visibility (#12379) 2024-07-10 09:28:05 -06:00
Josh Hawkins
c2824d153e
Theme updates (#12373)
* remove hideous and ugly themes

* incorporate dei into ui design

* neutral as a theme color

* high contrast theme adjustments

* color tweaks
2024-07-10 07:04:02 -05:00
Josh Hawkins
d2f88491b1
Various UI tweaks and changes (#12364) 2024-07-09 13:36:55 -06:00
Josh Hawkins
0ce596ec8f
UI tweaks (#12297)
* Use full resolution aspect for main camera style in history view

* Only check for offline cameras after 60s of uptime

* only call onPlaying when loadeddata is fired or after timeout

* revert to inline funcs

* Portal frigate plus alert dialog

* remove duplicated logic

* increase onplaying timeout

* Use a ref instead of a state and clear timeout in AutoUpdatingCameraImage

* default to the selected month for selectedDay

* Use buffered time instead of timeout

* Use default cursor when not editing polygons
2024-07-08 07:14:10 -06:00
Josh Hawkins
1f4ca32e8c
Add exports message and default to webrtc on < iOS 17.1 (#12281) 2024-07-03 08:44:25 -05:00
Josh Hawkins
784b701cc5
Apply landscape margin to ptz controls on mobile only (#12272) 2024-07-02 18:14:38 -05:00
Josh Hawkins
be9e606ae4
Ensure MSE onPlaying always gets called, even if loadeddata never fires (#12271)
* Ensure MSE onPlaying always gets called, even if loadeddata never fires

* Call handleLoadedMetadata too if not playing yet
2024-07-02 16:48:38 -06:00
Josh Hawkins
6948702891
Add fullscreen button to the default live grid on desktops (#12250) 2024-07-01 13:00:53 -06:00
Josh Hawkins
0ed7e278eb
Re-center ptz controls in mobile landscape and prevent text selection (#12242) 2024-07-01 09:53:36 -06:00
Josh Hawkins
b30fecbd28
Use cache key for mask/zone editor image (#12232) 2024-07-01 09:02:56 -06:00
Josh Hawkins
f050c7b37d
Use camera name instead of stream_name for jsmpeg players (#12219) 2024-06-30 11:06:03 -06:00
Josh Hawkins
f9e1ad253f
Check websocket readyState for disconnect and fix firefox pip (#12216) 2024-06-30 06:04:45 -06:00
Josh Hawkins
f0159bf41e
Fix jsmpeg player flickering (#12213) 2024-06-29 17:45:28 -06:00
Josh Hawkins
53a2a865f1
Live player fixes and improvements (#12202)
* Live player fixes and improvements

* remove comment

* Simplify wording
2024-06-29 09:02:30 -06:00
Nicolas Mowen
bfbacee7b5
Quick fix (#12153)
* Use list for zones to keep chronological order

* Replace when changing playbackRate
2024-06-25 07:38:37 -05:00
Nicolas Mowen
9bbb88cdcb
Fix left swipe on preview (#12104)
* Fix left swipe

* Simplify
2024-06-21 16:06:40 -05:00
Nicolas Mowen
73755e9777
Auto focus user field for login (#12083) 2024-06-20 11:37:54 -05:00
Nicolas Mowen
c871bebee6
Fix export timing (#12080) 2024-06-20 07:25:02 -06:00
Josh Hawkins
a60ffe06ac
Prevent ptz keyboard shortcuts from reopening presets menu (#12079) 2024-06-20 07:24:50 -06:00
Josh Hawkins
9f81ce2876
Only close MSE websocket when it's already open (#12078) 2024-06-20 06:03:14 -06:00
Josh Hawkins
5c33cdba4e
Timeline performance improvements (#12070)
* Use intersection observer for timeline segments

* only render when visible
2024-06-19 18:14:32 -05:00
Nicolas Mowen
e9cdef9f25
fix case where camera is disabled and has no previews (#12066)
* fix case where camera is disabled and has no previews

* Maintain slow loading behavior
2024-06-19 12:51:19 -06:00
Nicolas Mowen
d01457e64d
Fix showing loading indicator when first loading a camera without previews (#12064) 2024-06-19 08:52:45 -06:00
Sam Wright
10c1f7ead4
Update web readme (#12062)
* Update web readme

* Update /web readme

* Apply suggestions from code review

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

---------

Co-authored-by: Sam Wright <sam@sams-mbp.lan>
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-06-19 08:11:51 -06:00
Josh Hawkins
7b57a66d45
Various UI tweaks (#12061) 2024-06-19 06:09:49 -06:00
Nicolas Mowen
767033e4d8
Treat meta key same as ctrl (#12051) 2024-06-18 20:26:00 -05:00
Nicolas Mowen
e6790d9a6a
Add ability to select all on desktop (#12044)
* Add ability to select all review items

* Refactor keybaord listener
2024-06-18 09:32:17 -05:00
Josh Hawkins
2cbc336bc0
Memoize onPlaying and only instantiate one jsmpeg player (#12033) 2024-06-17 17:10:41 -06:00
Josh Hawkins
6c107883b5
Small jsmpeg and mse player fixes (#12032) 2024-06-17 14:54:14 -06:00
Nicolas Mowen
4635e64b2e
Use api path to determine type (#12031)
* Use api path to determine type

* Use in both cases

* Fix extension parsing
2024-06-17 14:53:35 -06:00
Nicolas Mowen
5b60785cca
Increase resolution for mobile viewing (#12025) 2024-06-17 12:35:36 -05:00
Nicolas Mowen
ef304e6f7f
Set image height to make bandwidth usage lower (#12024) 2024-06-17 08:21:51 -06:00
Nicolas Mowen
ba6fc0fdb3
UI Tweaks (#12002)
* Adjust review padding

* Fix mse check

* Don't fail when cpu property is missing

* ignore lines without any spaces
2024-06-17 06:19:16 -06:00
Josh Hawkins
89a478ce0a
Use modal on dropdowns for mobile only (#11993) 2024-06-16 13:58:28 -05:00
Josh Hawkins
5617fbbcb1
Optional proxy in config (#11973) 2024-06-15 08:01:19 -05:00
Blake Blackshear
9ceffeb191
split out proxy from auth (#11963)
* split out proxy from auth

* update documentation

* fixup auth mode check
2024-06-14 18:02:13 -05:00
Nicolas Mowen
b49cda274d
Fix calendar selection (#11959) 2024-06-14 12:14:32 -05:00
Nicolas Mowen
a7da468b97
Manually set current time when selecting event (#11948)
* Manually set current time when selecting event

* Make it clear which camera has no preview

* Make it clear which camera has no preview

* Format camera name
2024-06-13 19:00:41 -05:00
Nicolas Mowen
9514a3d089
UI tweaks (#11940)
* Enforce events must have snapshots for frigate+

* Open docs links in separate tabs

* Reload after restart to the baseUrl
2024-06-13 16:11:25 -06:00
Josh Hawkins
349b27b764
Draggable grid fixes (#11944)
* Use globals on grid for resizing/dragging flags

* remove unneeded useeffect
2024-06-13 13:11:48 -06:00
Nicolas Mowen
e56ce993df
UI Tweaks (#11931)
* Show number of items instead of dot

* Don't call error when connection has been closed on purpose

* Use motion icon for motion

* Show text on tablets as well
2024-06-13 09:45:07 -05:00
Josh Hawkins
187d98a153
Ensure uri components are decoded (#11920) 2024-06-12 16:03:00 -05:00
Josh Hawkins
2d4d1584fd
Activity indicator for alerts/detections count when loading (#11914)
* Activity indicator for alerts/detections count when loading

* Return zeros if summary is unavailable
2024-06-12 12:30:22 -06:00
Josh Hawkins
c75fc40833
Activity indicator whenever preferred live mode changes (#11913) 2024-06-12 11:36:11 -06:00
Josh Hawkins
272a21ffab
Add scrollbar class to preview row/column (#11890) 2024-06-11 13:45:45 -05:00
Josh Hawkins
a8e901b63c
UI fixes (#11883)
* Keep as optional prop

* put zones inside of scrollable container
2024-06-11 09:05:50 -06:00
Josh Hawkins
bb359f67a4
Review UI improvements (#11882) 2024-06-11 09:46:05 -05:00
Nicolas Mowen
c9d253a320
Review improvements (#11879)
* Update segment even when number of active objects is the same

* add score to frigate+ chip

* Add support for selecting zones

* Add api support for filtering on zones

* Adjust UI

* Update filtering logic

* Clean up
2024-06-11 08:19:17 -06:00
Nicolas Mowen
962d213699
UI changes (#11863)
* Delay live ready being dropped

* Handle case of removed camera
2024-06-10 20:20:58 -05:00
Josh Hawkins
18d561da0e
Live player fixes and improvements (#11855)
* Only set stalled error when player is visible

* Show activity indicator before live player starts playing

* remove comment

* keep gradients when still image is showing

* fix chips

* red dot and outline
2024-06-10 17:24:25 -06:00
Josh Hawkins
5f3c35209d
Prevent editing of object mask type on existing mask (#11829) 2024-06-09 06:28:38 -06:00
Josh Hawkins
e1bedf30bf
Make sure camera is always set in settings (#11812) 2024-06-07 13:34:29 -06:00
Josh Hawkins
859682c8d1
Change breakpoint for desktop motion review columns (#11808) 2024-06-07 09:40:32 -06:00
Josh Hawkins
804edceec2
Retain 3 columns on desktop motion review (#11805) 2024-06-07 06:51:09 -06:00
Josh Hawkins
9f181014a1
UI tweaks (#11795)
* Prevent "undefined" from being displayed in searchParams string

* Show message for no motion data

* Use theme colors for no preview found divs
2024-06-07 05:57:15 -06:00
Blake Blackshear
4e569ad644
Update deps (#11799)
* web deps

* python deps
2024-06-07 05:50:45 -06:00
Josh Hawkins
8cc170f027
Draggable grid layout bugfixes (#11777)
* Maintain aspect ratio when overdragging

* add existing x value

* Better handle portrait and wide cam aspect ratios
2024-06-06 06:26:02 -06:00
Josh Hawkins
8c96dfe1d1
Some small layout tweaks for portrait cams and motion review (#11766)
* Some small layout tweaks for portrait cams and motion review

* spans

* fix desktop
2024-06-05 09:53:17 -05:00
Nicolas Mowen
0181d1e377
Don't show preview for birdseye (#11749)
* Don't show preview for birdseye

* Retry ws connection on error

* Flex wrap cameras labels
2024-06-04 14:00:04 -06:00
Josh Hawkins
3f0a954856
Try webrtc when mse fails with decoding error (#11745)
* Try webrtc if enabled and mse fails with decoding error

* default to jsmpeg if webrtc times out

* check for mic first
2024-06-04 09:11:32 -06:00
Nicolas Mowen
2875e84cb5
UI Fixes (#11742)
* Allow deleting failed in progress exports

* Fix comparison and preview retrieval

* Fix stretching of event cards

* Reset edit state when group changes

* Allow specifying group
2024-06-04 09:10:19 -06:00
Nicolas Mowen
ea0292b911
Ensure review padding is consistently applied (#11728) 2024-06-03 17:10:39 -06:00
Josh Hawkins
e6d1ad0ac5
Theme scrollbars with tailwind-scrollbar (#11723) 2024-06-03 12:43:30 -06:00
Josh Hawkins
f65ddccd6e
Ensure debug switches match loaded options (#11721) 2024-06-03 08:51:23 -06:00
Josh Hawkins
13f250f630
Use valid/unique css identifier for jsmpeg canvas elements (#11704) 2024-06-03 05:39:19 -06:00
Josh Hawkins
1e80342c41
UI tweaks and bugfixes (#11692)
* UI tweaks and bugfixes

* fix linter complaints in unmodified files
2024-06-02 12:00:59 -05:00
Josh Hawkins
beefc51361
container for birdseye aspect and auto width for mobile time pill (#11685) 2024-06-01 21:13:37 -06:00
Nicolas Mowen
8418b65f34
Fix path containing too many / (#11680) 2024-06-01 08:24:20 -05:00
Soren L. Hansen
6e53c109b6
feat: apply ingress path to app paths (#11677)
When serving Frigate at a subpath, the paths that show in the URL bar
and that wind up in your browser history are anchored at the web root.
I.e. you go to `https://example.com/frigate/`, it changes to
`https://example.com/`, and clicking around works as expected, but the
`frigate/` prefix is gone.

It's confusing if you don't know that the URL's are entirely virtual.
Also, your browser history is useless, since the URL's point to e.g.
`https://example.com/#kitchen`, but visiting that URL will not hit
`/frigate/` at all.

Most of the work is already done. Nginx injects javascript to set
`window.baseURL` based on the X-Ingress-Path header. This change passes
that to BrowserRouter, so that it'll be part of the URL's it shows.

Fixes #4526
2024-06-01 07:08:01 -06:00
Blake Blackshear
7b99bbfd28
Update deps (#11679)
* update web deps

* update actions

* automatic stable tag publishing

* python deps

* typo
2024-06-01 06:39:05 -06:00
Nicolas Mowen
758df09da3
Handle error when live view stalls (#11665)
* Handle error when live view stalls

* Manually calculate buffer timeout

* Formatting
2024-05-31 08:52:42 -05:00
Josh Hawkins
a3d116e70e
stay in fullscreen when navigating to a camera (#11666) 2024-05-31 07:58:33 -05:00
Josh Hawkins
8c325801ef
fix race where camera change effect sometimes was called after layout building (#11656) 2024-05-30 14:17:00 -06:00
Tom B
35946d332d
Fix Statusbar rendering NaN% for unsupported GPUs (#11655) 2024-05-30 13:10:24 -06:00
Nicolas Mowen
142641b387
Adjust nginx proc count based on available CPUs (#11653)
* Restrict nginx to 4 processes if more are available

* Fix bash

* Different sed structure

* Limit ffmpeg thread counts for secondary ffmpeg processes

* Add up / down keyboard shortcut
2024-05-30 12:34:01 -05:00
Josh Hawkins
402c16e7df
don't sleep mobile devices when fullscreen (#11652) 2024-05-30 09:37:08 -06:00
Nicolas Mowen
3e6b8c23bc
Update dialog sizing for plus dialog (#11650) 2024-05-30 09:26:15 -05:00
Nicolas Mowen
1c5e7ebb48
UI Fixes (#11648)
* Add cursor pointer to preset dropdown

* Catch key index

* Fix iOS mime type
2024-05-30 07:41:37 -06:00
Josh Hawkins
9cb3e11df6
non-modal dropdown menus (#11649) 2024-05-30 07:39:14 -06:00
Josh Hawkins
a763ae303d
static handlebar size to better match figma (#11638) 2024-05-29 21:34:19 -05:00
Nicolas Mowen
ec88752666
Don't show mark reviewed button when all items are in progress (#11636)
* Don't show mark reviewed button when all items are in progress

* Fix unknown preview file
2024-05-29 19:54:56 -05:00
Josh Hawkins
4135cabf58
assume 1 grid column by default on live dashboard (#11630) 2024-05-29 16:03:59 -06:00
Josh Hawkins
37dd3fc25b
fix birdseye fullscreen (#11625) 2024-05-29 14:18:51 -05:00
Nicolas Mowen
9e8202874e
Remove live mode from config (#11618)
* Use preferred mode as default

* Remove live mode from config

* Add deer icon

* remove from config schema
2024-05-29 13:06:48 -05:00
Nicolas Mowen
9245c5cb56
Improve efficiency of log and metrics pages (#11622)
* Rework stats pages

* Handle limited data case

* Handle page and arrow keys

* Adjust sizing
2024-05-29 12:05:39 -06:00
Josh Hawkins
f1c0422d5e
Various bugfixes and improvements (#11624)
* various bugfixes and improvements

* add separator

* no separator
2024-05-29 12:05:28 -06:00
Josh Hawkins
3dd401f57a
string or list for camera groups (#11616) 2024-05-29 09:19:05 -05:00
Nicolas Mowen
6dd9660ecd
Settings rework (#11613)
* refactor settings to be consistent with other page structure

* Implement non auto live

* Adjust missing view

* Quick fix

* Clarify settings options

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

* Update naming and config restarts

* Rename

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-05-29 08:01:39 -06:00
Nicolas Mowen
61f79afae9
Always use mse unless webrtc is requrested (#11605) 2024-05-28 17:35:36 -05:00
Nicolas Mowen
5513addab8
UI Fixes (#11602)
* Fix playback rate not showing

* Fix export image

* Formatting

* Formatting
2024-05-28 13:45:08 -06:00
Nicolas Mowen
d064e44571
Fix iOS fullscreen (#11600) 2024-05-28 13:10:42 -06:00
Josh Hawkins
ced5ab203f
ensure the correct container is used for canvas calcs (#11599) 2024-05-28 12:41:51 -06:00
Nicolas Mowen
4236580672
UI fixes (#11596)
* Fix using undefined search params

* Fix calendar selection

* Simplify
2024-05-28 13:15:31 -05:00
Nicolas Mowen
8546d3d315
Simplify timezone math (#11586)
* Use utc minutes

* Cleanup
2024-05-28 09:09:17 -05:00
Josh Hawkins
2fda383782
clean up unneeded code (#11587) 2024-05-28 08:05:04 -06:00
Josh Hawkins
4165639308
Live view tweaks and jsmpeg bugfix (#11584)
* live view tweaks and jsmpeg bugfix

* use container aspect in check
2024-05-28 08:11:35 -05:00
Nicolas Mowen
6913cc6abc
Handle case where preview doesn't automatically changeover (#11583) 2024-05-28 08:11:23 -05:00
Nicolas Mowen
d64633889b
Fixes (#11575)
* Fix settings icon

* Handle out of resources
2024-05-27 21:27:01 -05:00
Josh Hawkins
c1330704cf
Make jsmpeg players fully responsive (#11567)
* make jsmpeg canvas responsive

* make birdseye responsive too
2024-05-27 16:18:04 -06:00
Nicolas Mowen
5900a2a4ba
Add ability to interact with review items in events list (#11562)
* Add ability to interact with review items

* Ignore on iOS

* Don't load metadata

* Bug fixes
2024-05-27 17:12:57 -05:00
Nicolas Mowen
a86e22e0fc
Fix live view updating when it shouldn't be (#11561)
* Simplify live image update logic

* Fix case where go2rtc is not setup
2024-05-27 09:50:02 -06:00
Josh Hawkins
c07f6999ca
refresh editor value when config is updated (#11559) 2024-05-27 09:31:58 -06:00
Nicolas Mowen
be147d218b
Fix optimistic state (#11556) 2024-05-27 07:59:26 -05:00
Josh Hawkins
7a9ee63bd3
save video dimensions in onLoadedData instead of onLoadedMetadata (#11545) 2024-05-26 17:48:33 -06:00
Nicolas Mowen
c2eac10925
Tweaks and fixes (#11541)
* Update config version to be stored inside of the config

* Don't remove items from list when navigating back

* Use video api instead of webps for live current hour filmstrip

* Check that the config file is writable

* Show camera name when camera is offline

* Show camera name when offline

* Cleanup
2024-05-26 16:49:12 -05:00
Josh Hawkins
63d81bef45
redirect non existent paths to live view (#11536) 2024-05-26 10:17:52 -06:00
Josh Hawkins
3f171e7670
bugfixes (#11526) 2024-05-25 20:37:53 -06:00
Josh Hawkins
681c7367d7
ensure resizable handles are above jsmpeg canvas elements (#11519) 2024-05-25 15:15:30 -05:00
Josh Hawkins
058e9a3ba0
calculate aspect ratio of container to prevent overflow (#11495) 2024-05-23 07:30:16 -06:00
Nicolas Mowen
01e387ee9a
Adjust date math (#11485) 2024-05-22 10:06:40 -06:00
Nicolas Mowen
db496ec525
Fix current hour check for uneven timezones (#11484) 2024-05-22 09:27:00 -06:00
Nicolas Mowen
c935eb0c79
Update Deps (#11480)
* Update web deps

* Update python deps

* revert matplotlib
2024-05-22 08:41:43 -06:00
Nicolas Mowen
c49be0a47f
UI tweaks / fixes (#11479)
* Update coloring of logs button

* Fix paging after submitting

* Fix sorting

* Add icon
2024-05-22 07:14:48 -06:00
Josh Hawkins
910c85b1c0
Clean up config editor (#11474)
* clean up config editor

* remove unneeded size
2024-05-21 13:06:17 -05:00
Nicolas Mowen
cc3bbcc303
Improve preview loading (#11469)
* Improve preview loading

* Ensure it works when selecting dates
2024-05-21 08:00:29 -05:00
Nicolas Mowen
2a86969f54
UI Tweaks (#11459)
* refresh dashboard activity on visibility change

* Make video controls more consistent

* Use const
2024-05-20 18:26:17 -05:00
Josh Hawkins
e543cc642c
add clarifying message and docs link around motion masks (#11452) 2024-05-20 23:18:01 +05:30
Nicolas Mowen
7413810fa4
Don't timeshift recordings (#11449) 2024-05-20 20:14:39 +05:30
Meow
6e39d55dd3
cspell fixes (#11447) 2024-05-20 07:37:56 -06:00
Josh Hawkins
84e823c62f
add padding to bottom of drawer for iOS PWA only (#11446) 2024-05-20 08:06:11 -05:00
Nicolas Mowen
2a16d5593a
Fix timezone conversion logic (#11444)
* Fix timezone conversion logic

* Use function for consistency

* Cleanup
2024-05-20 07:02:19 -06:00
Nicolas Mowen
4c87ef56c7
Support timezones (#11434)
* Handle offset timezones

* Fix previews loading

* Cleanup

* remove unused
2024-05-19 17:08:32 -06:00
Josh Hawkins
bca01cb43c
guard clause for api error (#11436) 2024-05-19 17:08:05 -06:00
Nicolas Mowen
c1560308bf
UI improvements (#11429)
* Respect classname when no preview is found

* Don't check for go2rtc info if camera is not restramed

* Show error banner when playback fails

* Add keyboard shortcut for fullscreen
2024-05-19 07:39:17 -05:00
Josh Hawkins
171a142adb
optional env var for easier development (#11426) 2024-05-18 18:49:38 -06:00
Nicolas Mowen
0810873988
Fix broken links (#11425) 2024-05-18 18:09:55 -05:00
Nicolas Mowen
16f1c575d7
UI Fixes (#11423)
* Settings fixes

* Fix formatting
2024-05-18 14:19:32 -06:00
Nicolas Mowen
3ce8816b9a
Update auth settings UI (#11421) 2024-05-18 14:05:28 -05:00
Josh Hawkins
5c609c7051
Bugfixes (#11420)
* mse and misc messages fixes

* clean up
2024-05-18 12:55:17 -06:00
Nicolas Mowen
8cddfc27fb
UI fixes (#11417)
* Set max width on the problems area in status bar and use unique keys so they do not duplicate

* Fix possibly missing media info

* Show full row of items on tablet

* remove debugging logic
2024-05-18 11:54:46 -05:00
Blake Blackshear
1133202cbd
Auth! (#11347)
* reload the window on 401

* backend apis for auth

* add login page

* re-enable web linter

* fix login page routing

* bypass csrf for internal auth endpoint

* disable healthcheck in devcontainer target

* include login page in vite build

* redirect to login page on 401

* implement config for users and settings

* implement JWT actual secret

* add brute force protection on login

* add support for redirecting from auth failures on api calls

* return location for redirect

* default cookie name should pass regex test

* set hash iterations to current OWASP recommendation

* move users to database instead of config

* config option to reset admin password on startup

* user management UI

* check for deleted user on refresh

* validate username and fixes

* remove password constraint

* cleanup

* fix user check on refresh

* web fixes

* implement auth via new external port

* use x-forwarded-for to rate limit login attempts by ip

* implement logout and profile

* fixes

* lint fixes

* add support for user passthru from upstream proxies

* add support for specifying a logout url

* add documentation

* Update docs/docs/configuration/authentication.md

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

* Update docs/docs/configuration/authentication.md

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

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-05-18 10:36:13 -06:00
Nicolas Mowen
97f5ba0145
Update go2rtc and implement stream probe to only show 2 way talk when supported (#11407)
* Support two way talk validation

* Fix handling

* Use go2rtc stream info to infer audio output

* Update go2rtc

* Update bundle policy

* Formatting
2024-05-17 07:30:22 -06:00
Nicolas Mowen
07eef9b139
Recording fixes (#11406)
* Fix infinite review items when record is disabled

* Fix showing loading icon while continuing to scrub

* Fix recording layout previews
2024-05-17 07:26:42 -06:00
Josh Hawkins
ba03d3b3e4
Mobile/PWA spacing fixes (#11403)
* spacing on mobile landscape

* better icon placement when running as pwa

* better icon placement when running as pwa

* portrait padding only
2024-05-16 16:00:14 -06:00
Josh Hawkins
dd0dee620a
spacing on mobile landscape (#11397) 2024-05-16 10:51:57 -06:00
Josh Hawkins
525de1a467
Add autotracking enable/disable button to live view (#11396) 2024-05-16 08:32:39 -06:00
Josh Hawkins
16ead917ea
Preview bugfixes (#11384)
* memoize initial time range and check for window visibility

* assume window is visible with previewthumbnailplayer
2024-05-15 09:51:58 -06:00
Josh Hawkins
1757f4cb04
Use prettier-plugin-tailwindcss (#11373)
* use prettier-plugin-tailwindcss to keep class names organized

* use prettierrc file to ensure formatting on save works with vscode

* classname reorder with prettier-plugin-tailwindcss
2024-05-14 09:06:44 -06:00
Nicolas Mowen
b10ae68c1f
Tweaks and fixes (#11372)
* Ensure camera activity is up to date

* Persist playback rate between cameras

* Add setting for default playback rate

* Fix audio events saving image

* Formatting

* Use select component
2024-05-14 08:38:03 -05:00
Josh Hawkins
fbec08354c
bugfixes and small UI tweaks (#11360) 2024-05-13 06:42:11 -06:00
Nicolas Mowen
9680f2a574
Bug fixes (#11332)
* Fix external events saving

* Only show relevant labels

* Set on recordings view too

* Fix video control width on motion page

* use overlay so player state is maintained between camera switches

* use overlay so player state is maintained between camera switches

* mobile only

* Formatting

* Use higher amount

* Only wrap when needed
2024-05-10 11:42:56 -06:00
Josh Hawkins
82e443a5c3
Camera group layout fixes (#11334)
* camera group layout changes and tweaks

* lock aspect ratio

* no compacting

* prevent collisions

* revert

* readd limit aspect
2024-05-10 11:54:37 -05:00
Josh Hawkins
386ffbf5a6
Tweak camera group layout editor buttons (#11317)
* tweak layout editor buttons

* remove bubble

* spacing

* button backgrounds
2024-05-09 15:08:22 -06:00
Nicolas Mowen
8b344cea81
Implement recordings fullscreen and rework recordings layout size calculation (#11318)
* Implement fullscreen button

* wrap items on mobile

* control based on width

* refresh

* Implement basic fullscreen

* Fix scrolling

* Add observer to detect of row overflows

* Use cn to simplify classnames

* dynamically respond to layout sizing

* Simplify listener

* Simplify layout

* Handle tall browser
2024-05-09 15:06:29 -06:00
Josh Hawkins
021ffb2437
fix nan check in system graphs (#11312) 2024-05-09 07:55:19 -06:00
Josh Hawkins
f8523d9ddf
Icon picker component (#11310)
* icon picker component

* keep box the same size when filtering icons
2024-05-09 07:22:48 -06:00
Nicolas Mowen
4216d08099
Backend and webui fixes (#11309)
* Ensure that items without end times are set to not have a snapshot

* Save full frame if no frame is currently saved

* Webui fixes

* Cleanup
2024-05-09 08:20:33 -05:00
Nicolas Mowen
4bcbf7435a
Web Deps (#11304)
* Update easy web deps

* Update react

* Update final
2024-05-09 08:20:07 -05:00
Nicolas Mowen
e1cbefb692
Add link to system stats from status bar (#11303) 2024-05-09 08:19:41 -05:00
Nicolas Mowen
3ed89ec042
Simplify preview refreshing with custom hook (#11293) 2024-05-08 08:46:10 -06:00
Josh Hawkins
db8c820677
Draggable camera grid tweaks (#11291)
* better math and other tweaks

* change icon
2024-05-08 07:53:22 -05:00
Josh Hawkins
ff2948a76b
Drag to reorder/resize cameras in camera groups (#11279)
* draggable/resizable cameras in camera groups on desktop/tablets

* fix edit button location on tablets

* assume 1rem is 16px
2024-05-07 08:28:10 -06:00
Josh Hawkins
08e5c791c8
Use cn() for class names throughout (#11278)
* add scrollbar on ptz presets dropdown

* use cn function for class names throughout

* Revert "add scrollbar on ptz presets dropdown"

This reverts commit 2cee93dc3e.
2024-05-07 08:00:25 -06:00
Josh Hawkins
a0da5018bf
add scrollbar on ptz presets dropdown (#11276) 2024-05-07 06:27:20 -06:00
Nicolas Mowen
fc0f6d6095
Implement infinite scrolling for frigate+ view (#11273)
* Implement infinite scrolling for frigate+ view

* Also fixes safari preview glitch

* Show sub label name in hover
2024-05-06 18:00:21 -05:00
Nicolas Mowen
e5e18a5026
UI Tweaks (#11263)
* Add icons for frigate+ items

* Fix bug where export didn't start

* Fix mobile overflow

* Capitalize first letter function
2024-05-06 15:18:13 -06:00
Josh Hawkins
c0073db859
fix touch events (#11265) 2024-05-06 12:35:18 -06:00
Josh Hawkins
306c11d730
use portal on all sidebar tooltips (#11267) 2024-05-06 11:18:28 -06:00
Josh Hawkins
ca8ef70096
Support desktop touchscreens for timelines (#11241)
* support desktop touchscreens

* remove placeholder select

* add max height to settings cameras dropdown
2024-05-04 21:00:33 -06:00
Josh Hawkins
ad87f5786e
Misc UI fixes (#11237)
* add close button to all toasters

* check if persistent options are loaded

* add id to prevent message duplication in bottom bar
2024-05-04 14:54:50 -05:00
Josh Hawkins
51dcdd6f4b
Zone/mask editor improvements (#11236)
* add points to completed polygons in zone/mask editor

* change line order so edges are more easily clickable
2024-05-04 08:37:35 -06:00
Nicolas Mowen
216e44bc34
Event cleanup (#11225)
* remove duplicate event purging

* Slightly increase stationary object sensitivity

* Add toast for export starting

* Increase stationary threshold as well

* Update message

* Make text consistent

* Update message
2024-05-03 08:03:41 -06:00
Nicolas Mowen
e7950abec3
Add ability to submit frames from recordings (#11212)
* add ability to parse and upload image from recording to frigate+

* Show dialog with current frame to be uploaded

* Implement uploading image in frontend

* Cleanup

* Update title
2024-05-03 09:00:19 -05:00
Josh Hawkins
b69c1828cb
Fix overflowing portrait images in debug and motion tuner views (#11209)
* fix overflowing camera image and remove mse console debug

* move calc into onLoad

* check container aspect
2024-05-02 14:05:20 -06:00
Josh Hawkins
7a5df6045a
make circle radius larger on mobile only (#11210) 2024-05-02 13:06:32 -06:00
Nicolas Mowen
a3267f7d44
Add more icons (#11204) 2024-05-02 07:52:44 -05:00
Nicolas Mowen
28dd871d44
Show motion playback on page initially (#11196)
* motion video controls handle current time better

* Make sure state is updated
2024-05-01 21:23:03 -05:00
Nicolas Mowen
2e63941598
Fix scroll back (#11192) 2024-05-01 09:24:19 -05:00
Nicolas Mowen
b5b819c866
Add severity filter (#11190)
* Allow viewing all types on single screen

* Implement for mobile as well

* fix import

* Show all is optional
2024-05-01 09:11:16 -05:00
Josh Hawkins
499f70cfd3
config validation fixes (#11191) 2024-05-01 08:08:10 -06:00
Josh Hawkins
6d2457ebad
Revamp object debug view (#11186)
* revamp object debug view

* fix vite

* remove console log

* don't display empty fields

* clarify masks as motion masks

* add descriptions

* color and spacing

* add sub_label to camera activity

* add sub_label to type

* rename to debug
2024-05-01 08:07:56 -06:00
Josh Hawkins
bb335638a4
use alert/detection colors as background for motion segments (#11182) 2024-04-30 18:38:22 -06:00
Nicolas Mowen
297444375c
UI Fixes (#11179)
* Better scaling for frigate+ dialog and thumbnails

* Always show live objects chip

* Handle sub labels

* Send sub label correctly

* Formatting

* Undo vite

* Update web/src/utils/iconUtil.tsx
2024-04-30 19:35:23 -05:00
Nicolas Mowen
90bdb07463
Simplify on connect (#11176) 2024-04-30 07:27:39 -06:00
Nicolas Mowen
461442b399
Save initial camera state to update when websocket connects (#11174)
* Send camera state to dispatcher

* Fix logic

* Cleanup

* Send camera activitiy in on connect

* Support reading initial camera state

* Fix key

* Formatting

* Sorting
2024-04-30 07:09:50 -06:00
Josh Hawkins
0080c28c4d
fix crash for when group includes birdseye (#11175) 2024-04-30 06:59:45 -06:00
Josh Hawkins
11ff7cb2b7
Use full resolution aspect ratio when available (#11173)
* base recordings and live views off of actual video resolution

* don't set for jsmpeg

* reset when changing main cam

* rename

* Only use resolution for main camera

* fix lint

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-04-30 06:52:56 -06:00
Nicolas Mowen
1c9626ecff
UI fixes (#11161)
* Don't save animated webp

* Fix bad export state

* Contain scroll for camera group

* Use dvh
2024-04-29 15:23:24 -06:00
Josh Hawkins
7745313cdc
add chips for active objects on live dashboard (#11162) 2024-04-29 15:23:14 -06:00
Nicolas Mowen
f946cf55be
Use pre buffer for other links (#11160) 2024-04-29 14:20:50 -05:00
Nicolas Mowen
c9246bd4ab
Open to recordings with pre-buffer (#11143)
* Open to recordings with pre-buffer

* Reduce buffer

* Use variable for preview FPS
2024-04-29 11:12:57 -05:00
Nicolas Mowen
9117043adc
UI tweaks for screen sizes (#11155)
* Make bottom bar items easier to tap

* Set max height on list of cameras and labels

* remove incorrect character

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

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2024-04-29 10:59:27 -05:00
Sean Kelly
5bc9f9a388
[stats] Fix tooltip showing as undefined for first tick (#11150)
* Fix tooltip showing as undefined for first tick

* Rearrange to simplify diff

* Remove offset for mobile
2024-04-29 08:52:32 -06:00
Sean Kelly
90468c8bf5
Force X axis labels to be rotated correctly (#11148)
* Adjust number of ticks to have consistent X axes

* Revert "Adjust number of ticks to have consistent X axes"

This reverts commit 941e296750.

* set rotate instead
2024-04-28 22:55:43 -06:00
Sean Kelly
1c90f62ea5
Fix rounding (#11147) 2024-04-28 22:00:57 -06:00
Nicolas Mowen
acf37f9920
Link to relevant page from status bar warnings / errors (#11140)
* Use hash state for system pages

* Add links to items

* Add stats to other types

* Link on mobile as well

* Use link

* Cleanup using util
2024-04-28 16:59:03 -06:00
leccelecce
c2c6113299
Live view not loading for MSE/JSMpeg if overriding live stream (#11141) 2024-04-28 16:28:19 -06:00
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