From f5fd42bab0e2b204ae8dbdc9c1ba8050a99bc06a Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Wed, 23 Apr 2025 07:42:24 -0500 Subject: [PATCH] fix ongoing events from being returned for all review queries The existing condition will include any record with a null end_time regardless of when it started, as long as the start_time is greater than the after param. With this fix, both the start time needs to be within the specified range, and for events that have already ended, their end time must be before the before param --- frigate/api/review.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/frigate/api/review.py b/frigate/api/review.py index 977a0aa94..b90365595 100644 --- a/frigate/api/review.py +++ b/frigate/api/review.py @@ -58,13 +58,9 @@ async def review( ) clauses = [ - ( - (ReviewSegment.start_time > after) - & ( - (ReviewSegment.end_time.is_null(True)) - | (ReviewSegment.end_time < before) - ) - ) + (ReviewSegment.start_time > after) + & (ReviewSegment.start_time < before) + & ((ReviewSegment.end_time.is_null(True)) | (ReviewSegment.end_time < before)) ] if cameras != "all":