Compare commits

..
Author SHA1 Message Date
dependabot[bot]andGitHub 5a587543dc Bump the web-security group across 1 directory with 1 update
Bumps the web-security group with 1 update in the /web directory: [zod](https://github.com/colinhacks/zod).


Updates `zod` from 3.25.76 to 4.6.7
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.25.76...v4.6.7)

Updates `zod` from 4.6.5 to 4.6.7
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.25.76...v4.6.7)

---
updated-dependencies:
- dependency-name: zod
  dependency-version: 4.6.7
  dependency-type: direct:production
  dependency-group: web-security
- dependency-name: zod
  dependency-version: 4.6.7
  dependency-type: indirect
  dependency-group: web-security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-25 13:05:16 +00:00
8 changed files with 25 additions and 42 deletions
+5 -5
View File
@@ -4,7 +4,7 @@ click == 8.5.*
aiohttp == 3.14.*
starlette == 1.9.*
starlette-context == 0.5.*
fastapi[standard-no-fastapi-cloud-cli] == 0.159.*
fastapi[standard-no-fastapi-cloud-cli] == 0.153.*
uvicorn == 0.54.*
slowapi == 0.1.*
joserfc == 1.7.*
@@ -28,7 +28,7 @@ git+https://github.com/fbcotter/py3nvml#egg=py3nvml
tzdata == 2026.5
pyzmq == 27.2.*
ruamel.yaml == 0.19.*
tzlocal == 5.4.5
tzlocal == 5.4.4
requests == 2.34.*
types-requests == 2.33.*
norfair == 2.3.*
@@ -43,13 +43,13 @@ opencv-contrib-python == 4.11.0.*
scipy == 1.17.*
# OpenVino & ONNX
openvino == 2026.4.*
onnxruntime == 1.31.*
onnxruntime == 1.30.*
# Embeddings
transformers == 5.20.*
# Generative AI
google-genai == 2.32.*
google-genai == 2.31.*
ollama == 0.6.*
openai == 3.36.*
openai == 3.35.*
# push notifications
py-vapid == 1.9.6
pywebpush == 2.5.*
+1 -1
View File
@@ -1315,7 +1315,7 @@ def nvinfo():
dependencies=[Depends(require_role(["admin"]))],
)
async def logs(
service: str = Path(json_schema_extra={"enum": ["frigate", "nginx", "go2rtc"]}),
service: str = Path(enum=["frigate", "nginx", "go2rtc"]),
download: str | None = None,
stream: bool | None = False,
start: int | None = 0,
+3 -3
View File
@@ -337,7 +337,7 @@ async def get_snapshot_from_recording(
request: Request,
camera_name: str,
frame_time: float,
format: str = Path(json_schema_extra={"enum": ["png", "jpg"]}),
format: str = Path(enum=["png", "jpg"]),
height: int = None,
):
if camera_name not in request.app.frigate_config.cameras:
@@ -1061,7 +1061,7 @@ async def event_thumbnail(
max_cache_age: int = Query(
2592000, description="Max cache age in seconds. Default 30 days in seconds."
),
format: str = Query(default="ios", json_schema_extra={"enum": ["ios", "android"]}),
format: str = Query(default="ios", enum=["ios", "android"]),
):
thumbnail_bytes = None
event_complete = False
@@ -1858,7 +1858,7 @@ async def preview_mp4(
async def review_preview(
request: Request,
event_id: str,
format: str = Query(default="gif", json_schema_extra={"enum": ["gif", "mp4"]}),
format: str = Query(default="gif", enum=["gif", "mp4"]),
):
try:
review: ReviewSegment = ReviewSegment.get(ReviewSegment.id == event_id)
+3 -6
View File
@@ -2,11 +2,10 @@
import logging
import queue
import random
import threading
import time
from collections import deque
from datetime import UTC, datetime, timedelta
from datetime import UTC, datetime
from multiprocessing import Queue
from multiprocessing.synchronize import Event as MpEvent
from typing import Any
@@ -256,9 +255,7 @@ def process_frames(
region_grid: list[list[dict[str, Any]]],
exit_on_empty: bool = False,
):
# cameras share one dispatcher, so stagger the daily grid rebuilds
region_update_offset = timedelta(seconds=random.randrange(3600))
next_region_update = get_tomorrow_at_time(2) + region_update_offset
next_region_update = get_tomorrow_at_time(2)
config_subscriber = CameraConfigUpdateSubscriber(
None,
{camera_config.name: camera_config},
@@ -347,7 +344,7 @@ def process_frames(
if updated_grid:
region_grid = updated_grid
next_region_update = get_tomorrow_at_time(2) + region_update_offset
next_region_update = get_tomorrow_at_time(2)
try:
if exit_on_empty:
+6 -6
View File
@@ -474,10 +474,10 @@ class CameraWatchdog(threading.Thread):
if not self.capture_thread.is_alive():
self.detect_status.send("offline", now)
self.camera_fps.value = 0
self.logger.error(
f"Ffmpeg process crashed unexpectedly for {self.config.name}."
)
if can_restart:
self.logger.error(
f"Ffmpeg process crashed unexpectedly for {self.config.name}."
)
self.reset_capture_thread(terminate=False)
last_restart_time = now
elif self.camera_fps.value >= (self.config.detect.fps + 10):
@@ -498,10 +498,10 @@ class CameraWatchdog(threading.Thread):
elif now - self.capture_thread.current_frame.value > 20:
self.detect_status.send("offline", now)
self.camera_fps.value = 0
self.logger.info(
f"No frames received from {self.config.name} in 20 seconds. Exiting ffmpeg..."
)
if can_restart:
self.logger.info(
f"No frames received from {self.config.name} in 20 seconds. Exiting ffmpeg..."
)
self.reset_capture_thread()
last_restart_time = now
else:
+4 -14
View File
@@ -83,7 +83,7 @@
"vaul": "^1.1.2",
"virtua": "^0.53.6",
"vite-plugin-monaco-editor": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.6.7"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
@@ -5115,16 +5115,6 @@
"eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0"
}
},
"node_modules/eslint-plugin-react-hooks/node_modules/zod": {
"version": "4.6.5",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz",
"integrity": "sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/eslint-plugin-react-hooks/node_modules/zod-validation-error": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz",
@@ -10655,9 +10645,9 @@
}
},
"node_modules/zod": {
"version": "3.25.76",
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
"version": "4.6.7",
"resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz",
"integrity": "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
+1 -1
View File
@@ -95,7 +95,7 @@
"vaul": "^1.1.2",
"virtua": "^0.53.6",
"vite-plugin-monaco-editor": "^1.1.0",
"zod": "^3.25.76"
"zod": "^4.6.7"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
+2 -6
View File
@@ -332,9 +332,7 @@ function PreviewVideoPlayer({
{t("noPreviewFoundFor", { cameraName: cameraName })}
</div>
)}
{firstLoad && (
<Skeleton className="absolute aspect-video size-full rounded-lg md:rounded-2xl" />
)}
{firstLoad && <Skeleton className="absolute aspect-video size-full" />}
</div>
);
}
@@ -557,9 +555,7 @@ function PreviewFramesPlayer({
{t("noPreviewFoundFor", { cameraName: cameraName })}
</div>
)}
{firstLoad && (
<Skeleton className="absolute aspect-video size-full rounded-lg md:rounded-2xl" />
)}
{firstLoad && <Skeleton className="absolute aspect-video size-full" />}
</div>
);
}