refactor(fetcher): drop the Android DownloadManager fallback - #1487
Merged
Merged
Conversation
blob-util 0.24.11 fixed the in-process reader that stopped after 8 KB on Android (RonRadtke/react-native-blob-util#475), which was the only reason Android had a backend of its own. Both platforms now share the streaming fallback, so there is one mechanism (the optional background downloader) plus one shared fallback. - peer range raised to >=0.24.11; apps and the lib devDep move to 0.25.0 - delete downloadUrlViaAndroidDownloadManager and the IS_ANDROID branch - delete reassemble32BitCounter: the 32-bit progress overflow came from DownloadManager's cursor column being read with getInt, and the in-process path reports bytes as real numbers - keep the Android cache directory where it is; moving it would orphan every model already downloaded Closes #1401
barhanc
approved these changes
Sep 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
react-native-blob-util0.24.11 fixed the Android in-process reader that stopped after 8 KB (#475), which was the only reason Android had a download backend of its own. Both platforms now share the streaming fallback, leaving one mechanism (the optional background downloader) plus one shared fallback.^0.24.0->>=0.24.11; apps and the lib devDependency move to^0.25.0downloadUrlViaAndroidDownloadManagerand theIS_ANDROIDbackend branchreassemble32BitCounter; the 32-bit progress overflow came from DownloadManager's cursor column being read withgetInt, and the in-process path reports bytes as real numbersIntroduces a breaking change?
Type of change
Tested on
Testing instructions
apps/nlpon an Android device without@kesha-antonov/react-native-background-downloaderinstalled.llama_3_2_3b_xnnpack_spinquant.pte.Screenshots
Related issues
Closes #1401
Checklist
Additional notes
Verified on a Galaxy S26 Ultra: 2,553,367,552 bytes downloaded in 146 s, matching the server's
x-linked-sizeexactly. This is the first time the >2 GB path has run end to end, since it has been broken since it landed.Without the optional background downloader, Android downloads no longer continue while the app is suspended; they resume on the next
downloadcall, as on iOS.