diff --git a/docs/docs/configuration/object_detectors.md b/docs/docs/configuration/object_detectors.md
index b1baf690c0..21f86798cb 100644
--- a/docs/docs/configuration/object_detectors.md
+++ b/docs/docs/configuration/object_detectors.md
@@ -72,7 +72,7 @@ This does not affect using hardware for accelerating other tasks such as [semant
# Officially Supported Detectors
-Frigate provides a number of builtin detector types. By default, Frigate will use a single OpenVINO detector running on the CPU. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
+Frigate provides a number of builtin detector types. By default, Frigate will use a single CPU detector. Other detectors may require additional configuration as described below. When using multiple detectors they will run in dedicated processes, but pull from a common queue of detection requests from across all cameras.
## Edge TPU Detector
diff --git a/web/src/components/auth/ProtectedRoute.tsx b/web/src/components/auth/ProtectedRoute.tsx
index bcfa8fdf36..c10a94a020 100644
--- a/web/src/components/auth/ProtectedRoute.tsx
+++ b/web/src/components/auth/ProtectedRoute.tsx
@@ -6,6 +6,7 @@ import {
isRedirectingToLogin,
setRedirectingToLogin,
} from "@/api/auth-redirect";
+import { baseUrl } from "@/api/baseUrl";
export default function ProtectedRoute({
requiredRoles,
@@ -24,7 +25,7 @@ export default function ProtectedRoute({
!isRedirectingToLogin()
) {
setRedirectingToLogin(true);
- window.location.href = "/login";
+ window.location.href = `${baseUrl}login`;
}
}, [auth.isLoading, auth.isAuthenticated, auth.user]);
diff --git a/web/src/components/card/ReviewCard.tsx b/web/src/components/card/ReviewCard.tsx
index 33d651ed89..19b4714095 100644
--- a/web/src/components/card/ReviewCard.tsx
+++ b/web/src/components/card/ReviewCard.tsx
@@ -94,7 +94,11 @@ export default function ReviewCard({
toast.success(t("export.toast.success"), {
position: "top-center",
action: (
-
+
),
diff --git a/web/src/components/chat/ChatAttachmentChip.tsx b/web/src/components/chat/ChatAttachmentChip.tsx
index 5894efaa77..ef4a114555 100644
--- a/web/src/components/chat/ChatAttachmentChip.tsx
+++ b/web/src/components/chat/ChatAttachmentChip.tsx
@@ -1,4 +1,5 @@
import { useApiHost } from "@/api";
+import { baseUrl } from "@/api/baseUrl";
import { useCameraFriendlyName } from "@/hooks/use-camera-friendly-name";
import { useTranslation } from "react-i18next";
import useSWR from "swr";
@@ -79,7 +80,7 @@ export function ChatAttachmentChip({
e.stopPropagation()}
diff --git a/web/src/components/menu/SearchResultActions.tsx b/web/src/components/menu/SearchResultActions.tsx
index b88e698531..43a192dc9e 100644
--- a/web/src/components/menu/SearchResultActions.tsx
+++ b/web/src/components/menu/SearchResultActions.tsx
@@ -116,7 +116,11 @@ export default function SearchResultActions({
closeButton: true,
dismissible: false,
action: (
-
+
diff --git a/web/src/components/overlay/DebugReplayDialog.tsx b/web/src/components/overlay/DebugReplayDialog.tsx
index 2f9a7159a6..665040dc5c 100644
--- a/web/src/components/overlay/DebugReplayDialog.tsx
+++ b/web/src/components/overlay/DebugReplayDialog.tsx
@@ -1,4 +1,5 @@
import { useCallback, useState } from "react";
+import { baseUrl } from "@/api/baseUrl";
import {
Dialog,
DialogContent,
@@ -227,7 +228,11 @@ export default function DebugReplayDialog({
closeButton: true,
dismissible: false,
action: (
-
+
),
diff --git a/web/src/components/overlay/ExportDialog.tsx b/web/src/components/overlay/ExportDialog.tsx
index eeec65f962..0d57821fc1 100644
--- a/web/src/components/overlay/ExportDialog.tsx
+++ b/web/src/components/overlay/ExportDialog.tsx
@@ -163,7 +163,11 @@ export default function ExportDialog({
toast.success(t("export.toast.queued"), {
position: "top-center",
action: (
-
+
),
diff --git a/web/src/components/overlay/MobileReviewSettingsDrawer.tsx b/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
index bca921072e..2ad2067462 100644
--- a/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
+++ b/web/src/components/overlay/MobileReviewSettingsDrawer.tsx
@@ -1,4 +1,5 @@
import { useCallback, useState } from "react";
+import { baseUrl } from "@/api/baseUrl";
import { Drawer, DrawerContent, DrawerTrigger } from "../ui/drawer";
import { Button } from "../ui/button";
import { FaArrowDown, FaCalendarAlt, FaCog, FaFilter } from "react-icons/fa";
@@ -190,7 +191,11 @@ export default function MobileReviewSettingsDrawer({
toast.success(t("export.toast.queued", { ns: "components/dialog" }), {
position: "top-center",
action: (
-
+
diff --git a/web/src/components/timeline/EventMenu.tsx b/web/src/components/timeline/EventMenu.tsx
index 375430c2e9..42efd2c97f 100644
--- a/web/src/components/timeline/EventMenu.tsx
+++ b/web/src/components/timeline/EventMenu.tsx
@@ -8,6 +8,7 @@ import {
} from "@/components/ui/dropdown-menu";
import { HiDotsHorizontal } from "react-icons/hi";
import { useApiHost } from "@/api";
+import { baseUrl } from "@/api/baseUrl";
import { useNavigate } from "react-router-dom";
import { useTranslation } from "react-i18next";
import { Event } from "@/types/event";
@@ -79,7 +80,11 @@ export default function EventMenu({
closeButton: true,
dismissible: false,
action: (
-
+
diff --git a/web/src/views/events/EventView.tsx b/web/src/views/events/EventView.tsx
index edf144f883..5ffbe5f960 100644
--- a/web/src/views/events/EventView.tsx
+++ b/web/src/views/events/EventView.tsx
@@ -49,6 +49,7 @@ import { FiMoreVertical } from "react-icons/fi";
import { IoMdArrowRoundBack } from "react-icons/io";
import useSWR from "swr";
import MotionReviewTimeline from "@/components/timeline/MotionReviewTimeline";
+import { baseUrl } from "@/api/baseUrl";
import { Button } from "@/components/ui/button";
import BlurredIconButton from "@/components/button/BlurredIconButton";
import {
@@ -284,7 +285,11 @@ export default function EventView({
{
position: "top-center",
action: (
-
+
diff --git a/web/src/views/motion-search/MotionSearchView.tsx b/web/src/views/motion-search/MotionSearchView.tsx
index 97811b7402..8a5ce680d7 100644
--- a/web/src/views/motion-search/MotionSearchView.tsx
+++ b/web/src/views/motion-search/MotionSearchView.tsx
@@ -3,6 +3,7 @@ import { useTranslation } from "react-i18next";
import useSWR from "swr";
import axios from "axios";
import { isDesktop, isMobile } from "react-device-detect";
+import { baseUrl } from "@/api/baseUrl";
import Logo from "@/components/Logo";
import { FrigateConfig } from "@/types/frigateConfig";
import { TimeRange } from "@/types/timeline";
@@ -363,7 +364,11 @@ export default function MotionSearchView({
{
position: "top-center",
action: (
-
+