Use new APIs for file

This commit is contained in:
Manav Rathi 2024-04-13 09:08:13 +05:30
parent 4055f02a1d
commit 9aaf6098b7
No known key found for this signature in database

View file

@ -163,7 +163,7 @@ class DownloadManagerImpl {
async getThumbnail(file: EnteFile, localOnly = false) {
this.ensureInitialized();
const key = `${file.id}`;
const key = file.id.toString();
const cached = await this.thumbnailCache.get(key);
if (cached) return new Uint8Array(await cached.arrayBuffer());
if (localOnly) return null;
@ -281,27 +281,21 @@ class DownloadManagerImpl {
file.metadata.fileType === FILE_TYPE.IMAGE ||
file.metadata.fileType === FILE_TYPE.LIVE_PHOTO
) {
let encrypted = await this.getCachedFile(file);
if (!encrypted) {
encrypted = new Response(
await this.downloadClient.downloadFile(
file,
onDownloadProgress,
),
const key = file.id.toString();
const cachedBlob = await this.fileCache?.get(key);
let encryptedArrayBuffer = await cachedBlob?.arrayBuffer();
if (!encryptedArrayBuffer) {
const array = await this.downloadClient.downloadFile(
file,
onDownloadProgress,
);
if (this.fileCache) {
this.fileCache
.put(file.id.toString(), encrypted.clone())
.catch((e) => {
log.error("file cache put failed", e);
// TODO: handle storage full exception.
});
}
encryptedArrayBuffer = array.buffer;
this.fileCache?.put2(key, new Blob([encryptedArrayBuffer]));
}
this.clearDownloadProgress(file.id);
try {
const decrypted = await this.cryptoWorker.decryptFile(
new Uint8Array(await encrypted.arrayBuffer()),
new Uint8Array(encryptedArrayBuffer),
await this.cryptoWorker.fromB64(
file.file.decryptionHeader,
),