Commit Graph

380 Commits

Author SHA1 Message Date
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
Blake Blackshear
7c0d25f9da
Attribute scores (#7100)
* rework attributes to get scores

* show sublabel score

* formatting
2023-07-09 11:40:39 -05:00
Nicolas Mowen
00b9a490bb
Hide birdseye width button on mobile devices (#7077)
* Hide birdseye width button on mobile devices

* Update Birdseye.jsx
2023-07-07 07:35:53 -05:00
Sergey Krashevich
5259d51c04
UI Improvement: Full-width birdseye (if no PTZ cameras) (#6817)
* Refactor video player div class names in Birdseye.jsx to be more responsive

* let's JSMpegPlayer dont takes up the entire screen

* Update Birdseye.jsx

* Add useState hook and toggle button for dynamic width adjustment and refactor code for readability in env.js and Birdseye.jsx

* fix stupid typo

* Swapped the controls around

* Remove useless comments

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

* Add button styles to the Birdseye component's toggle width button

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2023-07-07 07:09:55 -05:00
Nicolas Mowen
04aada8720
Fix webUI presets (#7065) 2023-07-07 07:07:46 -05:00
Sergey Krashevich
f48dd8c1ab
Feature: camera debug/config enhancements (#6920)
* Add functionality to update YAML config file with PUT request in HTTP endpoint

* Refactor copying of text to clipboard with Clipboard API and fallback to document.execCommand('copy') in CameraMap.jsx file

* Update YAML file from URL query parameters in frigate/http.py and add functionality to save motion masks, zones, and object masks in CameraMap.jsx

* formatting

* fix merging fuckup

* Refactor camera zone coordinate saving to use single query parameter per zone in CameraMap.jsx

* remove unnecessary print statements in util.py

* Refactor update_yaml_file function to separate the logic for updating YAML data into a new function update_yaml().

* fix merge errors

* Refactor code to improve error handling and add dependencies to useEffect hooks
2023-07-06 13:54:26 -05:00
Sergey Krashevich
1171f01683
Refactor camera rendering logic in System component to only render enabled cameras (#6992) 2023-07-03 09:49:14 -05:00
Nicolas Mowen
c3b313a70d
Audio events (#6848)
* Initial audio classification model implementation

* fix mypy

* Keep audio labelmap local

* Cleanup

* Start adding config for audio

* Add the detector

* Add audio detection process keypoints

* Build out base config

* Load labelmap correctly

* Fix config bugs

* Start audio process

* Fix startup issues

* Try to cleanup restarting

* Add ffmpeg input args

* Get audio detection working

* Save event to db

* End events if not heard for 30 seconds

* Use not heard config

* Stop ffmpeg when shutting down

* Fixes

* End events correctly

* Use api instead of event queue to save audio events

* Get events working

* Close threads when stop event is sent

* remove unused

* Only start audio process if at least one camera is enabled

* Add const for float

* Cleanup labelmap

* Add audio icon in frontend

* Add ability to toggle audio with mqtt

* Set initial audio value

* Fix audio enabling

* Close logpipe

* Isort

* Formatting

* Fix web tests

* Fix web tests

* Handle cases where args are a string

* Remove log

* Cleanup process close

* Use correct field

* Simplify if statement

* Use var for localhost

* Add audio detectors docs

* Add restream docs to mention audio detection

* Add full config docs

* Fix links to other docs

---------

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2023-07-01 08:18:33 -05:00
Bernt Christian Egeland
f1dc3a639c
fixed TimeAgo abbreviation (#6977)
* fixed TimeAgo abbreviation

* Update web/src/components/TimeAgo.tsx

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

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-07-01 08:16:19 -05:00
Blake Blackshear
2f401bd8da
update deps (#6973)
* update web deps

* update python deps
2023-07-01 07:47:16 -05:00
Nicolas Mowen
0a8249d6fb
Fix Bad Resize For Camera Snapshot (#6797)
* Catch cases where incorrect size is requested

* Set a default if calculated height is incorrect
2023-06-30 07:34:10 -05:00
Nicolas Mowen
bd17e7d824
Show object attributes when hovering or tapping timeline bounding box (#6879)
* Show overlay when hovering on timeline box

* Make it work with mobile too

* Fix lint

* Fix ratio

* Update web/src/components/TimelineEventOverlay.jsx

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

* Show overlay when hovering on timeline box

* Make it work with mobile too

* Fix lint

* Fix ratio

* Remove label and make overlay respect selected theme

---------

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2023-06-30 07:15:19 -05:00
Nicolas Mowen
ece070fee1
Load labels dynamically for event filters (#6896)
* Load labels dynamically to include custom events and audio, do not include attribute labels

* Formatting

* Fix sorting

* Also filter tracked object list on camera page

* isort

* Don't fail before load
2023-06-28 05:51:53 -05:00
spacebares
3d40ed5d47
fix tooltip not showing if too far left (#6909) 2023-06-28 05:45:54 -05:00
Nicolas Mowen
ff1b5c87aa
Fix stream name not being used for MSE (#6796) 2023-06-14 06:49:32 -06:00
Sergey Krashevich
a8f282515f
Bugfix: Refactor date and time initialization in Export.jsx (#6794)
* Refactor date and time initialization in Export.jsx to use local timezone

* Update error message to include specific reason for failure in Export.jsx
2023-06-14 07:32:36 -05:00
Sergey Krashevich
dfd574beeb
Refactor storage stats calculation to use powers of 2 for more accurate values (#6765)
* "Refactor storage stats calculation to use powers of 2 for more accurate values"

* replace 1000000 to 2^20

* Refactor storage unit size display to use binary prefixes

This commit updates the display of storage unit sizes in both the camera storage stats and the Storage component in the web UI to use binary prefixes (MiB and GiB) instead of decimal prefixes (MB and GB). This provides more accurate and consistent representation of storage sizes
2023-06-11 14:49:13 -05:00
Bernt Christian Egeland
b359ff1b8e
[Feature] Add timepicker to calendar (#5183)
* added timepicker as children to calendar

* new timepicker component

* Add timepicker

* new timePicker component

* timepicker as calendar child

* hover:border and rounded

* adjusted width

* complete rework

* more code comments

* memorization

* preselect hover, transition

* numberOfDaysSelected has minimum of 1

* prefill hours when component mounts

* persist hours when component mount

* accommodate for the new timePicker

* add reset state

* scroll into view

* reuse before, after

* fix LastDayInRange when a time is selected

* do not add hours if before is zero

* use hours instead of days

* useeffect to reset hour. check timerange before scroll

* scroll to last element, not first
2023-06-11 14:48:45 -05:00