Compare commits

..

7 Commits

Author SHA1 Message Date
Nicolas Mowen
c22de09518 Add confidence default to avoid unnecessary field causing issues 2026-04-28 08:45:23 -06:00
Josh Hawkins
87501ba970 fix invalid recording segment topic being misrouted to the valid handler 2026-04-28 09:07:07 -05:00
Nicolas Mowen
b0f4fcd676 Improve GenAI metadata 2026-04-27 15:16:14 -06:00
Josh Hawkins
0de804892b end any in-progress audio events when audio detection is disabled
we already end in-progress audio events when we disable a camera, but this mirrors that logic for specifically disabling audio detection
2026-04-27 11:33:22 -05:00
Josh Hawkins
508f4509e1 ensure cleanup runs when an event end skips post-processing 2026-04-27 09:32:00 -05:00
Josh Hawkins
18354aef6c add mqtt to camera config update enum 2026-04-27 07:20:46 -05:00
Josh Hawkins
af2435a795 add ui to camera config update topics enum 2026-04-27 07:13:23 -05:00
2 changed files with 1 additions and 13 deletions

View File

@ -4,7 +4,6 @@ import base64
import json
import logging
import os
import sys
import threading
from json.decoder import JSONDecodeError
from multiprocessing.synchronize import Event as MpEvent
@ -53,14 +52,6 @@ class EmbeddingProcess(FrigateProcess):
self.stop_event,
)
maintainer.start()
maintainer.join()
# If the maintainer thread exited but no shutdown was requested, it
# crashed. Surface as a non-zero exit so the watchdog restarts us
# instead of treating the silent thread death as a clean shutdown.
if not self.stop_event.is_set():
logger.error("Embeddings maintainer thread exited unexpectedly")
sys.exit(1)
class EmbeddingsContext:

View File

@ -28,7 +28,6 @@ class MonitoredProcess:
restart_timestamps: deque[float] = field(
default_factory=lambda: deque(maxlen=MAX_RESTARTS)
)
clean_exit_logged: bool = False
def is_restarting_too_fast(self, now: float) -> bool:
while (
@ -73,9 +72,7 @@ class FrigateWatchdog(threading.Thread):
exitcode = entry.process.exitcode
if exitcode == 0:
if not entry.clean_exit_logged:
logger.info("Process %s exited cleanly, not restarting", entry.name)
entry.clean_exit_logged = True
logger.info("Process %s exited cleanly, not restarting", entry.name)
return
logger.warning(