diff --git a/docker/rocm/rocm.hcl b/docker/rocm/rocm.hcl
index 6a52b9578..0e9ae2c5c 100644
--- a/docker/rocm/rocm.hcl
+++ b/docker/rocm/rocm.hcl
@@ -2,7 +2,7 @@ variable "AMDGPU" {
default = "gfx900"
}
variable "ROCM" {
- default = "7.1"
+ default = "7.1.0"
}
variable "HSA_OVERRIDE_GFX_VERSION" {
default = ""
diff --git a/docs/docs/configuration/live.md b/docs/docs/configuration/live.md
index 8c310634a..be467f7f8 100644
--- a/docs/docs/configuration/live.md
+++ b/docs/docs/configuration/live.md
@@ -232,7 +232,7 @@ When your browser runs into problems playing back your camera streams, it will l
- **mse-decode**
- What it means: The browser reported a decoding error while trying to play the stream, which usually is a result of a codec incompatibility or corrupted frames.
- - What to try: Ensure your camera/restream is using H.264 video and AAC audio (these are the most compatible). If your camera uses a non-standard audio codec, configure `go2rtc` to transcode the stream to AAC. Try another browser (some browsers have stricter MSE/codec support) and, for iPhone, ensure you're on iOS 17.1 or newer.
+ - What to try: Check the browser console for the supported and negotiated codecs. Ensure your camera/restream is using H.264 video and AAC audio (these are the most compatible). If your camera uses a non-standard audio codec, configure `go2rtc` to transcode the stream to AAC. Try another browser (some browsers have stricter MSE/codec support) and, for iPhone, ensure you're on iOS 17.1 or newer.
- Possible console messages from the player code:
diff --git a/frigate/api/event.py b/frigate/api/event.py
index 13886af13..c084a8971 100644
--- a/frigate/api/event.py
+++ b/frigate/api/event.py
@@ -1753,7 +1753,7 @@ def create_trigger_embedding(
body.data, (base64.b64encode(thumbnail).decode("ASCII"))
)
- if embedding is None:
+ if not embedding:
return JSONResponse(
content={
"success": False,
@@ -1888,7 +1888,7 @@ def update_trigger_embedding(
body.data, (base64.b64encode(thumbnail).decode("ASCII"))
)
- if embedding is None:
+ if not embedding:
return JSONResponse(
content={
"success": False,
diff --git a/web/public/locales/en/components/dialog.json b/web/public/locales/en/components/dialog.json
index a40e62db7..a56c2b1da 100644
--- a/web/public/locales/en/components/dialog.json
+++ b/web/public/locales/en/components/dialog.json
@@ -53,6 +53,7 @@
"selectOrExport": "Select or Export",
"toast": {
"success": "Successfully started export. View the file in the exports page.",
+ "view": "View",
"error": {
"failed": "Failed to start export: {{error}}",
"endTimeMustAfterStartTime": "End time must be after start time",
diff --git a/web/public/locales/en/views/explore.json b/web/public/locales/en/views/explore.json
index 19559a43a..5335aa5ac 100644
--- a/web/public/locales/en/views/explore.json
+++ b/web/public/locales/en/views/explore.json
@@ -61,7 +61,8 @@
"header": {
"zones": "Zones",
"ratio": "Ratio",
- "area": "Area"
+ "area": "Area",
+ "score": "Score"
}
},
"annotationSettings": {
diff --git a/web/src/components/card/ReviewCard.tsx b/web/src/components/card/ReviewCard.tsx
index 8fc4024db..e8d8121a8 100644
--- a/web/src/components/card/ReviewCard.tsx
+++ b/web/src/components/card/ReviewCard.tsx
@@ -87,7 +87,7 @@ export default function ReviewCard({
position: "top-center",
action: (
-
+
),
});
diff --git a/web/src/components/classification/wizard/Step3ChooseExamples.tsx b/web/src/components/classification/wizard/Step3ChooseExamples.tsx
index e4c157526..6e4311cec 100644
--- a/web/src/components/classification/wizard/Step3ChooseExamples.tsx
+++ b/web/src/components/classification/wizard/Step3ChooseExamples.tsx
@@ -148,7 +148,9 @@ export default function Step3ChooseExamples({
// Step 3: Kick off training
await axios.post(`/classification/${step1Data.modelName}/train`);
- toast.success(t("wizard.step3.trainingStarted"));
+ toast.success(t("wizard.step3.trainingStarted"), {
+ closeButton: true,
+ });
setIsTraining(true);
},
[step1Data, step2Data, t],
diff --git a/web/src/components/filter/SearchFilterGroup.tsx b/web/src/components/filter/SearchFilterGroup.tsx
index d049480c6..3c44cad0c 100644
--- a/web/src/components/filter/SearchFilterGroup.tsx
+++ b/web/src/components/filter/SearchFilterGroup.tsx
@@ -314,11 +314,10 @@ function GeneralFilterButton({
{
if (!open) {
@@ -510,11 +509,10 @@ function SortTypeButton({
{
if (!open) {
diff --git a/web/src/components/overlay/ExportDialog.tsx b/web/src/components/overlay/ExportDialog.tsx
index 832e9faa9..976b20042 100644
--- a/web/src/components/overlay/ExportDialog.tsx
+++ b/web/src/components/overlay/ExportDialog.tsx
@@ -97,7 +97,7 @@ export default function ExportDialog({
position: "top-center",
action: (
-
+
),
});
diff --git a/web/src/components/overlay/MobileReviewSettingsDrawer.tsx b/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
index d7f0c7ae6..78827a99e 100644
--- a/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
+++ b/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
@@ -106,7 +106,9 @@ export default function MobileReviewSettingsDrawer({
position: "top-center",
action: (
-
+
),
},
diff --git a/web/src/components/overlay/dialog/PlatformAwareDialog.tsx b/web/src/components/overlay/dialog/PlatformAwareDialog.tsx
index ab69e1288..e0ec6efa9 100644
--- a/web/src/components/overlay/dialog/PlatformAwareDialog.tsx
+++ b/web/src/components/overlay/dialog/PlatformAwareDialog.tsx
@@ -44,8 +44,8 @@ export default function PlatformAwareDialog({
return (
{trigger}
-
- {content}
+
+