Miscellaneous fixes (#22828)
CI / AMD64 Build (push) Has been cancelled
CI / ARM Build (push) Has been cancelled
CI / Jetson Jetpack 6 (push) Has been cancelled
CI / AMD64 Extra Build (push) Has been cancelled
CI / ARM Extra Build (push) Has been cancelled
CI / Synaptics Build (push) Has been cancelled
CI / Assemble and push default build (push) Has been cancelled

* fix video playback stutter when GenAI dialog is open in detail stream

Inline `onOpen` callback in DetailStream.tsx:522 creates a new function identity every render. GenAISummaryChip.tsx:98's useEffect depends on [open, onOpen], so it re-fires on every parent re-render while the dialog is open. Each fire calls onSeek -> setCurrentTime -> seekToTimestamp, creating a continuous re-render + seek loop

* add /profiles to EXEMPT_PATHS for non-admin users

* skip debug_replay/status poll for non-admin users

* use subquery for timeline lookup to avoid SQLite variable limit
This commit is contained in:
Josh Hawkins
2026-04-09 20:53:17 -06:00
committed by GitHub
parent d113be5e19
commit 335229d0d4
4 changed files with 20 additions and 12 deletions
+5 -4
View File
@@ -62,11 +62,12 @@ def get_camera_regions_grid(
.where((Event.false_positive == None) | (Event.false_positive == False))
.where(Event.start_time > last_update)
)
valid_event_ids = [e["id"] for e in events.dicts()]
logger.debug(f"Found {len(valid_event_ids)} new events for {name}")
event_count = events.count()
logger.debug(f"Found {event_count} new events for {name}")
# no new events, return as is
if not valid_event_ids:
if event_count == 0:
return grid
new_update = datetime.datetime.now().timestamp()
@@ -78,7 +79,7 @@ def get_camera_regions_grid(
Timeline.data,
]
)
.where(Timeline.source_id << valid_event_ids)
.where(Timeline.source_id << events)
.limit(10000)
.dicts()
)