auto-send ON genai review WS message when enabled_in_config transitions to true

This commit is contained in:
Josh Hawkins 2026-04-06 17:18:52 -05:00
parent f33b07bc90
commit 23aa21ea82

View File

@ -1,4 +1,4 @@
import { useMemo } from "react"; import { useEffect, useMemo, useRef } from "react";
import useSWR from "swr"; import useSWR from "swr";
import { Trans } from "react-i18next"; import { Trans } from "react-i18next";
import Heading from "@/components/ui/heading"; import Heading from "@/components/ui/heading";
@ -37,6 +37,34 @@ export default function CameraReviewStatusToggles({
const { payload: revDescState, send: sendRevDesc } = const { payload: revDescState, send: sendRevDesc } =
useReviewDescriptionState(cameraId); useReviewDescriptionState(cameraId);
// Sync WS runtime state when genai transitions from disabled to enabled in config
const prevObjGenaiEnabled = useRef(
cameraConfig?.objects?.genai?.enabled_in_config,
);
const prevRevGenaiEnabled = useRef(
cameraConfig?.review?.genai?.enabled_in_config,
);
useEffect(() => {
const wasEnabled = prevObjGenaiEnabled.current;
const isEnabled = cameraConfig?.objects?.genai?.enabled_in_config;
prevObjGenaiEnabled.current = isEnabled;
if (!wasEnabled && isEnabled) {
sendObjDesc("ON");
}
}, [cameraConfig?.objects?.genai?.enabled_in_config, sendObjDesc]);
useEffect(() => {
const wasEnabled = prevRevGenaiEnabled.current;
const isEnabled = cameraConfig?.review?.genai?.enabled_in_config;
prevRevGenaiEnabled.current = isEnabled;
if (!wasEnabled && isEnabled) {
sendRevDesc("ON");
}
}, [cameraConfig?.review?.genai?.enabled_in_config, sendRevDesc]);
if (!selectedCamera || !cameraConfig) { if (!selectedCamera || !cameraConfig) {
return null; return null;
} }