MCPcopy Create free account
hub / github.com/error311/FileRise / queueResumableFiles

Function queueResumableFiles

public/js/upload.js:832–873  ·  view source on GitHub ↗
(files)

Source from the content-addressed store, hash-verified

830}
831
832async function queueResumableFiles(files) {
833 const filteredResult = await filterExistingUploads(files);
834 const filtered = filteredResult && Array.isArray(filteredResult.files)
835 ? filteredResult.files
836 : [];
837 const autoStart = !!filteredResult?.autoStart;
838 if (!filtered || filtered.length === 0) return;
839
840 if (!useResumable) {
841 processFiles(filtered);
842 return;
843 }
844
845 // New resumable batch: reset selectedFiles so the count is correct
846 window.selectedFiles = [];
847 _currentResumableIds.clear();
848
849 if (!_resumableReady) await initResumableUpload();
850 if (!resumableInstance) {
851 // If Resumable failed to load, fall back to XHR
852 processFiles(filtered);
853 return;
854 }
855
856 if (_autoStartResumableTimer) {
857 clearTimeout(_autoStartResumableTimer);
858 _autoStartResumableTimer = null;
859 }
860
861 filtered.forEach(file => {
862 applyResumableRelativePath(file);
863 resumableInstance.addFile(file);
864 });
865
866 if (autoStart && resumableInstance) {
867 // Defer until chunks are bootstrapped (Resumable builds chunks async).
868 _autoStartResumableTimer = setTimeout(() => {
869 _autoStartResumableTimer = null;
870 startResumableUploadNow();
871 }, 0);
872 }
873}
874
875// Helper function to repeatedly call removeChunks.php
876function removeChunkFolderRepeatedly(identifier, csrfToken, targetFolder = null, maxAttempts = 3, interval = 1000) {

Callers 3

wireFileInputChangeFunction · 0.85
initUploadFunction · 0.85
upload.jsFile · 0.85

Calls 5

filterExistingUploadsFunction · 0.85
processFilesFunction · 0.85
initResumableUploadFunction · 0.85
startResumableUploadNowFunction · 0.85

Tested by

no test coverage detected