From 4a0eef6123fdacd6eae5957cb2568f1e3bf1db14 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Thu, 20 Mar 2025 08:13:12 -0600 Subject: [PATCH] Fix case where objects are returned as null --- web/src/hooks/use-camera-activity.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/web/src/hooks/use-camera-activity.ts b/web/src/hooks/use-camera-activity.ts index ea3257fbc..96b5f6ea5 100644 --- a/web/src/hooks/use-camera-activity.ts +++ b/web/src/hooks/use-camera-activity.ts @@ -37,7 +37,7 @@ export function useCameraActivity( return getAttributeLabels(config); }, [config]); - const [objects, setObjects] = useState([]); + const [objects, setObjects] = useState([]); // init camera activity @@ -54,7 +54,7 @@ export function useCameraActivity( // handle camera activity const hasActiveObjects = useMemo( - () => objects?.filter((obj) => !obj?.stationary)?.length > 0, + () => (objects || []).filter((obj) => !obj?.stationary)?.length > 0, [objects], ); @@ -81,11 +81,10 @@ export function useCameraActivity( return; } - const updatedEventIndex = objects.findIndex( - (obj) => obj.id === updatedEvent.after.id, - ); + const updatedEventIndex = + objects?.findIndex((obj) => obj.id === updatedEvent.after.id) ?? -1; - let newObjects: ObjectType[] = [...objects]; + let newObjects: ObjectType[] = [...(objects ?? [])]; if (updatedEvent.type === "end") { if (updatedEventIndex !== -1) { @@ -104,10 +103,10 @@ export function useCameraActivity( score: updatedEvent.after.score, sub_label: updatedEvent.after.sub_label?.[0] ?? "", }; - newObjects = [...objects, newActiveObject]; + newObjects = [...(objects ?? []), newActiveObject]; } } else { - const newObjects = [...objects]; + const newObjects = [...(objects ?? [])]; let label = updatedEvent.after.label; @@ -158,7 +157,7 @@ export function useCameraActivity( ? detectingMotion === "ON" : updatedCameraState?.motion === true : false, - objects: isCameraEnabled ? objects : [], + objects: isCameraEnabled ? (objects ?? []) : [], offline, }; }