add timeout to heic conversion
This commit is contained in:
parent
faad7f554e
commit
206b15b962
|
@ -6,12 +6,20 @@ export async function convertHEIC(
|
|||
fileBlob: Blob,
|
||||
format: string
|
||||
): Promise<Blob> {
|
||||
const filedata = new Uint8Array(await fileBlob.arrayBuffer());
|
||||
setTimeout(() => {
|
||||
throw Error('wait time exceeded');
|
||||
}, WAIT_TIME_IN_MICROSECONDS);
|
||||
const result = await HeicConvert({ buffer: filedata, format });
|
||||
const convertedFileData = new Uint8Array(result);
|
||||
const convertedFileBlob = new Blob([convertedFileData]);
|
||||
return convertedFileBlob;
|
||||
return await new Promise((resolve, reject) => {
|
||||
const main = async () => {
|
||||
const filedata = new Uint8Array(await fileBlob.arrayBuffer());
|
||||
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]);
|
||||
resolve(convertedFileBlob);
|
||||
};
|
||||
main();
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Reference in a new issue