Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/tmp filling up inside container - system does not purge automatically #76

Closed
poweredgenl opened this issue Aug 22, 2021 · 16 comments
Closed

Comments

@poweredgenl
Copy link

im noticing some behaviour specific in the /tmp folder of the double-take container. i noticed this because suddenly the directory becomes 10's of gbytes in size and the OS runs out of disk space.

Is this natural? some of the files i see in this dir:

1629476245.068447-s3lhd2-latest-4d0196c0-0698-4dc9-8560-c2f250f6fd2c.jpg fece6499-e89a-45fb-b34f-56df5c27bec7.jpg
1629476245.068447-s3lhd2-latest-4d6c54eb-ebe4-4ce8-986d-932f624e42c3.jpg fed7133a-879e-4d71-8746-54b6e83338c0-mqtt-3a8f2fd5-4de7-45b8-9409-09eb1af130d7.jpg
1629476245.068447-s3lhd2-latest-54723bc1-79eb-4453-90d7-2babd1831194.jpg fedcda88-94f0-4980-8f75-a6042cdd5cad-mqtt-0c00db20-50c0-458f-b996-e6cdd0eb7dd6.jpg

bash-5.0# ls -l | wc -l
114848

I think this should be the case / beeing that large. I could remove it manually i think, but last time i stopped the container rmi/rebuild it to get rid of the issue.

Setup: 6 cams running with 5 fps / 1080p reso - purge 168 setting. (fyi didnt had this issue before - using it already some time). Double take v0.10.1

Views anyone?

@jakowenko
Copy link
Owner

Hey @poweredgenl, thanks for reporting this issue you're having. Images are written to the /tmp folder before being processed, but I mistakenly thought the OS would handle cleaning up that folder when disk space was high. It seems like depending on the distro you're running on it's handled differently.

I'll probably need to include a cron job to delete images from that folder that are more then X minutes old.

The purge setting right now only includes the /matches folder and not the /tmp one.

Open to suggestions on how to handle this if you have a better idea than a cron.

@poweredgenl
Copy link
Author

Hi @jakowenko .. thnx for the insight. So the dir i@ not needed for post processing...

Im not a native coder so suggestions are a bit so so..

1 use a cron...pro ..scheduled less constraints in processing..batch driven thus with high load not additional resource consumption...cons...with lot of files..system could prevent rm rf...like in my case...
2 transaction driven...could you implement a per transaction check and sent the tmp file along and let the processing transaction immediately delete the file afterwards?

Other thought...could it be that due to perhaps a detector not beeing available...it queues the transactions and thus filling up /tmp? How did you designed this situation aka behavior? If so.. a check it will not queue up those files in /tmp?

Your view? :)

@jakowenko
Copy link
Owner

I like the idea of transaction driven, after each event I'll delete the tmp image. Maybe on start I'll delete all tmp images too just incase any ever get orphaned due to an error.

@poweredgenl
Copy link
Author

I like the idea of transaction driven, after each event I'll delete the tmp image. Maybe on start I'll delete all tmp images too just incase any ever get orphaned due to an error.

Would be my preference too, transaction driven, in case a lot of movements aka detection occurs you want to finish the crud process in 1 flow rather then splitting. Keep me posted when you want to test..

@jakowenko
Copy link
Owner

Just pushed a new build to jakowenko/double-take:beta if you want to try it out. All processed images are now saved to /tmp/double-take and are deleted after processing. On server restarts the entire folder is deleted and recreated for extra cleanup.

@poweredgenl
Copy link
Author

Great! Will test tonight after work so expect a bit delay...CET timezone over here.

@poweredgenl
Copy link
Author

pulled it - / running / will test / let you know ...

@poweredgenl
Copy link
Author

looks like disk is not beeing filled up anymore... so a close from me ...

github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [0.11.0](v0.10.2...v0.11.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [0.11.0](v0.10.2...v0.11.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [0.11.0](v0.10.2...v0.11.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [0.11.0](v0.10.2...v0.11.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [0.11.0](v0.10.2...v0.11.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [0.11.0](v0.10.2...v0.11.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [1.0.0](v0.10.2...v1.0.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### chore

* release ([3dddd40](3dddd40))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))

### BREAKING CHANGES

* v1.0.0
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [1.0.0](v0.10.2...v1.0.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### chore

* release ([824db79](824db79))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))

### BREAKING CHANGES

* v1.0.0
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [1.0.0](v0.10.2...v1.0.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### chore

* release ([824db79](824db79))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))

### BREAKING CHANGES

* v1.0.0
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [1.0.0](v0.10.2...v1.0.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### chore

* release ([824db79](824db79))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))

### BREAKING CHANGES

* v1.0.0
github-actions bot pushed a commit that referenced this issue Sep 21, 2021
# [1.0.0](v0.10.2...v1.0.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### chore

* release ([824db79](824db79))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))

### BREAKING CHANGES

* v1.0.0
jakowenko added a commit that referenced this issue Sep 21, 2021
# [1.0.0](v0.10.2...v1.0.0) (2021-09-21)

### Bug Fixes

* add auth middleware to filters route ([d25c1fd](d25c1fd))
* add auth token to saveURLs function ([#70](#70)) ([167758f](167758f))
* add support for multiple training uploads ([#77](#77)) ([142b3f7](142b3f7))
* better error handling when training fails to prevent stuck loading bar ([07dfd25](07dfd25))
* better handling of new filters ([3fffa6e](3fffa6e))
* button alignment on train toolbar ([c9b38ce](c9b38ce))
* catch errors from recognize/test ([51629d3](51629d3))
* catch get-orientation errors ([d1ca17d](d1ca17d))
* catch if paginated page has no results and return to page 1 ([713be92](713be92))
* catch invalid config on save before writing file ([#94](#94)) ([e4503e8](e4503e8))
* catch when time format is null ([#98](#98)) ([ed872dd](ed872dd))
* check for first number in status to determine if file is trained or untrained ([125f96e](125f96e))
* clean /tmp files after processing and remove all on restarts [#76](#76) ([a5c761f](a5c761f))
* clean mqtt /tmp files after processing [#76](#76) ([b6478ce](b6478ce))
* clear disabled array ([dd84f85](dd84f85))
* define default value for error ([5f27099](5f27099))
* don't reprocess if no detectors configured ([157e7c7](157e7c7))
* loop through compreface plugin results on ui ([83cea24](83cea24))
* **mqtt:** don't publish message if client isn't connected ([5901ebe](5901ebe))
* pass auth token on /cameras route to recognize endpoint ([2e940bf](2e940bf))
* pass upcoming filename to start function to use in response ([32f0bae](32f0bae))
* prevent pagination changes if api is loading ([c767aae](c767aae))
* sanpshot mask check ([56f3ea6](56f3ea6))
* update respond middleware to use res.customStatusCode instead of native res.statusCode ([caf6a89](caf6a89))
* use HTTPSuccess for test controller response ([9bcf8fa](9bcf8fa))

### chore

* release ([824db79](824db79))

### Features

* ability to adjust thumbnail quality/size and page limit ([e5207fa](e5207fa))
* ability to include base64 encoded string in API results and MQTT messages ([#52](#52)) ([233d56a](233d56a))
* ability to increase auth token expiration ([#78](#78), [#80](#80)) ([d68d39e](d68d39e))
* ability to mask images before processing [#79](#79) ([decb245](decb245))
* ability to reprocess images from the matches page ([#84](#84)) ([809d5f3](809d5f3))
* ability to resize source images with query string ([c2ea600](c2ea600))
* add a delay expressed in seconds between each detection loop ([#83](#83)) ([23dc29e](23dc29e))
* add createdAt, updatedAt to detector detail and tooltip ([#100](#100)) ([03c83f5](03c83f5))
* allow customizing frigate labels ([#95](#95)) ([5eb100a](5eb100a))
* apple-touch-startup-image and theme color ([d8106bb](d8106bb))
* configure detector timeouts ([f654dec](f654dec))
* copy yaml config with defaults ([052ab4b](052ab4b))
* enable or disable frigate mqtt topic snapshot processing ([#83](#83)) ([3bf2bea](3bf2bea))
* filter training results when dropdown is used ([#89](#89)) ([81232aa](81232aa))
* include reasons why image was a miss on matches page ([#90](#90)) ([f5e220b](f5e220b))
* include version on config page with ability to copy ([029bfea](029bfea))
* log level support ([#84](#84)) ([5f91b83](5f91b83))
* pagination and filtering on all matches + refactoring ([af30071](af30071))
* publish errors to mqtt topic ([#52](#52)) ([01a2d6c](01a2d6c))
* redact secrets and keys from logs ([0f3ef02](0f3ef02))
* sockets for live reloading ([50fef76](50fef76))
* support for compreface mask plugin ([#85](#85)) ([7951524](7951524))
* support for multiple frigate urls and topics ([4ead9f7](4ead9f7))
* **train:** pagination ([f749437](f749437))

### BREAKING CHANGES

* v1.0.0
@kitchung
Copy link

I'm on v1.5.1 and see a lot of files in my /tmp/double-take directory, 1.8G for 11078 files in a 22 hr run.
Should I open a fresh bug issue?

@jakowenko
Copy link
Owner

jakowenko commented Oct 21, 2021

I'm on v1.5.1 and see a lot of files in my /tmp/double-take directory, 1.8G for 11078 files in a 22 hr run. Should I open a fresh bug issue?

I'll reopen this issue. Can you try restarting the container to see if it cleans them up in the meantime? It should purge that folder on restarts. I'll try to debug why they aren't getting deleted.

@jakowenko jakowenko reopened this Oct 21, 2021
@kitchung
Copy link

kitchung commented Oct 21, 2021

I'll reopen this issue. Can you try restarting the container to see if it cleans them up in the meantime? It should purge that folder on restarts. I'll try to debug why they aren't getting deleted.

Yes, a container restart does indeed clean it up. I'm using Unraid 6.9.2 but doubt that's impactful for this issue. Is this a problem for anyone else? The files present in my /tmp/double-take are {id}-mqtt-${uuidv4()} and {id}-latest-${uuidv4()}; I did not define "snapshot" in my config.

When this gets fixed, what are your thoughts on moving the temp location to /dev/shm to minimize SSD wear?

@jakowenko
Copy link
Owner

I have a fix ready, there was a feature that introduced a bug that caused the tmp images to not be deleted. I can update the path to /dev/shm though if that's better. Is there any issues with writing to /dev/shm that I need to account for?

@kitchung
Copy link

No idea about /dev/shm issues; I'm not a developer and only see Shinobi and Frigate use it for to avoid SSD wear.

@jakowenko
Copy link
Owner

I'm checking to see if /dev/shm exists on the host, if it does the API will write to /dev/shm/double-take, if it doesn't exist, then /tmp/double-take will be used.

@jakowenko
Copy link
Owner

The beta image jakowenko/double-take:beta for amd64 should include the tmp deletion fix and the update to use /dev/shm. Let me know if that works and I can publish a new release.

jakowenko added a commit that referenced this issue Oct 21, 2021
## [1.5.2](v1.5.1...v1.5.2) (2021-10-21)

### Bug Fixes

* **api:** delete tmp file after processing ([#76](#76)) ([189216b](189216b))
@kitchung
Copy link

The beta image jakowenko/double-take:beta for amd64 should include the tmp deletion fix and the update to use /dev/shm. Let me know if that works and I can publish a new release.

Hey, thanks for making this happen!

I've deployed it and will check it out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants