@hot-updater/react-native 1.0.0-rc.4 → 1.0.0-rc.40

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 (306) hide show
  1. package/android/build.gradle +13 -2
  2. package/android/proguard-rules.pro +8 -2
  3. package/android/src/bridge/BridgeReactInstance.kt +38 -0
  4. package/android/src/bridgeless/BridgeReactInstance.kt +24 -0
  5. package/android/src/main/java/com/hotupdater/ActivityStartGate.kt +94 -0
  6. package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
  7. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +1064 -844
  8. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +50 -11
  9. package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
  10. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
  11. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +46 -30
  12. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +75 -192
  13. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
  14. package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
  15. package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
  16. package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
  17. package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
  18. package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
  19. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
  20. package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
  21. package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
  22. package/android/src/newarch/HotUpdater.kt +7 -9
  23. package/android/src/newarch/HotUpdaterModule.kt +109 -84
  24. package/android/src/newarch/JavaScriptExceptionHooks.kt +48 -0
  25. package/android/src/newarch/ReactIntegrationManager.kt +6 -32
  26. package/android/src/oldarch/HotUpdater.kt +7 -9
  27. package/android/src/oldarch/HotUpdaterModule.kt +98 -74
  28. package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
  29. package/android/src/oldarch/JavaScriptExceptionHooks.kt +71 -0
  30. package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
  31. package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
  32. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +1032 -1116
  33. package/ios/HotUpdater/Internal/BundleMetadata.swift +61 -54
  34. package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
  35. package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
  36. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
  37. package/ios/HotUpdater/Internal/HotUpdater.mm +32 -67
  38. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +229 -73
  39. package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
  40. package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
  41. package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
  42. package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
  43. package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
  44. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
  45. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
  46. package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
  47. package/lib/commonjs/appReady.js +102 -0
  48. package/lib/commonjs/appReady.js.map +1 -0
  49. package/lib/commonjs/checkForUpdate.js +120 -68
  50. package/lib/commonjs/checkForUpdate.js.map +1 -1
  51. package/lib/commonjs/clientPlugin.js +13 -0
  52. package/lib/commonjs/clientPlugin.js.map +1 -0
  53. package/lib/commonjs/error.js +4 -13
  54. package/lib/commonjs/error.js.map +1 -1
  55. package/lib/commonjs/fetchJSON.js +16 -27
  56. package/lib/commonjs/fetchJSON.js.map +1 -1
  57. package/lib/commonjs/fetchUpdateResponse.js +60 -0
  58. package/lib/commonjs/fetchUpdateResponse.js.map +1 -0
  59. package/lib/commonjs/httpClient.js +63 -94
  60. package/lib/commonjs/httpClient.js.map +1 -1
  61. package/lib/commonjs/index.js +71 -18
  62. package/lib/commonjs/index.js.map +1 -1
  63. package/lib/commonjs/native.js +74 -60
  64. package/lib/commonjs/native.js.map +1 -1
  65. package/lib/commonjs/pluginHost.js +45 -0
  66. package/lib/commonjs/pluginHost.js.map +1 -0
  67. package/lib/commonjs/releaseCatalogCache.js +36 -87
  68. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  69. package/lib/commonjs/sdkVersion.js +1 -1
  70. package/lib/commonjs/sdkVersion.js.map +1 -1
  71. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  72. package/lib/commonjs/store.js +3 -10
  73. package/lib/commonjs/store.js.map +1 -1
  74. package/lib/commonjs/updateError.js +145 -0
  75. package/lib/commonjs/updateError.js.map +1 -0
  76. package/lib/commonjs/wrap.js +43 -26
  77. package/lib/commonjs/wrap.js.map +1 -1
  78. package/lib/module/appReady.js +95 -0
  79. package/lib/module/appReady.js.map +1 -0
  80. package/lib/module/checkForUpdate.js +113 -63
  81. package/lib/module/checkForUpdate.js.map +1 -1
  82. package/lib/module/clientPlugin.js +4 -0
  83. package/lib/module/clientPlugin.js.map +1 -0
  84. package/lib/module/error.js +4 -13
  85. package/lib/module/error.js.map +1 -1
  86. package/lib/module/fetchJSON.js +14 -26
  87. package/lib/module/fetchJSON.js.map +1 -1
  88. package/lib/module/fetchUpdateResponse.js +55 -0
  89. package/lib/module/fetchUpdateResponse.js.map +1 -0
  90. package/lib/module/httpClient.js +62 -93
  91. package/lib/module/httpClient.js.map +1 -1
  92. package/lib/module/index.js +58 -20
  93. package/lib/module/index.js.map +1 -1
  94. package/lib/module/native.js +67 -53
  95. package/lib/module/native.js.map +1 -1
  96. package/lib/module/pluginHost.js +36 -0
  97. package/lib/module/pluginHost.js.map +1 -0
  98. package/lib/module/releaseCatalogCache.js +32 -82
  99. package/lib/module/releaseCatalogCache.js.map +1 -1
  100. package/lib/module/sdkVersion.js +1 -1
  101. package/lib/module/sdkVersion.js.map +1 -1
  102. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  103. package/lib/module/store.js +3 -10
  104. package/lib/module/store.js.map +1 -1
  105. package/lib/module/updateError.js +139 -0
  106. package/lib/module/updateError.js.map +1 -0
  107. package/lib/module/wrap.js +43 -26
  108. package/lib/module/wrap.js.map +1 -1
  109. package/lib/typescript/commonjs/appReady.d.ts +21 -0
  110. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
  112. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  114. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/error.d.ts +4 -13
  116. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/fetchJSON.d.ts +5 -5
  118. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
  120. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/httpClient.d.ts +4 -33
  122. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/index.d.ts +4 -8
  124. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/native.d.ts +29 -22
  126. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
  128. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +8 -14
  130. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  132. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +35 -47
  134. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/store.d.ts +1 -3
  136. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/types.d.ts +1 -1
  138. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  140. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
  143. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  144. package/lib/typescript/module/appReady.d.ts +21 -0
  145. package/lib/typescript/module/appReady.d.ts.map +1 -0
  146. package/lib/typescript/module/checkForUpdate.d.ts +16 -4
  147. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  148. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  149. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  150. package/lib/typescript/module/error.d.ts +4 -13
  151. package/lib/typescript/module/error.d.ts.map +1 -1
  152. package/lib/typescript/module/fetchJSON.d.ts +5 -5
  153. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  154. package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
  155. package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
  156. package/lib/typescript/module/httpClient.d.ts +4 -33
  157. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  158. package/lib/typescript/module/index.d.ts +4 -8
  159. package/lib/typescript/module/index.d.ts.map +1 -1
  160. package/lib/typescript/module/native.d.ts +29 -22
  161. package/lib/typescript/module/native.d.ts.map +1 -1
  162. package/lib/typescript/module/pluginHost.d.ts +4 -0
  163. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  164. package/lib/typescript/module/releaseCatalogCache.d.ts +8 -14
  165. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  166. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  167. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  168. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +35 -47
  169. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  170. package/lib/typescript/module/store.d.ts +1 -3
  171. package/lib/typescript/module/store.d.ts.map +1 -1
  172. package/lib/typescript/module/types.d.ts +1 -1
  173. package/lib/typescript/module/types.d.ts.map +1 -1
  174. package/lib/typescript/module/updateError.d.ts +26 -0
  175. package/lib/typescript/module/updateError.d.ts.map +1 -0
  176. package/lib/typescript/module/wrap.d.ts.map +1 -1
  177. package/lib/typescript/module/wrap.types.d.ts +6 -7
  178. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  179. package/package.json +7 -4
  180. package/src/appReady.ts +141 -0
  181. package/src/checkForUpdate.ts +145 -86
  182. package/src/clientPlugin.ts +18 -0
  183. package/src/error.ts +4 -14
  184. package/src/fetchJSON.ts +14 -30
  185. package/src/fetchUpdateResponse.ts +60 -0
  186. package/src/httpClient.ts +88 -159
  187. package/src/index.ts +90 -24
  188. package/src/native.ts +98 -102
  189. package/src/pluginHost.ts +47 -0
  190. package/src/releaseCatalogCache.ts +43 -172
  191. package/src/sdkVersion.ts +1 -1
  192. package/src/specs/NativeHotUpdater.ts +34 -48
  193. package/src/store.ts +2 -23
  194. package/src/types.ts +1 -1
  195. package/src/updateError.ts +167 -0
  196. package/src/wrap.tsx +57 -26
  197. package/src/wrap.types.ts +6 -7
  198. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  199. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  200. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  201. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  202. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  203. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  204. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  205. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  206. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  207. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  208. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  209. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  210. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  211. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  212. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  213. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  214. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  215. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  216. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  217. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  218. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  219. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  220. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  221. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -616
  222. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  223. package/lib/commonjs/httpClient.spec.js +0 -102
  224. package/lib/commonjs/httpClient.spec.js.map +0 -1
  225. package/lib/commonjs/index.spec.js +0 -302
  226. package/lib/commonjs/index.spec.js.map +0 -1
  227. package/lib/commonjs/iosInterop.spec.js +0 -18
  228. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  229. package/lib/commonjs/native.spec.js +0 -883
  230. package/lib/commonjs/native.spec.js.map +0 -1
  231. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  232. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  233. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  234. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  235. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  236. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  237. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  238. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  239. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  240. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  241. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  242. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  243. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  244. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  245. package/lib/commonjs/store.notification.spec.js +0 -76
  246. package/lib/commonjs/store.notification.spec.js.map +0 -1
  247. package/lib/commonjs/store.spec.js +0 -316
  248. package/lib/commonjs/store.spec.js.map +0 -1
  249. package/lib/commonjs/wrap.spec.js +0 -329
  250. package/lib/commonjs/wrap.spec.js.map +0 -1
  251. package/lib/module/catalogCacheNative.spec.js +0 -31
  252. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  253. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -615
  254. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  255. package/lib/module/httpClient.spec.js +0 -102
  256. package/lib/module/httpClient.spec.js.map +0 -1
  257. package/lib/module/index.spec.js +0 -301
  258. package/lib/module/index.spec.js.map +0 -1
  259. package/lib/module/iosInterop.spec.js +0 -18
  260. package/lib/module/iosInterop.spec.js.map +0 -1
  261. package/lib/module/native.spec.js +0 -882
  262. package/lib/module/native.spec.js.map +0 -1
  263. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  264. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  265. package/lib/module/notifyAppReadyInsights.js +0 -128
  266. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  267. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  268. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  269. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  270. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  271. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  272. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  273. package/lib/module/releaseCatalogCache.spec.js +0 -195
  274. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  275. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  276. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  277. package/lib/module/store.notification.spec.js +0 -77
  278. package/lib/module/store.notification.spec.js.map +0 -1
  279. package/lib/module/store.spec.js +0 -315
  280. package/lib/module/store.spec.js.map +0 -1
  281. package/lib/module/wrap.spec.js +0 -330
  282. package/lib/module/wrap.spec.js.map +0 -1
  283. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  284. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  285. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  286. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  287. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  288. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  289. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  290. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  291. package/src/catalogCacheNative.spec.ts +0 -63
  292. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -612
  293. package/src/httpClient.spec.ts +0 -132
  294. package/src/index.spec.ts +0 -337
  295. package/src/iosInterop.spec.ts +0 -30
  296. package/src/native.spec.ts +0 -945
  297. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  298. package/src/notifyAppReadyInsights.spec.ts +0 -243
  299. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  300. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  301. package/src/notifyAppReadyInsights.ts +0 -194
  302. package/src/releaseCatalogCache.spec.ts +0 -282
  303. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  304. package/src/store.notification.spec.ts +0 -92
  305. package/src/store.spec.ts +0 -372
  306. package/src/wrap.spec.ts +0 -406
@@ -0,0 +1,83 @@
1
+ #import "HotUpdaterRecovery.h"
2
+
3
+ static NSString *const failedRuntimeKey = @"HotUpdater.failedRuntime";
4
+ static NSString *const surfaceStartsKey = @"HotUpdater.surfaceStarts";
5
+
6
+ static BOOL isRuntimeThread(void)
7
+ {
8
+ return [[NSThread currentThread].name isEqualToString:@"com.facebook.react.runtime.JavaScript"];
9
+ }
10
+
11
+ static NSMutableDictionary *pendingStarts(void)
12
+ {
13
+ static NSMutableDictionary *starts;
14
+ static dispatch_once_t onceToken;
15
+ dispatch_once(&onceToken, ^{ starts = [NSMutableDictionary new]; });
16
+ return starts;
17
+ }
18
+
19
+ BOOL HotUpdaterIsFailedRuntime(void)
20
+ {
21
+ return [[[NSThread currentThread] threadDictionary][failedRuntimeKey] boolValue];
22
+ }
23
+
24
+ void HotUpdaterMarkFailedRuntime(void)
25
+ {
26
+ #ifdef RCT_NEW_ARCH_ENABLED
27
+ // A bridgeless runtime owns this thread. Never mark shared native workers.
28
+ if (isRuntimeThread()) {
29
+ [NSThread currentThread].threadDictionary[failedRuntimeKey] = @YES;
30
+ }
31
+ #endif
32
+ }
33
+
34
+ BOOL HotUpdaterBeginSurfaceStart(const void *surfaceHandler)
35
+ {
36
+ if (HotUpdaterIsFailedRuntime()) {
37
+ return NO;
38
+ }
39
+ if (!isRuntimeThread()) {
40
+ return YES;
41
+ }
42
+
43
+ NSMutableDictionary *starts = pendingStarts();
44
+ NSValue *key = [NSValue valueWithPointer:surfaceHandler];
45
+ @synchronized (starts) {
46
+ if (starts[key]) {
47
+ return NO;
48
+ }
49
+ NSMutableDictionary *runtime = [NSThread currentThread].threadDictionary;
50
+ dispatch_group_t group = runtime[surfaceStartsKey];
51
+ if (!group) {
52
+ group = dispatch_group_create();
53
+ runtime[surfaceStartsKey] = group;
54
+ }
55
+ dispatch_group_enter(group);
56
+ starts[key] = group;
57
+ }
58
+ return YES;
59
+ }
60
+
61
+ void HotUpdaterFinishSurfaceStart(const void *surfaceHandler)
62
+ {
63
+ NSMutableDictionary *starts = pendingStarts();
64
+ NSValue *key = [NSValue valueWithPointer:surfaceHandler];
65
+ dispatch_group_t group;
66
+ @synchronized (starts) {
67
+ group = starts[key];
68
+ [starts removeObjectForKey:key];
69
+ }
70
+ if (group) {
71
+ dispatch_group_leave(group);
72
+ }
73
+ }
74
+
75
+ void HotUpdaterAfterSurfaceStarts(dispatch_block_t action)
76
+ {
77
+ dispatch_group_t group = [NSThread currentThread].threadDictionary[surfaceStartsKey];
78
+ if (group) {
79
+ dispatch_group_notify(group, dispatch_get_main_queue(), action);
80
+ } else {
81
+ dispatch_async(dispatch_get_main_queue(), action);
82
+ }
83
+ }
@@ -0,0 +1,49 @@
1
+ #import "HotUpdaterRecovery.h"
2
+ #import <objc/runtime.h>
3
+
4
+ #ifdef RCT_NEW_ARCH_ENABLED
5
+ #import <React/RCTFabricSurface.h>
6
+ #import <React/RCTSurfacePresenter.h>
7
+ #endif
8
+
9
+ void HotUpdaterInstallRecoveryHooks(void)
10
+ {
11
+ #ifdef RCT_NEW_ARCH_ENABLED
12
+ static dispatch_once_t onceToken;
13
+ dispatch_once(&onceToken, ^{
14
+ SEL startSelector = @selector(start);
15
+ SEL completionSelector = @selector(setupAnimationDriverWithSurfaceHandler:);
16
+ Method startMethod = class_getInstanceMethod(RCTFabricSurface.class, startSelector);
17
+ Method completionMethod = class_getInstanceMethod(RCTSurfacePresenter.class, completionSelector);
18
+ if (!startMethod || !completionMethod) {
19
+ return;
20
+ }
21
+
22
+ IMP originalCompletion = method_getImplementation(completionMethod);
23
+ method_setImplementation(completionMethod, imp_implementationWithBlock(
24
+ ^(RCTSurfacePresenter *presenter, const facebook::react::SurfaceHandler &handler) {
25
+ ((void (*)(id, SEL, const facebook::react::SurfaceHandler &))originalCompletion)(
26
+ presenter, completionSelector, handler);
27
+ // This is the final operation in both synchronous and asynchronous
28
+ // Fabric starts. A stage callback fires too early to permit reload.
29
+ HotUpdaterFinishSurfaceStart(&handler);
30
+ }));
31
+
32
+ IMP originalStart = method_getImplementation(startMethod);
33
+ method_setImplementation(startMethod, imp_implementationWithBlock(^(RCTFabricSurface *surface) {
34
+ if (HotUpdaterIsFailedRuntime()) {
35
+ return;
36
+ }
37
+ const auto &handler = surface.surfaceHandler;
38
+ if (handler.getStatus() != facebook::react::SurfaceHandler::Status::Registered) {
39
+ return;
40
+ }
41
+ if (HotUpdaterBeginSurfaceStart(&handler)) {
42
+ // No coordination lock crosses the original call: older RN versions
43
+ // invoke the completion synchronously on this same thread.
44
+ ((void (*)(id, SEL))originalStart)(surface, startSelector);
45
+ }
46
+ }));
47
+ });
48
+ #endif
49
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleNotifyAppReady = exports.getRunningReleaseId = exports.emitAfterAppReady = void 0;
7
+ var _native = require("./native.js");
8
+ var _pluginHost = require("./pluginHost.js");
9
+ let didEmitAppReady = false;
10
+ /** Settles once this runtime's launch was read, whether it was reported or failed. */
11
+ let appReadyRead = null;
12
+ const waitForNextFrame = () => new Promise(resolve => {
13
+ const requestAnimationFrame = globalThis?.requestAnimationFrame;
14
+ if (requestAnimationFrame) {
15
+ requestAnimationFrame(() => resolve());
16
+ return;
17
+ }
18
+ void Promise.resolve().then(resolve);
19
+ });
20
+
21
+ /**
22
+ * The Release the running bundle was selected as: the active or stable
23
+ * selection that names it on the current channel.
24
+ */
25
+ const getRunningReleaseId = (bundleId, channel) => {
26
+ const state = (0, _native.getActiveUpdateState)();
27
+ return [state.activeSelection, state.stableSelection].find(selection => selection?.bundleId === bundleId && selection.channel === channel)?.releaseId ?? null;
28
+ };
29
+ exports.getRunningReleaseId = getRunningReleaseId;
30
+ const toAppReadyResult = (result, transition) => {
31
+ const channel = (0, _native.getChannel)();
32
+ if (result.status === "UNCHANGED") {
33
+ const bundleId = (0, _native.getBundleId)();
34
+ return {
35
+ status: "UNCHANGED",
36
+ channel,
37
+ bundleId,
38
+ releaseId: getRunningReleaseId(bundleId, channel)
39
+ };
40
+ }
41
+ // Native persists the transition with every applied or recovered launch;
42
+ // a report without it cannot say what moved.
43
+ if (transition === null) return null;
44
+ return {
45
+ status: transition.type,
46
+ channel,
47
+ fromBundleId: transition.fromBundleId,
48
+ fromReleaseId: transition.fromReleaseId,
49
+ toBundleId: transition.toBundleId,
50
+ toReleaseId: transition.toReleaseId,
51
+ updateStrategy: transition.updateStrategy
52
+ };
53
+ };
54
+ const notifyAppReady = async options => {
55
+ try {
56
+ let nativeReadResult;
57
+ do {
58
+ await waitForNextFrame();
59
+ nativeReadResult = (0, _native.readNotifyAppReady)();
60
+ } while (nativeReadResult.pending);
61
+ const {
62
+ result,
63
+ transition
64
+ } = nativeReadResult;
65
+ if (!didEmitAppReady) {
66
+ didEmitAppReady = true;
67
+ (0, _pluginHost.emitPluginHook)("onAppReady", () => toAppReadyResult(result, transition));
68
+ }
69
+ options.onNotifyAppReady?.(result);
70
+ return result;
71
+ } catch (error) {
72
+ const normalizedError = error instanceof Error ? error : new Error(String(error));
73
+ options.onError?.(error);
74
+ console.warn("[HotUpdater] Failed to notify app ready:", normalizedError);
75
+ return undefined;
76
+ }
77
+ };
78
+
79
+ /** Reads this runtime's launch once native finalizes it and reports it to plugins. */
80
+ const handleNotifyAppReady = options => {
81
+ const readiness = notifyAppReady(options);
82
+ appReadyRead ??= readiness;
83
+ return readiness;
84
+ };
85
+
86
+ /**
87
+ * Calls a plugin hook after this runtime's `onAppReady`, so plugins see the
88
+ * launch before anything that followed it. The event is built now, from the
89
+ * state it describes, and only when a plugin listens.
90
+ */
91
+ exports.handleNotifyAppReady = handleNotifyAppReady;
92
+ const emitAfterAppReady = (name, createPayload) => {
93
+ const payload = (0, _pluginHost.buildPluginEvent)(name, createPayload);
94
+ if (payload === null) return;
95
+ if (appReadyRead === null) {
96
+ (0, _pluginHost.dispatchPluginHook)(name, payload);
97
+ return;
98
+ }
99
+ void appReadyRead.then(() => (0, _pluginHost.dispatchPluginHook)(name, payload));
100
+ };
101
+ exports.emitAfterAppReady = emitAfterAppReady;
102
+ //# sourceMappingURL=appReady.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_native","require","_pluginHost","didEmitAppReady","appReadyRead","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","getRunningReleaseId","bundleId","channel","state","getActiveUpdateState","activeSelection","stableSelection","find","selection","releaseId","exports","toAppReadyResult","result","transition","getChannel","status","getBundleId","type","fromBundleId","fromReleaseId","toBundleId","toReleaseId","updateStrategy","notifyAppReady","options","nativeReadResult","readNotifyAppReady","pending","emitPluginHook","onNotifyAppReady","error","normalizedError","Error","String","onError","console","warn","undefined","handleNotifyAppReady","readiness","emitAfterAppReady","name","createPayload","payload","buildPluginEvent","dispatchPluginHook"],"sourceRoot":"../../src","sources":["appReady.ts"],"mappings":"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","ignoreList":[]}
@@ -4,69 +4,64 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.checkForUpdate = checkForUpdate;
7
- var _core = require("@hot-updater/core");
8
- var _pluginCore = require("@hot-updater/plugin-core");
7
+ exports.reportUpdateError = void 0;
8
+ var _protocol = require("@hot-updater/protocol");
9
9
  var _reactNative = require("react-native");
10
+ var _appReady = require("./appReady.js");
10
11
  var _error = require("./error.js");
11
12
  var _native = require("./native.js");
12
- var _releaseCatalogCache = require("./releaseCatalogCache.js");
13
13
  var _store = require("./store.js");
14
+ var _updateError = require("./updateError.js");
14
15
  const sameReceipt = (first, second) => first !== null && first.kind === second.kind && first.releaseId === second.releaseId && first.bundleId === second.bundleId && first.catalogId === second.catalogId && first.scopeKey === second.scopeKey && first.generation === second.generation && first.catalogHash === second.catalogHash && first.channel === second.channel && first.selectionContextHash === second.selectionContextHash;
15
16
  const validateCatalog = (catalog, expectedScope) => {
16
- if (catalog.schemaVersion !== 1 || !Number.isSafeInteger(catalog.generation) || catalog.generation < 1 || !/^sha256:[0-9a-f]{64}$/.test(catalog.catalogHash) || !(0, _releaseCatalogCache.hasExpectedReleaseCatalogScope)(catalog, expectedScope)) {
17
- throw new _error.HotUpdaterError("Received an invalid Release catalog");
17
+ if (catalog.schemaVersion !== 1 || !Number.isSafeInteger(catalog.generation) || catalog.generation < 1 || !/^sha256:[0-9a-f]{64}$/.test(catalog.catalogHash) || !(0, _protocol.hasExpectedReleaseCatalogScope)(catalog, expectedScope)) {
18
+ throw new _updateError.InvalidUpdateResponseError("Received an invalid Release catalog");
18
19
  }
19
20
  };
20
21
  const resetProgress = () => {
21
22
  _store.hotUpdaterStore.setState({
22
23
  artifactType: null,
23
24
  details: null,
24
- downloadedBytes: undefined,
25
25
  isUpdateDownloaded: false,
26
- progress: 0,
27
- totalBytes: undefined
26
+ progress: 0
28
27
  });
29
28
  };
30
- const notifyUnchangedSelection = async input => {
31
- const {
32
- userId,
33
- username
34
- } = (0, _native.getPersistedUserIdentity)();
35
- try {
36
- await input.session.sendInsightsEvent({
37
- appVersion: input.appVersion,
38
- channel: input.desired.channel,
39
- cohort: input.cohort,
40
- fingerprintHash: input.fingerprintHash,
41
- fromBundleId: null,
42
- fromReleaseId: input.active?.releaseId ?? null,
43
- installId: (0, _native.getInstallId)(),
44
- platform: input.platform,
45
- requestHeaders: input.requestHeaders,
46
- requestTimeout: input.requestTimeout,
47
- toBundleId: input.desired.bundleId,
48
- toReleaseId: input.desired.releaseId,
49
- type: "UNCHANGED",
50
- updateStrategy: null,
51
- ...(userId === undefined ? {} : {
52
- userId
29
+
30
+ /** The running bundle, the channel checked, and the update's target. */
31
+
32
+ /**
33
+ * Tells plugins why an update failed, when it failed as an update. An error
34
+ * the SDK's JavaScript raised happened in `stage`, fetching `resource`.
35
+ */
36
+ const reportUpdateError = (error, stage, resource, scope) => {
37
+ (0, _appReady.emitAfterAppReady)("onUpdateError", () => {
38
+ const classification = (0, _updateError.classifyUpdateError)(error, stage, resource);
39
+ if (classification === null) return null;
40
+ return {
41
+ ...classification,
42
+ channel: scope.channel,
43
+ bundleId: scope.bundleId,
44
+ releaseId: (0, _appReady.getRunningReleaseId)(scope.bundleId, (0, _native.getChannel)()),
45
+ updateStrategy: scope.updateStrategy,
46
+ ...(scope.targetBundleId === undefined ? {} : {
47
+ targetBundleId: scope.targetBundleId
53
48
  }),
54
- ...(username === undefined ? {} : {
55
- username
56
- })
57
- });
58
- } catch (error) {
59
- console.warn("[HotUpdater] Unchanged selection insights failed:", error);
60
- }
49
+ ...(scope.targetReleaseId == null ? {} : {
50
+ targetReleaseId: scope.targetReleaseId
51
+ }),
52
+ cause: error
53
+ };
54
+ });
61
55
  };
56
+ exports.reportUpdateError = reportUpdateError;
62
57
  async function checkForReleaseCatalogUpdate(input) {
63
58
  const {
64
59
  options
65
60
  } = input;
66
61
  const session = await options.client.createSession();
67
- const channelKey = (0, _core.encodeChannelKey)(input.targetChannel);
62
+ const channelKey = (0, _protocol.encodeChannelKey)(input.targetChannel);
68
63
  const strategy = options.updateStrategy === "appVersion" ? "APP_VERSION" : "FINGERPRINT";
69
- const canonicalAppVersion = (0, _pluginCore.canonicalizeAppVersion)(input.currentAppVersion);
64
+ const canonicalAppVersion = (0, _protocol.canonicalizeAppVersion)(input.currentAppVersion);
70
65
  if (strategy === "APP_VERSION" && canonicalAppVersion === null) {
71
66
  throw new _error.HotUpdaterError("Failed to canonicalize app version");
72
67
  }
@@ -92,11 +87,14 @@ async function checkForReleaseCatalogUpdate(input) {
92
87
  requestTimeout: options.requestTimeout,
93
88
  updateStrategy: options.updateStrategy
94
89
  });
90
+ // The server says this scope has no catalog yet: no update, not a failure.
91
+ if (catalog === null) return null;
95
92
  validateCatalog(catalog, expectedScope);
96
93
  const catalogId = catalog.catalogId;
97
94
  const scopeKey = catalog.scopeKey;
98
95
  const crashedBundleIds = (0, _native.getCrashHistory)();
99
- const active = (0, _native.getActiveUpdateState)().activeSelection;
96
+ const activeState = (0, _native.getActiveUpdateState)();
97
+ const active = activeState.activeSelection;
100
98
  const explicitScopeSwitch = input.explicitChannel !== undefined && input.explicitChannel !== input.currentChannel;
101
99
  const activeInTargetScope = active?.catalogId === catalogId && active.scopeKey === scopeKey ? active : null;
102
100
  const hasAuthenticatedActive = active !== null && active.catalogId !== null && active.scopeKey !== null && active.generation !== null;
@@ -104,7 +102,7 @@ async function checkForReleaseCatalogUpdate(input) {
104
102
  throw new _error.HotUpdaterError("Release transition rejected: UNSOLICITED_SCOPE");
105
103
  }
106
104
  const selectorCurrentBundleId = activeInTargetScope !== null || !hasAuthenticatedActive && !explicitScopeSwitch ? input.currentBundleId : input.minimumReleaseId;
107
- const selectionContextHash = (0, _core.createReleaseSelectionContextHash)({
105
+ const selectionContextHash = (0, _protocol.createReleaseSelectionContextHash)({
108
106
  activeBundleId: selectorCurrentBundleId,
109
107
  activeReleaseId: activeInTargetScope?.releaseId ?? null,
110
108
  cohort: input.cohort,
@@ -121,9 +119,9 @@ async function checkForReleaseCatalogUpdate(input) {
121
119
  selectionContextHash,
122
120
  scopeKey
123
121
  })) {
124
- throw new _error.HotUpdaterError("Rejected a stale or inconsistent Release catalog");
122
+ throw new _updateError.InvalidUpdateResponseError("Rejected a stale or inconsistent Release catalog");
125
123
  }
126
- const desired = (0, _core.selectDesiredRelease)(catalog, {
124
+ const desired = (0, _protocol.selectDesiredRelease)(catalog, {
127
125
  activeReleaseId: activeInTargetScope?.releaseId ?? null,
128
126
  builtInBundleId: input.minimumReleaseId,
129
127
  cohort: input.cohort,
@@ -147,7 +145,7 @@ async function checkForReleaseCatalogUpdate(input) {
147
145
  selectionContextHash
148
146
  };
149
147
  if (sameReceipt(active, receipt)) return null;
150
- const authorization = (0, _core.authorizeReleaseTransition)({
148
+ const authorization = (0, _protocol.authorizeReleaseTransition)({
151
149
  active,
152
150
  desired: receipt,
153
151
  explicitScopeSwitch
@@ -166,7 +164,15 @@ async function checkForReleaseCatalogUpdate(input) {
166
164
  scopeKey,
167
165
  selectionContextHash
168
166
  };
169
- const updateBundleForSelection = async () => {
167
+ const fromReleaseId = active?.bundleId === input.currentBundleId ? active.releaseId : activeState.stableSelection?.bundleId === input.currentBundleId ? activeState.stableSelection.releaseId : null;
168
+ const errorScope = {
169
+ bundleId: input.currentBundleId,
170
+ channel: input.targetChannel,
171
+ targetBundleId: desired.bundleId,
172
+ targetReleaseId: desired.releaseId,
173
+ updateStrategy: options.updateStrategy
174
+ };
175
+ const installSelection = async () => {
170
176
  resetProgress();
171
177
  if (!(0, _native.isReleaseSelectionCurrent)(guard)) {
172
178
  throw new _error.StaleReleaseCatalogError();
@@ -176,18 +182,14 @@ async function checkForReleaseCatalogUpdate(input) {
176
182
  guard,
177
183
  selection: receipt
178
184
  });
179
- if (committed && transitionKind === "ADOPT_RELEASE" && options.insights) {
180
- await notifyUnchangedSelection({
181
- active,
182
- appVersion: input.currentAppVersion,
183
- cohort: input.cohort,
184
- desired: receipt,
185
- fingerprintHash: input.fingerprintHash,
186
- platform: input.platform,
187
- requestHeaders: options.requestHeaders,
188
- requestTimeout: options.requestTimeout,
189
- session
190
- });
185
+ if (committed && transitionKind === "ADOPT_RELEASE") {
186
+ (0, _appReady.emitAfterAppReady)("onUpdateCheck", () => ({
187
+ status: "UNCHANGED",
188
+ channel: receipt.channel,
189
+ bundleId: receipt.bundleId,
190
+ releaseId: receipt.releaseId,
191
+ previousReleaseId: active?.releaseId ?? null
192
+ }));
191
193
  }
192
194
  return committed;
193
195
  }
@@ -200,27 +202,59 @@ async function checkForReleaseCatalogUpdate(input) {
200
202
  if (!(0, _native.isReleaseSelectionCurrent)(guard)) {
201
203
  throw new _error.StaleReleaseCatalogError();
202
204
  }
203
- return (0, _native.updateBundle)({
205
+ const delivery = await (0, _native.stageBundle)({
206
+ assets: artifact.assets,
204
207
  bundleId: desired.bundleId,
205
- changedAssets: artifact.changedAssets ?? null,
206
208
  channel: input.targetChannel,
207
- fileHash: artifact.fileHash,
208
- fileUrl: artifact.fileUrl,
209
- manifestFileHash: artifact.manifestFileHash ?? null,
210
- manifestUrl: artifact.manifestUrl ?? null,
209
+ manifestFileHash: artifact.manifestFileHash,
210
+ manifestUrl: artifact.manifestUrl,
211
+ ...(artifact.archiveUrl ? {
212
+ archiveUrl: artifact.archiveUrl
213
+ } : {}),
211
214
  selection: receipt,
212
215
  shouldSkipCurrentBundleIdCheck: true,
213
216
  status: desired.status
214
217
  });
218
+ if (delivery !== null && desired.bundleId !== input.currentBundleId) {
219
+ (0, _appReady.emitAfterAppReady)("onBundleDownloaded", () => ({
220
+ channel: input.targetChannel,
221
+ fromBundleId: input.currentBundleId,
222
+ fromReleaseId,
223
+ toBundleId: desired.bundleId,
224
+ toReleaseId: desired.releaseId,
225
+ updateStrategy: options.updateStrategy,
226
+ ...delivery
227
+ }));
228
+ }
229
+ return true;
230
+ };
231
+ const updateBundleForSelection = async () => {
232
+ try {
233
+ return await installSelection();
234
+ } catch (error) {
235
+ reportUpdateError(error, "download", "artifact", errorScope);
236
+ throw error;
237
+ }
215
238
  };
239
+ const shouldForceUpdate = transitionKind === "ADOPT_RELEASE" ? false : desired.status === "ROLLBACK" ? true : release?.shouldForceUpdate ?? false;
240
+ (0, _appReady.emitAfterAppReady)("onUpdateCheck", () => ({
241
+ status: "UPDATE_AVAILABLE",
242
+ channel: input.targetChannel,
243
+ fromBundleId: input.currentBundleId,
244
+ fromReleaseId,
245
+ toBundleId: desired.bundleId,
246
+ toReleaseId: desired.releaseId,
247
+ transitionKind,
248
+ updateStatus: desired.status,
249
+ shouldForceUpdate,
250
+ updateStrategy: options.updateStrategy
251
+ }));
216
252
  return {
217
- fileHash: null,
218
- fileUrl: null,
219
253
  id: desired.releaseId ?? desired.bundleId,
220
254
  message: release?.message ?? null,
221
255
  releaseId: desired.releaseId,
222
256
  rolloutCohortCount: release?.rolloutCohortCount ?? 1000,
223
- shouldForceUpdate: transitionKind === "ADOPT_RELEASE" ? false : desired.status === "ROLLBACK" ? true : release?.shouldForceUpdate ?? false,
257
+ shouldForceUpdate,
224
258
  status: desired.status,
225
259
  targetCohorts: release?.targetCohorts ? [...release.targetCohorts] : [],
226
260
  transitionKind,
@@ -256,7 +290,7 @@ async function checkForUpdate(options) {
256
290
  }
257
291
  const fingerprintHash = (0, _native.getFingerprintHash)();
258
292
  try {
259
- return await checkForReleaseCatalogUpdate({
293
+ const result = await checkForReleaseCatalogUpdate({
260
294
  cohort,
261
295
  currentAppVersion,
262
296
  currentBundleId,
@@ -270,7 +304,25 @@ async function checkForUpdate(options) {
270
304
  platform,
271
305
  targetChannel
272
306
  });
307
+ if (result === null) {
308
+ (0, _appReady.emitAfterAppReady)("onUpdateCheck", () => {
309
+ const releaseId = (0, _appReady.getRunningReleaseId)(currentBundleId, currentChannel);
310
+ return {
311
+ status: "UNCHANGED",
312
+ channel: currentChannel,
313
+ bundleId: currentBundleId,
314
+ releaseId,
315
+ previousReleaseId: releaseId
316
+ };
317
+ });
318
+ }
319
+ return result;
273
320
  } catch (error) {
321
+ reportUpdateError(error, "check", "catalog", {
322
+ bundleId: currentBundleId,
323
+ channel: targetChannel,
324
+ updateStrategy: options.updateStrategy
325
+ });
274
326
  options.onError?.(error);
275
327
  return null;
276
328
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_pluginCore","_reactNative","_error","_native","_releaseCatalogCache","_store","sameReceipt","first","second","kind","releaseId","bundleId","catalogId","scopeKey","generation","catalogHash","channel","selectionContextHash","validateCatalog","catalog","expectedScope","schemaVersion","Number","isSafeInteger","test","hasExpectedReleaseCatalogScope","HotUpdaterError","resetProgress","hotUpdaterStore","setState","artifactType","details","downloadedBytes","undefined","isUpdateDownloaded","progress","totalBytes","notifyUnchangedSelection","input","userId","username","getPersistedUserIdentity","session","sendInsightsEvent","appVersion","desired","cohort","fingerprintHash","fromBundleId","fromReleaseId","active","installId","getInstallId","platform","requestHeaders","requestTimeout","toBundleId","toReleaseId","type","updateStrategy","error","console","warn","checkForReleaseCatalogUpdate","options","client","createSession","channelKey","encodeChannelKey","targetChannel","strategy","canonicalAppVersion","canonicalizeAppVersion","currentAppVersion","fetchReleaseCatalog","crashedBundleIds","getCrashHistory","getActiveUpdateState","activeSelection","explicitScopeSwitch","explicitChannel","currentChannel","activeInTargetScope","hasAuthenticatedActive","selectorCurrentBundleId","currentBundleId","minimumReleaseId","createReleaseSelectionContextHash","activeBundleId","activeReleaseId","strategyValue","acceptReleaseCatalog","selectDesiredRelease","builtInBundleId","receipt","authorization","authorizeReleaseTransition","authorized","reason","release","transitionKind","guard","updateBundleForSelection","isReleaseSelectionCurrent","StaleReleaseCatalogError","committed","commitReleaseSelection","selection","insights","artifact","resolveArtifact","targetBundleId","updateBundle","changedAssets","fileHash","fileUrl","manifestFileHash","manifestUrl","shouldSkipCurrentBundleIdCheck","status","id","message","rolloutCohortCount","shouldForceUpdate","targetCohorts","checkForUpdate","__DEV__","includes","Platform","OS","onError","getAppVersion","getBundleId","getMinBundleId","defaultChannel","getDefaultChannel","isSwitched","isChannelSwitched","getChannel","getCohort","getFingerprintHash"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_protocol","require","_reactNative","_appReady","_error","_native","_store","_updateError","sameReceipt","first","second","kind","releaseId","bundleId","catalogId","scopeKey","generation","catalogHash","channel","selectionContextHash","validateCatalog","catalog","expectedScope","schemaVersion","Number","isSafeInteger","test","hasExpectedReleaseCatalogScope","InvalidUpdateResponseError","resetProgress","hotUpdaterStore","setState","artifactType","details","isUpdateDownloaded","progress","reportUpdateError","error","stage","resource","scope","emitAfterAppReady","classification","classifyUpdateError","getRunningReleaseId","getChannel","updateStrategy","targetBundleId","undefined","targetReleaseId","cause","exports","checkForReleaseCatalogUpdate","input","options","session","client","createSession","channelKey","encodeChannelKey","targetChannel","strategy","canonicalAppVersion","canonicalizeAppVersion","currentAppVersion","HotUpdaterError","fingerprintHash","platform","fetchReleaseCatalog","appVersion","requestHeaders","requestTimeout","crashedBundleIds","getCrashHistory","activeState","getActiveUpdateState","active","activeSelection","explicitScopeSwitch","explicitChannel","currentChannel","activeInTargetScope","hasAuthenticatedActive","selectorCurrentBundleId","currentBundleId","minimumReleaseId","createReleaseSelectionContextHash","activeBundleId","activeReleaseId","cohort","strategyValue","acceptReleaseCatalog","desired","selectDesiredRelease","builtInBundleId","receipt","authorization","authorizeReleaseTransition","authorized","reason","release","transitionKind","guard","fromReleaseId","stableSelection","errorScope","installSelection","isReleaseSelectionCurrent","StaleReleaseCatalogError","committed","commitReleaseSelection","selection","status","previousReleaseId","artifact","resolveArtifact","delivery","stageBundle","assets","manifestFileHash","manifestUrl","archiveUrl","shouldSkipCurrentBundleIdCheck","fromBundleId","toBundleId","toReleaseId","updateBundleForSelection","shouldForceUpdate","updateStatus","id","message","rolloutCohortCount","targetCohorts","updateBundle","checkForUpdate","__DEV__","includes","Platform","OS","onError","getAppVersion","getBundleId","getMinBundleId","defaultChannel","getDefaultChannel","isSwitched","isChannelSwitched","getCohort","getFingerprintHash","result"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "defineClientPlugin", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _protocol.defineClientPlugin;
10
+ }
11
+ });
12
+ var _protocol = require("@hot-updater/protocol");
13
+ //# sourceMappingURL=clientPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_protocol","require"],"sourceRoot":"../../src","sources":["clientPlugin.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}