yarn react-native-blob-util 1.1.1

latest releases: 0.24.13, 0.25.3
one hour ago

Crashes

  • iOS: the document menus (open.file, open.chooser, open.optionsMenu) present from the view controller on top. With the UIScene life cycle that React Native 0.88's template uses, the first menu crashed the app; over a modal screen a menu did nothing (#498, #311)
  • iOS: an empty multipart form, or one whose last field has no name or data, no longer crashes the app (#197)
  • Android: android.downloadManager without useDownloadManager no longer crashes the app when listing the file in the Downloads app; the entry is named after the file when no title is given (#390)
  • Android: fs.lstat on a folder that cannot be read rejects EACCES instead of crashing the app; fs.ls rejects EACCES too (#425)

Requests

  • Android: a request that fails after the server may already have received it is no longer sent a second time. A read timeout, a connection the server dropped and a 503 with Retry-After: 0 each made a POST go out twice. OkHttp's silent retry now stays on only for GET and HEAD, idle connections are dropped after 4 s so a POST does not go out on one the server already closed, and Retry-After is removed from a 503 to other methods (#505, #504)
  • A header value that is not a string (an object, an array, a number, a boolean) rejects with EINVAL before the request starts. Android crashed on it, iOS dropped it and Windows sent it as text; 0 and false were sent as "". null and undefined are still sent as "" (#499, #472)
  • headers that are not an object (a body passed in their place) reject with EINVAL; a long string threw from fetch on Hermes (#334)
  • A file given as a file:// URL (wrap('file:///…'), {file: 'file:///…'}) is sent as its decoded path. iOS multipart failed with "failed to create request body", Windows sent an empty part and Android kept %20 in the name (#411, #256)
  • Android: timeout bounds writing the request body too; an upload the server stopped reading never ended (#384)
  • Android: a response header sent more than once (Set-Cookie) keeps every value, joined with , as on iOS; only the last reached JS (#377)

Files and apps

  • Android: open.chooser opens the chooser; it rejected EUNSPECIFIED on every call (#486)
  • iOS: fs.createFile(path, data, 'base64') rejects EINVAL for data that is not base64, as Android and Windows do; it left an empty file (#501)

Build

  • Swift Package Manager autolinking works on React Native 0.88: package.json names the product the manifest declares (#507)
  • Every file with Flow syntax says @flow, so transformers that parse only marked files as Flow, such as babel-plugin-syntax-hermes-parser with parseLangTypes: 'flow', can read the package (#503)

Don't miss a new react-native-blob-util release

NewReleases is sending notifications on new releases.