diff --git a/ui/v2.5/src/components/ImageDuplicateChecker/ImageDuplicateChecker.tsx b/ui/v2.5/src/components/ImageDuplicateChecker/ImageDuplicateChecker.tsx index 0a3b90ed6..73444852c 100644 --- a/ui/v2.5/src/components/ImageDuplicateChecker/ImageDuplicateChecker.tsx +++ b/ui/v2.5/src/components/ImageDuplicateChecker/ImageDuplicateChecker.tsx @@ -86,7 +86,7 @@ const ImageDuplicateChecker: React.FC = () => { const { data, loading, refetch } = useFindDuplicateImagesQuery({ variables: { distance: hashDistance }, - fetchPolicy: "network-only", + fetchPolicy: "no-cache", }); const getGroupTotalSize = (group: GQL.SlimImageDataFragment[]) => { @@ -101,8 +101,14 @@ const ImageDuplicateChecker: React.FC = () => { const allGroups = useMemo(() => { const groups = data?.findDuplicateImages ?? []; + + const groupSizes = new Map(); + groups.forEach((group) => { + groupSizes.set(group, getGroupTotalSize(group)); + }); + return [...groups].sort((a, b) => { - return getGroupTotalSize(b) - getGroupTotalSize(a); + return (groupSizes.get(b) ?? 0) - (groupSizes.get(a) ?? 0); }); }, [data?.findDuplicateImages]); diff --git a/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx b/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx index d396a01f4..5a8cf3499 100644 --- a/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx +++ b/ui/v2.5/src/components/SceneDuplicateChecker/SceneDuplicateChecker.tsx @@ -92,9 +92,15 @@ export const SceneDuplicateChecker: React.FC = () => { const scenes = useMemo(() => { const groups = data?.findDuplicateScenes ?? []; + + const groupSizes = new Map(); + groups.forEach((group) => { + groupSizes.set(group, getGroupTotalSize(group)); + }); + // Sort by total file size descending (largest groups first) return [...groups].sort((a, b) => { - return getGroupTotalSize(b) - getGroupTotalSize(a); + return (groupSizes.get(b) ?? 0) - (groupSizes.get(a) ?? 0); }); }, [data?.findDuplicateScenes]);