expo-file-system 57.0.5 → 57.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/filesystem/FileSystemUploadTask.kt +14 -5
  4. package/expo-module.config.json +1 -1
  5. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{57.0.5/expo.modules.filesystem-57.0.5-sources.jar → 57.0.7/expo.modules.filesystem-57.0.7-sources.jar} +0 -0
  6. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7-sources.jar.md5 +1 -0
  7. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7-sources.jar.sha1 +1 -0
  8. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7-sources.jar.sha256 +1 -0
  9. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7-sources.jar.sha512 +1 -0
  10. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.aar +0 -0
  11. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.aar.md5 +1 -0
  12. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.aar.sha1 +1 -0
  13. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.aar.sha256 +1 -0
  14. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.aar.sha512 +1 -0
  15. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{57.0.5/expo.modules.filesystem-57.0.5.module → 57.0.7/expo.modules.filesystem-57.0.7.module} +22 -22
  16. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.module.md5 +1 -0
  17. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.module.sha1 +1 -0
  18. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.module.sha256 +1 -0
  19. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.module.sha512 +1 -0
  20. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/{57.0.5/expo.modules.filesystem-57.0.5.pom → 57.0.7/expo.modules.filesystem-57.0.7.pom} +1 -1
  21. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.pom.md5 +1 -0
  22. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.pom.sha1 +1 -0
  23. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.pom.sha256 +1 -0
  24. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.7/expo.modules.filesystem-57.0.7.pom.sha512 +1 -0
  25. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml +4 -4
  26. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.md5 +1 -1
  27. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha1 +1 -1
  28. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha256 +1 -1
  29. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/maven-metadata.xml.sha512 +1 -1
  30. package/package.json +4 -4
  31. package/prebuilds/output/debug/xcframeworks/ExpoFileSystem.tar.gz +0 -0
  32. package/prebuilds/output/release/xcframeworks/ExpoFileSystem.tar.gz +0 -0
  33. package/spm.config.json +1 -1
  34. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5-sources.jar.md5 +0 -1
  35. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5-sources.jar.sha1 +0 -1
  36. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5-sources.jar.sha256 +0 -1
  37. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5-sources.jar.sha512 +0 -1
  38. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.aar +0 -0
  39. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.aar.md5 +0 -1
  40. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.aar.sha1 +0 -1
  41. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.aar.sha256 +0 -1
  42. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.aar.sha512 +0 -1
  43. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.module.md5 +0 -1
  44. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.module.sha1 +0 -1
  45. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.module.sha256 +0 -1
  46. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.module.sha512 +0 -1
  47. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.pom.md5 +0 -1
  48. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.pom.sha1 +0 -1
  49. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.pom.sha256 +0 -1
  50. package/local-maven-repo/host/exp/exponent/expo.modules.filesystem/57.0.5/expo.modules.filesystem-57.0.5.pom.sha512 +0 -1
package/CHANGELOG.md CHANGED
@@ -10,6 +10,17 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 57.0.7 — 2026-09-11
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
17
+ ## 57.0.6 — 2026-08-26
18
+
19
+ ### 🐛 Bug fixes
20
+
21
+ - [android] Fixed slow uploads of SAF-backed `content://` files by resolving the request body's content length once, instead of querying it through `ContentResolver` for every 8 KiB written. ([#49206](https://github.com/expo/expo/pull/49206) by [@gmaclennan](https://github.com/gmaclennan))
22
+ ### 💡 Others
23
+
13
24
  ## 57.0.5 — 2026-08-20
14
25
 
15
26
  ### 🐛 Bug fixes
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'host.exp.exponent'
7
- version = '57.0.5'
7
+ version = '57.0.7'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.filesystem"
11
11
  defaultConfig {
12
12
  versionCode 30
13
- versionName "57.0.5"
13
+ versionName "57.0.7"
14
14
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
15
15
  }
16
16
  testOptions {
@@ -226,12 +226,16 @@ private class CountingRequestBody(
226
226
  private val requestBody: RequestBody,
227
227
  private val progressListener: (Long, Long) -> Unit
228
228
  ) : RequestBody() {
229
+ // Resolved once: contentLength() is a ContentResolver query for SAF-backed
230
+ // files, and the counting sink needs the total on every segment written.
231
+ private val cachedContentLength: Long by lazy { requestBody.contentLength() }
232
+
229
233
  override fun contentType() = requestBody.contentType()
230
234
 
231
- override fun contentLength() = requestBody.contentLength()
235
+ override fun contentLength() = cachedContentLength
232
236
 
233
237
  override fun writeTo(sink: BufferedSink) {
234
- val countingSink = CountingSink(sink, this, progressListener)
238
+ val countingSink = CountingSink(sink, cachedContentLength, progressListener)
235
239
  val bufferedSink = countingSink.buffer()
236
240
  requestBody.writeTo(bufferedSink)
237
241
  bufferedSink.flush()
@@ -243,7 +247,7 @@ private class CountingRequestBody(
243
247
  */
244
248
  private class CountingSink(
245
249
  sink: Sink,
246
- private val requestBody: RequestBody,
250
+ private val totalBytes: Long,
247
251
  private val progressListener: (Long, Long) -> Unit
248
252
  ) : ForwardingSink(sink) {
249
253
  private var bytesWritten = 0L
@@ -251,14 +255,19 @@ private class CountingSink(
251
255
  override fun write(source: Buffer, byteCount: Long) {
252
256
  super.write(source, byteCount)
253
257
  bytesWritten += byteCount
254
- progressListener(bytesWritten, requestBody.contentLength())
258
+ progressListener(bytesWritten, totalBytes)
255
259
  }
256
260
  }
257
261
 
258
262
  private fun UnifiedFileInterface.asRequestBody(contentType: String?): RequestBody {
259
263
  return object : RequestBody() {
264
+ // length() is a ContentResolver query for content:// files, and ContentProviderFile
265
+ // and AssetFile can fall back to reading the whole stream; resolve it once, and
266
+ // not before OkHttp asks for it.
267
+ private val resolvedLength: Long by lazy { length() }
268
+
260
269
  override fun contentType() = contentType?.toMediaTypeOrNull()
261
- override fun contentLength() = length()
270
+ override fun contentLength() = resolvedLength
262
271
  override fun writeTo(sink: BufferedSink) {
263
272
  inputStream().use { input ->
264
273
  val source = input.source()
@@ -12,7 +12,7 @@
12
12
  "publication": {
13
13
  "groupId": "host.exp.exponent",
14
14
  "artifactId": "expo.modules.filesystem",
15
- "version": "57.0.5",
15
+ "version": "57.0.7",
16
16
  "repository": "local-maven-repo"
17
17
  }
18
18
  }
@@ -0,0 +1 @@
1
+ 198d441c46eefe2bcf7a848a0a2526d708f4aedf7df793afd661220a58f0ac80
@@ -0,0 +1 @@
1
+ 0b9afee49c5f8278f312c63308879185585b20b90804801c8c7b981731b0a8b9bc3e494ef0d910ee106a00caad027376d52943f14ee55a65bf9aa7bbc291acf6
@@ -0,0 +1 @@
1
+ 3e2b67c2e0b15fd89354be1f282473e954058d89970ea7e91ec0aebb42fd5833
@@ -0,0 +1 @@
1
+ 899a73a321af913d976b012a0c6745c2f93507890eca9ebcc703981eaafe84659b0e69a89ae4e7f94e745b937849d15a92aeab417e824c76f4649238e57c0804
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "host.exp.exponent",
5
5
  "module": "expo.modules.filesystem",
6
- "version": "57.0.5",
6
+ "version": "57.0.7",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -68,13 +68,13 @@
68
68
  ],
69
69
  "files": [
70
70
  {
71
- "name": "expo.modules.filesystem-57.0.5.aar",
72
- "url": "expo.modules.filesystem-57.0.5.aar",
73
- "size": 692712,
74
- "sha512": "91abf5bee65a07c321a9430cac40877b5d73321810373700c16cc81dd49022a2fe61f83ae990d1acf26395a076ecf34817d9fabf1950bed599f0c4df5cef0f77",
75
- "sha256": "21e5a92a84edbca583ea87f92e465db1856d28649a48712c34cac14dde44ffce",
76
- "sha1": "5c18cec0393e24e5e5a25f6c23aba9d9f8664736",
77
- "md5": "e759c192fcd21ac974f39c081eb5b6d8"
71
+ "name": "expo.modules.filesystem-57.0.7.aar",
72
+ "url": "expo.modules.filesystem-57.0.7.aar",
73
+ "size": 693468,
74
+ "sha512": "899a73a321af913d976b012a0c6745c2f93507890eca9ebcc703981eaafe84659b0e69a89ae4e7f94e745b937849d15a92aeab417e824c76f4649238e57c0804",
75
+ "sha256": "3e2b67c2e0b15fd89354be1f282473e954058d89970ea7e91ec0aebb42fd5833",
76
+ "sha1": "75747db46e9a0fdedd24371e394b5f3fb829c7b3",
77
+ "md5": "f0991e75aa20f83164a3043ef46b3687"
78
78
  }
79
79
  ]
80
80
  },
@@ -157,13 +157,13 @@
157
157
  ],
158
158
  "files": [
159
159
  {
160
- "name": "expo.modules.filesystem-57.0.5.aar",
161
- "url": "expo.modules.filesystem-57.0.5.aar",
162
- "size": 692712,
163
- "sha512": "91abf5bee65a07c321a9430cac40877b5d73321810373700c16cc81dd49022a2fe61f83ae990d1acf26395a076ecf34817d9fabf1950bed599f0c4df5cef0f77",
164
- "sha256": "21e5a92a84edbca583ea87f92e465db1856d28649a48712c34cac14dde44ffce",
165
- "sha1": "5c18cec0393e24e5e5a25f6c23aba9d9f8664736",
166
- "md5": "e759c192fcd21ac974f39c081eb5b6d8"
160
+ "name": "expo.modules.filesystem-57.0.7.aar",
161
+ "url": "expo.modules.filesystem-57.0.7.aar",
162
+ "size": 693468,
163
+ "sha512": "899a73a321af913d976b012a0c6745c2f93507890eca9ebcc703981eaafe84659b0e69a89ae4e7f94e745b937849d15a92aeab417e824c76f4649238e57c0804",
164
+ "sha256": "3e2b67c2e0b15fd89354be1f282473e954058d89970ea7e91ec0aebb42fd5833",
165
+ "sha1": "75747db46e9a0fdedd24371e394b5f3fb829c7b3",
166
+ "md5": "f0991e75aa20f83164a3043ef46b3687"
167
167
  }
168
168
  ]
169
169
  },
@@ -177,13 +177,13 @@
177
177
  },
178
178
  "files": [
179
179
  {
180
- "name": "expo.modules.filesystem-57.0.5-sources.jar",
181
- "url": "expo.modules.filesystem-57.0.5-sources.jar",
182
- "size": 51266,
183
- "sha512": "1961974b9a6f71c721be9e89e705017f757dbdf6905f1dcc289d730a0ecf1d591fbd06cb6fe7db14485868e51c2295aaf81c5e3f7048754b7166642f823e326a",
184
- "sha256": "d779dc115ba39bed5fd02090cdd591ccba408c4ff698713453d7a20560eba49a",
185
- "sha1": "6f9b0d67aa8a890f28676c154dcd8b45b73a11c1",
186
- "md5": "04c3a806d64057a6ecf4f34f5915e550"
180
+ "name": "expo.modules.filesystem-57.0.7-sources.jar",
181
+ "url": "expo.modules.filesystem-57.0.7-sources.jar",
182
+ "size": 51453,
183
+ "sha512": "0b9afee49c5f8278f312c63308879185585b20b90804801c8c7b981731b0a8b9bc3e494ef0d910ee106a00caad027376d52943f14ee55a65bf9aa7bbc291acf6",
184
+ "sha256": "198d441c46eefe2bcf7a848a0a2526d708f4aedf7df793afd661220a58f0ac80",
185
+ "sha1": "8e28a29e9497ae4214a5f3cb58c3afe7c6600e23",
186
+ "md5": "fcc4d08d855bd22413d68126d69826e8"
187
187
  }
188
188
  ]
189
189
  }
@@ -0,0 +1 @@
1
+ 47c92e67b37e17c9e5e7d076f265f34d07cb95b07b6b5d4753be9b0448b270d7
@@ -0,0 +1 @@
1
+ 2f0c0a0af550ce7a5de4de4e1998e9951984aec9f9de8b47e90698a8d928521683ecb8a8380c7dfb1bcb470b112f3df6218c38424a023d629ac133c92be32705
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>host.exp.exponent</groupId>
11
11
  <artifactId>expo.modules.filesystem</artifactId>
12
- <version>57.0.5</version>
12
+ <version>57.0.7</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.filesystem</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 0a6449854b323883d5da16582a5b2bee88c74a1f4ce38e68d8215071494db7a3
@@ -0,0 +1 @@
1
+ 9feb94ef73e71642135dac82c66438a941c371553d61ea3a1e2901afd22bde578260226bf6c07f9d634e14fa13063eaaab7c9db4431d71caa51d6a25d507ac1a
@@ -3,11 +3,11 @@
3
3
  <groupId>host.exp.exponent</groupId>
4
4
  <artifactId>expo.modules.filesystem</artifactId>
5
5
  <versioning>
6
- <latest>57.0.5</latest>
7
- <release>57.0.5</release>
6
+ <latest>57.0.7</latest>
7
+ <release>57.0.7</release>
8
8
  <versions>
9
- <version>57.0.5</version>
9
+ <version>57.0.7</version>
10
10
  </versions>
11
- <lastUpdated>20260820103849</lastUpdated>
11
+ <lastUpdated>20260911111654</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- a78d47b9697214bfeb4b6587c8b58752
1
+ af99958a528470ca2c5d0c6bc109a076
@@ -1 +1 @@
1
- c00a7ddc24320975ac04d4748b8bf80723c78a19
1
+ d08abc2486c25ba0fb0e9c5f99cfa58b60a12d42
@@ -1 +1 @@
1
- 75d6a017b5eb44792f46b3e322b05e582308bc754006f5bd00d28644cdd1e7c5
1
+ 1229d7b060eb746c7e3a3893d3a3842bb5ad2a2f3b8703d4e73e7b1678113f0d
@@ -1 +1 @@
1
- 2b3b7282de9a0c434d648e396517f8b7198cb7bea29cb45beb9c8c4c942b5ac46dce1422ecb5355f459838acdd51255ef405dc1d258ff4e05f2d0b5041af886b
1
+ 550e1347bd874a5c589d5139f9d0c0b08ecfc631be801bdaa60688aea194b2b4d70784fa83ad592bc500ae4b0245a851ec256bc90b4c580861f6ad81cf79f1c0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-file-system",
3
- "version": "57.0.5",
3
+ "version": "57.0.7",
4
4
  "description": "Provides access to the local file system on the device.",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -41,15 +41,15 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^22.14.0",
44
- "expo": "57.0.15",
45
- "jest-expo": "57.0.4",
44
+ "expo": "57.0.22",
45
+ "jest-expo": "57.0.5",
46
46
  "expo-module-scripts": "56.0.3"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "expo": "*",
50
50
  "react-native": "*"
51
51
  },
52
- "gitHead": "499024a441d67293aa60afcbe02051999a54f1bb",
52
+ "gitHead": "9e5319c0f821a27b7924841903abae50e2b41790",
53
53
  "scripts": {
54
54
  "build": "expo-module build",
55
55
  "clean": "expo-module clean",
package/spm.config.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "ExpoFileSystem",
6
6
  "podName": "ExpoFileSystem",
7
7
  "platforms": [
8
- "iOS(.v16)"
8
+ "iOS(\"16.4\")"
9
9
  ],
10
10
  "externalDependencies": [
11
11
  "ReactNativeDependencies",
@@ -1 +0,0 @@
1
- d779dc115ba39bed5fd02090cdd591ccba408c4ff698713453d7a20560eba49a
@@ -1 +0,0 @@
1
- 1961974b9a6f71c721be9e89e705017f757dbdf6905f1dcc289d730a0ecf1d591fbd06cb6fe7db14485868e51c2295aaf81c5e3f7048754b7166642f823e326a
@@ -1 +0,0 @@
1
- 21e5a92a84edbca583ea87f92e465db1856d28649a48712c34cac14dde44ffce
@@ -1 +0,0 @@
1
- 91abf5bee65a07c321a9430cac40877b5d73321810373700c16cc81dd49022a2fe61f83ae990d1acf26395a076ecf34817d9fabf1950bed599f0c4df5cef0f77
@@ -1 +0,0 @@
1
- dbb94af7a598292a562542705c4ddc4e0d74d488ba054d4d86b4f21461a99bc4
@@ -1 +0,0 @@
1
- aa0d2a3e8a0136724d10a2c48d64ceffb63f72c068deea75e95d1ff3284bf56b4d3e8a6294afe326649e6ad5e4a0376c9a40368b57f9d77b3807b658f3901335
@@ -1 +0,0 @@
1
- 151b599429f5b10dca39475e0c0fbc840895fa40d84135b1f9fdcf215add3b03
@@ -1 +0,0 @@
1
- 33ddac26d6bc4b4b57f49cede9a741c0ae9b5ab2ff6ca7b2d36b102eeac240dc76db015148ff2eb003c07facdd910dcf085e9b7c415b1093117e00b4d50802f1