add timeout to heic conversion

This commit is contained in:
Abhinav 2022-03-09 12:44:07 +05:30
parent faad7f554e
commit 206b15b962
2 changed files with 17 additions and 13 deletions

View file

@ -6,12 +6,20 @@ export async function convertHEIC(
fileBlob: Blob,
format: string
): Promise<Blob> {
return await new Promise((resolve, reject) => {
const main = async () => {
const filedata = new Uint8Array(await fileBlob.arrayBuffer());
setTimeout(() => {
throw Error('wait time exceeded');
const timeout = setTimeout(() => {
reject(Error('wait time exceeded'));
}, WAIT_TIME_IN_MICROSECONDS);
console.time('convertHEIC');
const result = await HeicConvert({ buffer: filedata, format });
console.timeEnd('convertHEIC');
clearTimeout(timeout);
const convertedFileData = new Uint8Array(result);
const convertedFileBlob = new Blob([convertedFileData]);
return convertedFileBlob;
resolve(convertedFileBlob);
};
main();
});
}

View file

@ -14,7 +14,6 @@ import { FileUploadResults, MAX_FILE_SIZE_SUPPORTED } from 'constants/upload';
import { FileWithCollection, BackupedFile, UploadFile } from 'types/upload';
import { logUploadInfo } from 'utils/upload';
import { convertToHumanReadable } from 'utils/billing';
import { sleep } from 'utils/common';
interface UploadResponse {
fileUploadResult: FileUploadResults;
@ -72,7 +71,7 @@ export default async function uploader(
);
if (file.hasStaticThumbnail) {
throw Error('thumbnail generation failed');
metadata.hasStaticThumbnail = true;
}
const fileWithMetadata = {
localID,
@ -80,9 +79,6 @@ export default async function uploader(
thumbnail: file.thumbnail,
metadata,
};
UIService.increaseFileUploaded();
await sleep(100);
return { fileUploadResult: FileUploadResults.ALREADY_UPLOADED };
logUploadInfo(`encryptAsset ${fileNameSize}`);
const encryptedFile = await UploadService.encryptAsset(