mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-10-06 14:52:47 +03:00
Miscellaneous fixes (#24528)
* revert disable save buttons when there are no changes in config editor * pass migrated config to each step in the config migration chain * use 150 as the default max when typing a min speed in the search filter * fix preview export outpoint to be relative to the start of the preview file * don't crash on invalid trusted proxy entries or non-ip forwarded hops * translate the camera count badge in the roles table * run every batch through the lpr recognition model * log rejected motion and notification mqtt payloads * log invalid addresses in x-forwarded-for * add test * remove unused autotracked_object_region * remove unreachable autotracker setup call in camera maintenance * apply onvif retry limit when initialization fails * fix reindex progress overcounting when there are fewer events than a batch * match the register device button aria label to its text * reset the add profile form on cancel * ignore case when filtering search suggestions * tweak comment
This commit is contained in:
@@ -1162,7 +1162,9 @@
|
||||
"actions": "Actions",
|
||||
"noRoles": "No custom roles found.",
|
||||
"editCameras": "Edit Cameras",
|
||||
"deleteRole": "Delete Role"
|
||||
"deleteRole": "Delete Role",
|
||||
"cameraCount_one": "{{count}} camera",
|
||||
"cameraCount_other": "{{count}} cameras"
|
||||
},
|
||||
"toast": {
|
||||
"success": {
|
||||
|
||||
@@ -627,7 +627,11 @@ export default function NotificationsSettingsExtras({
|
||||
<SettingsGroupCard title={t("notification.deviceSpecific")}>
|
||||
<div className={cn("space-y-2", isAdmin && "md:max-w-[50%]")}>
|
||||
<Button
|
||||
aria-label={t("notification.registerDevice")}
|
||||
aria-label={
|
||||
registration != null
|
||||
? t("notification.unregisterDevice")
|
||||
: t("notification.registerDevice")
|
||||
}
|
||||
className="w-full md:w-auto"
|
||||
disabled={!shouldFetchPubKey || publicKey == undefined}
|
||||
onClick={() => {
|
||||
|
||||
@@ -218,7 +218,7 @@ export default function InputWithTags({
|
||||
}
|
||||
|
||||
return current_suggestions.filter((suggestion) =>
|
||||
suggestion.toLowerCase().startsWith(currentWord),
|
||||
suggestion.toLowerCase().startsWith(currentWord.toLowerCase()),
|
||||
);
|
||||
},
|
||||
[inputValue, suggestions, currentFilterType],
|
||||
|
||||
@@ -631,7 +631,7 @@ export function SpeedFilterContent({
|
||||
const value = e.target.value;
|
||||
|
||||
if (value) {
|
||||
setSpeedRange(parseInt(value), maxSpeed ?? 1.0);
|
||||
setSpeedRange(parseInt(value), maxSpeed ?? 150);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -287,7 +287,6 @@ function ConfigEditor() {
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
disabled={!hasChanges}
|
||||
className="flex items-center gap-2"
|
||||
aria-label={t("saveAndRestart")}
|
||||
onClick={handleSaveAndRestart}
|
||||
@@ -300,7 +299,6 @@ function ConfigEditor() {
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
disabled={!hasChanges}
|
||||
className="flex items-center gap-2"
|
||||
aria-label={t("saveOnly")}
|
||||
onClick={() => onHandleSaveConfig("saveonly")}
|
||||
|
||||
@@ -657,7 +657,9 @@ export default function AuthenticationView({
|
||||
</Badge>
|
||||
) : roleData.cameras.length > 5 ? (
|
||||
<Badge variant="outline" className="text-xs">
|
||||
{roleData.cameras.length} cameras
|
||||
{t("roles.table.cameraCount", {
|
||||
count: roleData.cameras.length,
|
||||
})}
|
||||
</Badge>
|
||||
) : (
|
||||
<div className="flex flex-wrap gap-1">
|
||||
|
||||
@@ -661,7 +661,10 @@ export default function ProfilesView({
|
||||
<DialogFooter>
|
||||
<Button
|
||||
type="button"
|
||||
onClick={() => setAddDialogOpen(false)}
|
||||
onClick={() => {
|
||||
setAddDialogOpen(false);
|
||||
addForm.reset();
|
||||
}}
|
||||
disabled={addingProfile}
|
||||
>
|
||||
{t("button.cancel", { ns: "common" })}
|
||||
|
||||
Reference in New Issue
Block a user