From 81b873dead7459f294e418e613134a4c107ff4ba Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 18 Feb 2025 09:13:28 -0700 Subject: [PATCH] Quick fixes (#16668) * Write thumbnails to disk on shutdown * Update text on face library page --- frigate/object_processing.py | 9 +++++++++ web/src/pages/FaceLibrary.tsx | 15 +++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/frigate/object_processing.py b/frigate/object_processing.py index aa966bab8..137883b2b 100644 --- a/frigate/object_processing.py +++ b/frigate/object_processing.py @@ -412,6 +412,11 @@ class CameraState: self.previous_frame_id = frame_name + def shutdown(self) -> None: + for obj in self.tracked_objects.values(): + if not obj.obj_data.get("end_time"): + obj.write_thumbnail_to_disk() + class TrackedObjectProcessor(threading.Thread): def __init__( @@ -722,6 +727,10 @@ class TrackedObjectProcessor(threading.Thread): event_id, camera, _ = update self.camera_states[camera].finished(event_id) + # shut down camera states + for state in self.camera_states.values(): + state.shutdown() + self.requestor.stop() self.detection_publisher.stop() self.event_sender.stop() diff --git a/web/src/pages/FaceLibrary.tsx b/web/src/pages/FaceLibrary.tsx index 4bb6b39ff..8daf7e325 100644 --- a/web/src/pages/FaceLibrary.tsx +++ b/web/src/pages/FaceLibrary.tsx @@ -327,7 +327,7 @@ function FaceAttempt({ .post(`/faces/reprocess`, { training_file: image }) .then((resp) => { if (resp.status == 200) { - toast.success(`Successfully trained face.`, { + toast.success(`Successfully updated face score.`, { position: "top-center", }); onRefresh(); @@ -335,11 +335,14 @@ function FaceAttempt({ }) .catch((error) => { if (error.response?.data?.message) { - toast.error(`Failed to train: ${error.response.data.message}`, { - position: "top-center", - }); + toast.error( + `Failed to update score: ${error.response.data.message}`, + { + position: "top-center", + }, + ); } else { - toast.error(`Failed to train: ${error.message}`, { + toast.error(`Failed to update score: ${error.message}`, { position: "top-center", }); } @@ -419,7 +422,7 @@ function FaceAttempt({ onClick={() => onReprocess()} /> - Delete Face Attempt + Reprocess Face