diff --git a/frigate/record/cleanup.py b/frigate/record/cleanup.py index 9d1e28306..b0359e71d 100644 --- a/frigate/record/cleanup.py +++ b/frigate/record/cleanup.py @@ -308,7 +308,12 @@ class RecordingCleanup(threading.Thread): now - datetime.timedelta(days=config.record.continuous.days) ).timestamp() motion_expire_date = ( - now - datetime.timedelta(days=config.record.motion.days) + now + - datetime.timedelta( + days=max( + config.record.motion.days, config.record.continuous.days + ) # can't keep motion for less than continuous + ) ).timestamp() # Get all the reviews to check against diff --git a/frigate/util/config.py b/frigate/util/config.py index 5ae17d975..56f5662fc 100644 --- a/frigate/util/config.py +++ b/frigate/util/config.py @@ -363,6 +363,10 @@ def migrate_017_0(config: dict[str, dict[str, Any]]) -> dict[str, dict[str, Any] if days: if mode == "all": continuous["days"] = days + + # if a user was keeping all for number of days + # we need to keep motion and all for that number of days + motion["days"] = days else: motion["days"] = days