diff --git a/web/src/pages/Events.tsx b/web/src/pages/Events.tsx index e2c2a1db1..d9769e86b 100644 --- a/web/src/pages/Events.tsx +++ b/web/src/pages/Events.tsx @@ -29,7 +29,7 @@ import EventView from "@/views/events/EventView"; import MotionSearchView from "@/views/motion-search/MotionSearchView"; import { RecordingView } from "@/views/recording/RecordingView"; import axios from "axios"; -import { useCallback, useEffect, useMemo, useState } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; import useSWR from "swr"; @@ -243,11 +243,19 @@ export default function Events() { [recording, setRecording, setReviewFilter], ); + const handledReviewLinkRef = useRef(undefined); + useSearchEffect(RECORDING_REVIEW_LINK_PARAM, (reviewLinkValue: string) => { if (!config) { return false; } + if (handledReviewLinkRef.current === reviewLinkValue) { + return false; + } + + handledReviewLinkRef.current = reviewLinkValue; + const reviewLink = parseRecordingReviewLink(reviewLinkValue); if (!reviewLink) {