mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-06-30 09:01:14 +03:00
Some checks failed
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
* respect section hiddenFields when detecting config overrides * change audio events to audio detection to match docs * add field messages for object and review genai * add more config messages * more messages * add guard to prevent race when adding camera dynamically * fix duplicate websocket messages from zombie connection under react strict mode detach ws event handlers before close() in WsProvider cleanup so a CONNECTING socket's deferred onclose can't schedule a reconnect after the next mount resets the unmounted guard, which was spawning a second live ws and duplicating every message * fix double event publishes for stationary objects with attributes
78 lines
1.8 KiB
TypeScript
78 lines
1.8 KiB
TypeScript
import type { SectionConfigOverrides } from "./types";
|
|
|
|
const detect: SectionConfigOverrides = {
|
|
base: {
|
|
sectionDocs: "/configuration/camera_specific",
|
|
messages: [
|
|
{
|
|
key: "detect-disabled",
|
|
messageKey: "configMessages.detect.disabled",
|
|
severity: "info",
|
|
condition: (ctx) =>
|
|
ctx.level === "camera" && ctx.formData?.enabled === false,
|
|
},
|
|
],
|
|
fieldMessages: [
|
|
{
|
|
key: "fps-greater-than-five",
|
|
field: "fps",
|
|
messageKey: "configMessages.detect.fpsGreaterThanFive",
|
|
severity: "info",
|
|
position: "after",
|
|
condition: (ctx) => {
|
|
if (ctx.level !== "camera" || !ctx.fullCameraConfig) return false;
|
|
if (ctx.fullCameraConfig.type === "lpr") return false;
|
|
const detectFps = ctx.formData?.fps as number | undefined;
|
|
const streamFps = ctx.fullCameraConfig.detect?.fps;
|
|
return detectFps != null && streamFps != null && detectFps > 5;
|
|
},
|
|
},
|
|
],
|
|
fieldOrder: [
|
|
"enabled",
|
|
"width",
|
|
"height",
|
|
"fps",
|
|
"min_initialized",
|
|
"max_disappeared",
|
|
"annotation_offset",
|
|
"stationary",
|
|
"interval",
|
|
"threshold",
|
|
"max_frames",
|
|
],
|
|
restartRequired: [],
|
|
fieldGroups: {
|
|
resolution: ["width", "height", "fps"],
|
|
tracking: ["min_initialized", "max_disappeared"],
|
|
},
|
|
hiddenFields: ["enabled_in_config"],
|
|
advancedFields: [
|
|
"min_initialized",
|
|
"max_disappeared",
|
|
"annotation_offset",
|
|
"stationary",
|
|
],
|
|
},
|
|
global: {
|
|
restartRequired: [
|
|
"fps",
|
|
"width",
|
|
"height",
|
|
"min_initialized",
|
|
"max_disappeared",
|
|
],
|
|
},
|
|
camera: {
|
|
restartRequired: [
|
|
"fps",
|
|
"width",
|
|
"height",
|
|
"min_initialized",
|
|
"max_disappeared",
|
|
],
|
|
},
|
|
};
|
|
|
|
export default detect;
|