cleanup dead code

This commit is contained in:
Abhinav 2023-12-04 15:27:17 +05:30
parent 6ac91607f9
commit 68ffb83400
4 changed files with 8 additions and 103 deletions

View file

@ -425,7 +425,6 @@
"FILES": "Files", "FILES": "Files",
"EACH": "Each", "EACH": "Each",
"DEDUPLICATE_BASED_ON_SIZE": "The following files were clubbed based on their sizes, please review and delete items you believe are duplicates", "DEDUPLICATE_BASED_ON_SIZE": "The following files were clubbed based on their sizes, please review and delete items you believe are duplicates",
"DEDUPLICATE_BASED_ON_SIZE_AND_CAPTURE_TIME": "The following files were clubbed based on their sizes and capture time, please review and delete items you believe are duplicates",
"STOP_ALL_UPLOADS_MESSAGE": "Are you sure that you want to stop all the uploads in progress?", "STOP_ALL_UPLOADS_MESSAGE": "Are you sure that you want to stop all the uploads in progress?",
"STOP_UPLOADS_HEADER": "Stop uploads?", "STOP_UPLOADS_HEADER": "Stop uploads?",
"YES_STOP_UPLOADS": "Yes, stop uploads", "YES_STOP_UPLOADS": "Yes, stop uploads",

View file

@ -19,14 +19,12 @@ import {
import { PublicCollectionGalleryContext } from 'utils/publicCollectionGallery'; import { PublicCollectionGalleryContext } from 'utils/publicCollectionGallery';
import { ENTE_WEBSITE_LINK } from '@ente/shared/constants/urls'; import { ENTE_WEBSITE_LINK } from '@ente/shared/constants/urls';
import { convertBytesToHumanReadable } from '@ente/shared/utils/size'; import { convertBytesToHumanReadable } from '@ente/shared/utils/size';
import { DeduplicateContext } from 'pages/deduplicate';
import { FlexWrapper } from '@ente/shared/components/Container'; import { FlexWrapper } from '@ente/shared/components/Container';
import { Typography } from '@mui/material'; import { Typography } from '@mui/material';
import { GalleryContext } from 'pages/gallery'; import { GalleryContext } from 'pages/gallery';
import { formatDate } from '@ente/shared/time/format'; import { formatDate } from '@ente/shared/time/format';
import { Trans } from 'react-i18next'; import { Trans } from 'react-i18next';
import { t } from 'i18next'; import { t } from 'i18next';
import { areFilesWithFileHashSame, hasFileHash } from 'utils/upload';
import memoize from 'memoize-one'; import memoize from 'memoize-one';
const A_DAY = 24 * 60 * 60 * 1000; const A_DAY = 24 * 60 * 60 * 1000;
@ -261,7 +259,6 @@ export function PhotoList({
const publicCollectionGalleryContext = useContext( const publicCollectionGalleryContext = useContext(
PublicCollectionGalleryContext PublicCollectionGalleryContext
); );
const deduplicateContext = useContext(DeduplicateContext);
const [timeStampList, setTimeStampList] = useState<TimeStampListItem[]>([]); const [timeStampList, setTimeStampList] = useState<TimeStampListItem[]>([]);
const refreshInProgress = useRef(false); const refreshInProgress = useRef(false);
@ -306,9 +303,6 @@ export function PhotoList({
} }
if (galleryContext.isClipSearchResult) { if (galleryContext.isClipSearchResult) {
noGrouping(timeStampList); noGrouping(timeStampList);
} else if (deduplicateContext.isOnDeduplicatePage) {
skipMerge = true;
groupByFileSize(timeStampList);
} else { } else {
groupByTime(timeStampList); groupByTime(timeStampList);
} }
@ -345,9 +339,6 @@ export function PhotoList({
width, width,
height, height,
displayFiles, displayFiles,
deduplicateContext.isOnDeduplicatePage,
deduplicateContext.fileSizeMap,
deduplicateContext.clubSameTimeFilesOnly,
galleryContext.photoListHeader, galleryContext.photoListHeader,
publicCollectionGalleryContext.photoListHeader, publicCollectionGalleryContext.photoListHeader,
galleryContext.isClipSearchResult, galleryContext.isClipSearchResult,
@ -420,67 +411,6 @@ export function PhotoList({
refreshList(); refreshList();
}, [timeStampList]); }, [timeStampList]);
const groupByFileSize = (timeStampList: TimeStampListItem[]) => {
let index = 0;
while (index < displayFiles.length) {
const firstFile = displayFiles[index];
const firstFileSize = deduplicateContext.fileSizeMap.get(
firstFile.id
);
const firstFileCreationTime = firstFile.metadata.creationTime;
let lastFileIndex = index;
while (lastFileIndex < displayFiles.length) {
const lastFile = displayFiles[lastFileIndex];
const lastFileSize = deduplicateContext.fileSizeMap.get(
lastFile.id
);
if (lastFileSize !== firstFileSize) {
break;
}
const lastFileCreationTime = lastFile.metadata.creationTime;
if (
deduplicateContext.clubSameTimeFilesOnly &&
lastFileCreationTime !== firstFileCreationTime
) {
break;
}
const eitherFileHasFileHash =
hasFileHash(lastFile.metadata) ||
hasFileHash(firstFile.metadata);
if (
eitherFileHasFileHash &&
!areFilesWithFileHashSame(
lastFile.metadata,
firstFile.metadata
)
) {
break;
}
lastFileIndex++;
}
lastFileIndex--;
timeStampList.push({
itemType: ITEM_TYPE.SIZE_AND_COUNT,
fileSize: firstFileSize,
fileCount: lastFileIndex - index + 1,
});
while (index <= lastFileIndex) {
const tileSize = Math.min(columns, lastFileIndex - index + 1);
timeStampList.push({
itemType: ITEM_TYPE.FILE,
items: displayFiles.slice(index, index + tileSize),
itemStartIndex: index,
});
index += tileSize;
}
}
};
const groupByTime = (timeStampList: TimeStampListItem[]) => { const groupByTime = (timeStampList: TimeStampListItem[]) => {
let listItemIndex = 0; let listItemIndex = 0;
let currentDate; let currentDate;

View file

@ -4,12 +4,8 @@ import PhotoFrame from 'components/PhotoFrame';
import { ALL_SECTION } from 'constants/collection'; import { ALL_SECTION } from 'constants/collection';
import { AppContext } from 'pages/_app'; import { AppContext } from 'pages/_app';
import { createContext, useContext, useEffect, useState } from 'react'; import { createContext, useContext, useEffect, useState } from 'react';
import { import { getDuplicates, Duplicate } from 'services/deduplicationService';
getDuplicates, import { getLocalFiles, trashFiles } from 'services/fileService';
deClubDuplicatesWithDifferentTime,
Duplicate,
} from 'services/deduplicationService';
import { syncFiles, trashFiles } from 'services/fileService';
import { SelectedState } from 'types/gallery'; import { SelectedState } from 'types/gallery';
import { ApiError } from '@ente/shared/error'; import { ApiError } from '@ente/shared/error';
@ -24,7 +20,7 @@ import { PHOTOS_PAGES as PAGES } from '@ente/shared/constants/pages';
import router from 'next/router'; import router from 'next/router';
import { getKey, SESSION_KEYS } from '@ente/shared/storage/sessionStorage'; import { getKey, SESSION_KEYS } from '@ente/shared/storage/sessionStorage';
import { styled } from '@mui/material'; import { styled } from '@mui/material';
import { getLatestCollections } from 'services/collectionService'; import { getLocalCollections } from 'services/collectionService';
import EnteSpinner from '@ente/shared/components/EnteSpinner'; import EnteSpinner from '@ente/shared/components/EnteSpinner';
import { VerticallyCentered } from '@ente/shared/components/Container'; import { VerticallyCentered } from '@ente/shared/components/Container';
import Typography from '@mui/material/Typography'; import Typography from '@mui/material/Typography';
@ -44,8 +40,6 @@ export default function Deduplicate() {
const { setDialogMessage, startLoading, finishLoading, showNavBar } = const { setDialogMessage, startLoading, finishLoading, showNavBar } =
useContext(AppContext); useContext(AppContext);
const [duplicates, setDuplicates] = useState<Duplicate[]>(null); const [duplicates, setDuplicates] = useState<Duplicate[]>(null);
const [clubSameTimeFilesOnly, setClubSameTimeFilesOnly] = useState(false);
const [fileSizeMap, setFileSizeMap] = useState(new Map<number, number>());
const [collectionNameMap, setCollectionNameMap] = useState( const [collectionNameMap, setCollectionNameMap] = useState(
new Map<number, string>() new Map<number, string>()
); );
@ -69,7 +63,7 @@ export default function Deduplicate() {
useEffect(() => { useEffect(() => {
syncWithRemote(); syncWithRemote();
}, [clubSameTimeFilesOnly]); }, []);
const duplicateFiles = useMemoSingleThreaded(() => { const duplicateFiles = useMemoSingleThreaded(() => {
return (duplicates ?? []).reduce((acc, dupe) => { return (duplicates ?? []).reduce((acc, dupe) => {
@ -83,17 +77,14 @@ export default function Deduplicate() {
const syncWithRemote = async () => { const syncWithRemote = async () => {
startLoading(); startLoading();
const collections = await getLatestCollections(); const collections = await getLocalCollections();
const collectionNameMap = new Map<number, string>(); const collectionNameMap = new Map<number, string>();
for (const collection of collections) { for (const collection of collections) {
collectionNameMap.set(collection.id, collection.name); collectionNameMap.set(collection.id, collection.name);
} }
setCollectionNameMap(collectionNameMap); setCollectionNameMap(collectionNameMap);
const files = await syncFiles('normal', collections, () => null); const files = await getLocalFiles();
let duplicateFiles = await getDuplicates(files, collectionNameMap); const duplicateFiles = await getDuplicates(files, collectionNameMap);
if (clubSameTimeFilesOnly) {
duplicateFiles = deClubDuplicatesWithDifferentTime(duplicateFiles);
}
const currFileSizeMap = new Map<number, number>(); const currFileSizeMap = new Map<number, number>();
let toSelectFileIDs: number[] = []; let toSelectFileIDs: number[] = [];
let count = 0; let count = 0;
@ -110,7 +101,6 @@ export default function Deduplicate() {
} }
} }
setDuplicates(duplicateFiles); setDuplicates(duplicateFiles);
setFileSizeMap(currFileSizeMap);
const selectedFiles = { const selectedFiles = {
count: count, count: count,
ownCount: count, ownCount: count,
@ -170,19 +160,9 @@ export default function Deduplicate() {
value={{ value={{
...DefaultDeduplicateContext, ...DefaultDeduplicateContext,
collectionNameMap, collectionNameMap,
clubSameTimeFilesOnly,
setClubSameTimeFilesOnly,
fileSizeMap,
isOnDeduplicatePage: true,
}}> }}>
{duplicates.length > 0 && ( {duplicates.length > 0 && (
<Info> <Info>{t('DEDUPLICATE_BASED_ON_SIZE')}</Info>
{t('DEDUPLICATE_BASED_ON', {
context: clubSameTimeFilesOnly
? 'SIZE_AND_CAPTURE_TIME'
: 'SIZE',
})}
</Info>
)} )}
{duplicates.length === 0 ? ( {duplicates.length === 0 ? (
<VerticallyCentered> <VerticallyCentered>

View file

@ -1,8 +1,4 @@
export type DeduplicateContextType = { export type DeduplicateContextType = {
clubSameTimeFilesOnly: boolean;
setClubSameTimeFilesOnly: (clubSameTimeFilesOnly: boolean) => void;
fileSizeMap: Map<number, number>;
isOnDeduplicatePage: boolean;
collectionNameMap: Map<number, string>; collectionNameMap: Map<number, string>;
}; };