From 14b4d859150223bec50451c001032e4a09f9e6f2 Mon Sep 17 00:00:00 2001 From: soup Date: Sat, 24 May 2025 12:33:55 +0200 Subject: [PATCH] fix(web): ensure release table auto-update (#2068) --- web/src/screens/dashboard/ActivityTable.tsx | 6 +++--- web/src/screens/releases/ReleaseTable.tsx | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/web/src/screens/dashboard/ActivityTable.tsx b/web/src/screens/dashboard/ActivityTable.tsx index 9b527c2..a9c6ff6 100644 --- a/web/src/screens/dashboard/ActivityTable.tsx +++ b/web/src/screens/dashboard/ActivityTable.tsx @@ -117,7 +117,7 @@ export const ActivityTable = () => { } ], []); - const { isLoading, data } = useSuspenseQuery(ReleasesLatestQueryOptions()); + const { isLoading, data, dataUpdatedAt } = useSuspenseQuery(ReleasesLatestQueryOptions()); const [modifiedData, setModifiedData] = useState([]); const [settings, setSettings] = SettingsContext.use(); @@ -143,7 +143,7 @@ export const ActivityTable = () => { } else { setModifiedData([]); } - }, [settings.incognitoMode, data?.data]); + }, [settings.incognitoMode, data?.data, dataUpdatedAt]); if (isLoading) { return ( @@ -162,7 +162,7 @@ export const ActivityTable = () => { setSettings(prev => ({ ...prev, incognitoMode: !prev.incognitoMode })); }; - const displayData = settings.incognitoMode ? modifiedData : (data?.data ?? []); + const displayData = settings.incognitoMode ? modifiedData : [...(data?.data ?? [])]; return (
diff --git a/web/src/screens/releases/ReleaseTable.tsx b/web/src/screens/releases/ReleaseTable.tsx index 5aa8d82..8f2a2d7 100644 --- a/web/src/screens/releases/ReleaseTable.tsx +++ b/web/src/screens/releases/ReleaseTable.tsx @@ -145,6 +145,7 @@ export const ReleaseTable = () => { isLoading, error, data, + dataUpdatedAt, } = useQuery(ReleasesListQueryOptions(pagination.pageIndex * pagination.pageSize, pagination.pageSize, columnFilters)); const [modifiedData, setModifiedData] = useState([]); @@ -177,14 +178,14 @@ export const ReleaseTable = () => { } else { setModifiedData([]); } - }, [settings.incognitoMode, data?.data]); + }, [settings.incognitoMode, data?.data, dataUpdatedAt]); const toggleReleaseNames = () => { setSettings(prev => ({ ...prev, incognitoMode: !prev.incognitoMode })); }; const defaultData = React.useMemo(() => [], []) - const displayData = settings.incognitoMode ? modifiedData : (data?.data ?? defaultData); + const displayData = settings.incognitoMode ? modifiedData : [...(data?.data ?? defaultData)]; const tableInstance = useReactTable({ columns,