Explorar o código

fix: 'Wait for the file to be downloaded doesn't work' on handle download block (#1479)

Ahmad Kholid hai 1 ano
pai
achega
3945952d94
Modificáronse 1 ficheiros con 5 adicións e 4 borrados
  1. 5 4
      src/workflowEngine/blocksHandler/handlerHandleDownload.js

+ 5 - 4
src/workflowEngine/blocksHandler/handlerHandleDownload.js

@@ -144,15 +144,16 @@ async function handleDownload({ data, id: blockId }) {
         return;
       }
 
-      if (downloadId !== id) return;
+      if (downloadId !== id || !state) return;
 
       if (filename) currentFilename = filename.current;
 
-      if (state && state.current === 'complete') {
+      const DOWNLOAD_STATE = ['complete', 'interrupted'];
+      if (DOWNLOAD_STATE.includes(state.current)) {
         resolvePromise(id);
       } else {
-        browser.downloads.search({ id }).then(([download]) => {
-          if (!download || !download.endTime) return;
+        browser.downloads.search({ id: downloadId }).then(([download]) => {
+          if (!download || !DOWNLOAD_STATE.includes(download.state)) return;
 
           resolvePromise(id);
         });