From 6e3b40eaee29414662d840103df5c2faf640019b Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Wed, 20 Aug 2025 14:45:17 -0600 Subject: [PATCH] Fix record motion config (#19672) * fix record config * Formatting --- frigate/record/cleanup.py | 7 ++++++- frigate/util/config.py | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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