From cf9a4a940732e6c4ce8e72c79ce943b4c4e104bf Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Fri, 7 Nov 2025 13:52:02 -0600 Subject: [PATCH] frigate plus submission fix still show frigate+ section if snapshot has already been submitted and run optimistic update, local state was being overridden --- .../overlay/detail/SearchDetailDialog.tsx | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/web/src/components/overlay/detail/SearchDetailDialog.tsx b/web/src/components/overlay/detail/SearchDetailDialog.tsx index 3b978bbe1..68e3e8a90 100644 --- a/web/src/components/overlay/detail/SearchDetailDialog.tsx +++ b/web/src/components/overlay/detail/SearchDetailDialog.tsx @@ -1078,12 +1078,31 @@ function ObjectDetailsTab({ }); setState("submitted"); - setSearch({ - ...search, - plus_id: "new_upload", - }); + mutate( + (key) => + typeof key === "string" && + (key.includes("events") || + key.includes("events/search") || + key.includes("events/explore")), + (currentData: SearchResult[][] | SearchResult[] | undefined) => { + if (!currentData) return currentData; + // optimistic update + return currentData + .flat() + .map((event) => + event.id === search.id + ? { ...event, plus_id: "new_upload" } + : event, + ); + }, + { + optimisticData: true, + rollbackOnError: true, + revalidate: false, + }, + ); }, - [search, setSearch], + [search, mutate], ); const popoverContainerRef = useRef(null); @@ -1243,7 +1262,6 @@ function ObjectDetailsTab({ {search.data.type === "object" && - !search.plus_id && config?.plus?.enabled && search.has_snapshot && (