Add attributes to UI filters list (#23250)
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions

* preserve user-set min_score on attribute filters instead of bumping any 0.5 value

use model_fields_set to distinguish "user explicitly set min_score" from "Pydantic applied the generic FilterConfig default of 0.5"

* add config test for attributes

* fix attributes frontend type

* add expanded hidden field context

* extend schema modification

* special case for attributes

* i18n for attributes

* handle dedicated lpr mode

* strip unrendered FilterConfig fields from attribute filter form data to fix validation errors
This commit is contained in:
Josh Hawkins
2026-05-19 08:31:50 -06:00
committed by GitHub
parent 4fdc107987
commit b1de5e2290
16 changed files with 535 additions and 43 deletions
+9 -4
View File
@@ -10,6 +10,7 @@ import { FrigateConfig } from "@/types/frigateConfig";
import { JsonObject, JsonValue } from "@/types/configForm";
import { isJsonObject } from "@/lib/utils";
import {
buildHiddenFieldContext,
getBaseCameraSectionValue,
getEffectiveHiddenFields,
pathMatchesHiddenPattern,
@@ -286,7 +287,7 @@ export function useConfigOverride({
const hiddenFields = getEffectiveHiddenFields(
sectionPath,
"camera",
config,
buildHiddenFieldContext(config, "camera", cameraName),
);
const collapsedGlobal = stripHiddenPaths(
collapseEmpty(normalizedGlobalValue),
@@ -439,7 +440,11 @@ export function useAllCameraOverrides(
getBaseCameraSectionValue(config, cameraName, key),
);
const hiddenFields = getEffectiveHiddenFields(key, "camera", config);
const hiddenFields = getEffectiveHiddenFields(
key,
"camera",
buildHiddenFieldContext(config, "camera", cameraName),
);
const collapsedGlobal = stripHiddenPaths(
collapseEmpty(globalValue),
hiddenFields,
@@ -795,7 +800,7 @@ export function useCameraSectionDeltas(
const hiddenFields = getEffectiveHiddenFields(
sectionPath,
"camera",
config,
buildHiddenFieldContext(config, "camera", cameraName),
);
const deltas: FieldDelta[] = [];
@@ -864,7 +869,7 @@ export function useProfileSectionDeltas(
const hiddenFields = getEffectiveHiddenFields(
sectionPath,
"camera",
config,
buildHiddenFieldContext(config, "camera", cameraName),
);
const deltas: FieldDelta[] = [];