Miscellaneous fixes (#23295)
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
CI / AMD64 Build (push) Waiting to run

* filter motion review by allowed cameras

* filter alertCameras by allowed cameras so the recent alerts query for restricted roles doesn't reference cameras they can't access

* skip data streams in chapter exports to avoid ffmpeg segfault

* formatting

* restrict debug replay UI entry points to admin users

* Adjust default iGPU name when it can't be found

* Fix when model tries to request an invalid camera

* Improve prompt

* add collapsible main nav items in settings

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
This commit is contained in:
Josh Hawkins
2026-05-24 06:48:52 -06:00
committed by GitHub
co-authored by Nicolas Mowen
parent d556ff8df2
commit ec44398b1c
13 changed files with 253 additions and 114 deletions
+7 -3
View File
@@ -13,6 +13,7 @@ import {
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip";
import { useAllowedCameras } from "@/hooks/use-allowed-cameras";
import { useUserPersistence } from "@/hooks/use-user-persistence";
import {
AllGroupsStreamingSettings,
@@ -90,6 +91,7 @@ export default function LiveDashboardView({
// recent events
const eventUpdate = useFrigateReviews();
const allowedCameras = useAllowedCameras();
const alertCameras = useMemo(() => {
if (!config) {
@@ -98,14 +100,16 @@ export default function LiveDashboardView({
if (cameraGroup == "default") {
return Object.values(config.cameras)
.filter((cam) => cam.ui.dashboard)
.filter((cam) => cam.ui.dashboard && allowedCameras.includes(cam.name))
.map((cam) => cam.name)
.join(",");
}
if (includeBirdseye && cameras.length == 0) {
return Object.values(config.cameras)
.filter((cam) => cam.birdseye.enabled)
.filter(
(cam) => cam.birdseye.enabled && allowedCameras.includes(cam.name),
)
.map((cam) => cam.name)
.join(",");
}
@@ -114,7 +118,7 @@ export default function LiveDashboardView({
.map((cam) => cam.name)
.filter((cam) => config.camera_groups[cameraGroup]?.cameras.includes(cam))
.join(",");
}, [cameras, cameraGroup, config, includeBirdseye]);
}, [cameras, cameraGroup, config, includeBirdseye, allowedCameras]);
const { data: allEvents, mutate: updateEvents } = useSWR<ReviewSegment[]>([
"review",