react-native-update 8.5.2 → 8.5.4

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 (44) hide show
  1. package/lib/utils.ts +33 -5
  2. package/package.json +1 -1
  3. package/android/bin/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.class +0 -0
  4. package/android/bin/jni/lzma/Java/SevenZip/CRC.class +0 -0
  5. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.class +0 -0
  6. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.class +0 -0
  7. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.class +0 -0
  8. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Base.class +0 -0
  9. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder$LenDecoder.class +0 -0
  10. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder$LiteralDecoder$Decoder2.class +0 -0
  11. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder$LiteralDecoder.class +0 -0
  12. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.class +0 -0
  13. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder$LenEncoder.class +0 -0
  14. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder$LenPriceTableEncoder.class +0 -0
  15. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder$LiteralEncoder$Encoder2.class +0 -0
  16. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder$LiteralEncoder.class +0 -0
  17. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder$Optimal.class +0 -0
  18. package/android/bin/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.class +0 -0
  19. package/android/bin/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.class +0 -0
  20. package/android/bin/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.class +0 -0
  21. package/android/bin/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.class +0 -0
  22. package/android/bin/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.class +0 -0
  23. package/android/bin/jni/lzma/Java/SevenZip/ICodeProgress.class +0 -0
  24. package/android/bin/jni/lzma/Java/SevenZip/LzmaAlone$CommandLine.class +0 -0
  25. package/android/bin/jni/lzma/Java/SevenZip/LzmaAlone.class +0 -0
  26. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$CBenchRandomGenerator.class +0 -0
  27. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$CBitRandomGenerator.class +0 -0
  28. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$CProgressInfo.class +0 -0
  29. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$CRandomGenerator.class +0 -0
  30. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$CrcOutStream.class +0 -0
  31. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$MyInputStream.class +0 -0
  32. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench$MyOutputStream.class +0 -0
  33. package/android/bin/jni/lzma/Java/SevenZip/LzmaBench.class +0 -0
  34. package/android/bin/src/main/java/cn/reactnative/modules/update/DownloadTask.class +0 -0
  35. package/android/bin/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.class +0 -0
  36. package/android/bin/src/main/java/cn/reactnative/modules/update/PushyFileProvider.class +0 -0
  37. package/android/bin/src/main/java/cn/reactnative/modules/update/SafeZipFile$SafeZipEntryIterator.class +0 -0
  38. package/android/bin/src/main/java/cn/reactnative/modules/update/SafeZipFile.class +0 -0
  39. package/android/bin/src/main/java/cn/reactnative/modules/update/UpdateContext$DownloadFileListener.class +0 -0
  40. package/android/bin/src/main/java/cn/reactnative/modules/update/UpdateContext.class +0 -0
  41. package/android/bin/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.class +0 -0
  42. package/android/bin/src/main/java/cn/reactnative/modules/update/UpdatePackage.class +0 -0
  43. package/android/bin/src/newarch/cn/reactnative/modules/update/UpdateModule.class +0 -0
  44. package/android/bin/src/oldarch/cn/reactnative/modules/update/UpdateModule.class +0 -0
package/lib/utils.ts CHANGED
@@ -30,17 +30,45 @@ export function assertRelease() {
30
30
  const ping =
31
31
  Platform.OS === 'web'
32
32
  ? Promise.resolve
33
- : async (url: string) =>
34
- Promise.race([
33
+ : async (url: string) => {
34
+ let pingFinished = false;
35
+ return Promise.race([
35
36
  fetch(url, {
36
37
  method: 'HEAD',
37
- }).then(({ status }) => (status === 200 ? url : null)),
38
- new Promise(r => setTimeout(() => r(null), 2000)),
38
+ })
39
+ .then(({ status, statusText }) => {
40
+ pingFinished = true;
41
+ if (status === 200) {
42
+ return url;
43
+ }
44
+ logger('ping failed', url, status, statusText);
45
+ throw new Error('Ping failed');
46
+ })
47
+ .catch(e => {
48
+ pingFinished = true;
49
+ logger('ping error', url, e);
50
+ throw e;
51
+ }),
52
+ new Promise((_, reject) =>
53
+ setTimeout(() => {
54
+ reject(new Error('Ping timeout'));
55
+ if (!pingFinished) {
56
+ logger('ping timeout', url);
57
+ }
58
+ }, 2000),
59
+ ),
39
60
  ]);
61
+ };
62
+
40
63
 
41
64
  export const testUrls = async (urls?: string[]) => {
42
65
  if (!urls?.length) {
43
66
  return null;
44
67
  }
45
- return promiseAny(urls.map(ping)).catch(() => null);
68
+ const ret = await promiseAny(urls.map(ping));
69
+ if (ret) {
70
+ return ret;
71
+ }
72
+ logger('all ping failed, use first url:', urls[0]);
73
+ return urls[0];
46
74
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-update",
3
- "version": "8.5.2",
3
+ "version": "8.5.4",
4
4
  "description": "react-native hot update",
5
5
  "main": "lib/index.ts",
6
6
  "scripts": {