Merge pull request #39 from ente-io/too-many-files

Close file when streaming done
This commit is contained in:
Abhinav Kumar 2022-07-22 16:32:35 +05:30 committed by GitHub
commit 9b7fa381cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 15 deletions

View file

@ -1,7 +1,7 @@
{
"name": "ente",
"productName": "ente",
"version": "1.5.1",
"version": "1.5.2",
"private": true,
"description": "Desktop client for ente.io",
"main": "app/main.js",

View file

@ -28,21 +28,27 @@ const getFileStream = async (filePath: string) => {
let offset = 0;
const readableStream = new ReadableStream<Uint8Array>({
async pull(controller) {
const buff = new Uint8Array(FILE_STREAM_CHUNK_SIZE);
try {
const buff = new Uint8Array(FILE_STREAM_CHUNK_SIZE);
// original types were not working correctly
const bytesRead = (await fs.read(
file,
buff,
0,
FILE_STREAM_CHUNK_SIZE,
offset
)) as unknown as number;
offset += bytesRead;
if (bytesRead === 0) {
controller.close();
} else {
controller.enqueue(buff);
// original types were not working correctly
const bytesRead = (await fs.read(
file,
buff,
0,
FILE_STREAM_CHUNK_SIZE,
offset
)) as unknown as number;
offset += bytesRead;
if (bytesRead === 0) {
controller.close();
await fs.close(file);
} else {
controller.enqueue(buff);
}
} catch (e) {
logError(e, 'stream pull failed');
await fs.close(file);
}
},
});