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

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 (317) 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 +96 -0
  48. package/lib/commonjs/appReady.js.map +1 -0
  49. package/lib/commonjs/checkForUpdate.js +121 -69
  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 +5 -14
  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 +64 -95
  60. package/lib/commonjs/httpClient.js.map +1 -1
  61. package/lib/commonjs/index.js +355 -324
  62. package/lib/commonjs/index.js.map +1 -1
  63. package/lib/commonjs/init.types.js +6 -0
  64. package/lib/commonjs/init.types.js.map +1 -0
  65. package/lib/commonjs/native.js +77 -63
  66. package/lib/commonjs/native.js.map +1 -1
  67. package/lib/commonjs/pluginHost.js +41 -0
  68. package/lib/commonjs/pluginHost.js.map +1 -0
  69. package/lib/commonjs/releaseCatalogCache.js +36 -87
  70. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  71. package/lib/commonjs/sdkVersion.js +1 -1
  72. package/lib/commonjs/sdkVersion.js.map +1 -1
  73. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  74. package/lib/commonjs/store.js +3 -10
  75. package/lib/commonjs/store.js.map +1 -1
  76. package/lib/commonjs/updateError.js +145 -0
  77. package/lib/commonjs/updateError.js.map +1 -0
  78. package/lib/commonjs/wrap.js +46 -38
  79. package/lib/commonjs/wrap.js.map +1 -1
  80. package/lib/module/appReady.js +90 -0
  81. package/lib/module/appReady.js.map +1 -0
  82. package/lib/module/checkForUpdate.js +114 -64
  83. package/lib/module/checkForUpdate.js.map +1 -1
  84. package/lib/module/clientPlugin.js +4 -0
  85. package/lib/module/clientPlugin.js.map +1 -0
  86. package/lib/module/error.js +5 -14
  87. package/lib/module/error.js.map +1 -1
  88. package/lib/module/fetchJSON.js +14 -26
  89. package/lib/module/fetchJSON.js.map +1 -1
  90. package/lib/module/fetchUpdateResponse.js +55 -0
  91. package/lib/module/fetchUpdateResponse.js.map +1 -0
  92. package/lib/module/httpClient.js +63 -94
  93. package/lib/module/httpClient.js.map +1 -1
  94. package/lib/module/index.js +335 -327
  95. package/lib/module/index.js.map +1 -1
  96. package/lib/module/init.types.js +4 -0
  97. package/lib/module/init.types.js.map +1 -0
  98. package/lib/module/native.js +70 -56
  99. package/lib/module/native.js.map +1 -1
  100. package/lib/module/pluginHost.js +36 -0
  101. package/lib/module/pluginHost.js.map +1 -0
  102. package/lib/module/releaseCatalogCache.js +32 -82
  103. package/lib/module/releaseCatalogCache.js.map +1 -1
  104. package/lib/module/sdkVersion.js +1 -1
  105. package/lib/module/sdkVersion.js.map +1 -1
  106. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  107. package/lib/module/store.js +3 -10
  108. package/lib/module/store.js.map +1 -1
  109. package/lib/module/updateError.js +139 -0
  110. package/lib/module/updateError.js.map +1 -0
  111. package/lib/module/wrap.js +47 -38
  112. package/lib/module/wrap.js.map +1 -1
  113. package/lib/typescript/commonjs/appReady.d.ts +30 -0
  114. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/checkForUpdate.d.ts +20 -6
  116. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  118. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/error.d.ts +5 -14
  120. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/fetchJSON.d.ts +5 -5
  122. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
  124. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/httpClient.d.ts +5 -34
  126. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/index.d.ts +124 -116
  128. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/init.types.d.ts +21 -0
  130. package/lib/typescript/commonjs/init.types.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/native.d.ts +32 -25
  132. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/pluginHost.d.ts +8 -0
  134. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +8 -14
  136. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  138. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +35 -47
  140. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/store.d.ts +1 -3
  142. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/types.d.ts +1 -1
  144. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  146. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/wrap.d.ts +2 -3
  148. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  149. package/lib/typescript/commonjs/wrap.types.d.ts +13 -41
  150. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  151. package/lib/typescript/module/appReady.d.ts +30 -0
  152. package/lib/typescript/module/appReady.d.ts.map +1 -0
  153. package/lib/typescript/module/checkForUpdate.d.ts +20 -6
  154. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  155. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  156. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  157. package/lib/typescript/module/error.d.ts +5 -14
  158. package/lib/typescript/module/error.d.ts.map +1 -1
  159. package/lib/typescript/module/fetchJSON.d.ts +5 -5
  160. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  161. package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
  162. package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
  163. package/lib/typescript/module/httpClient.d.ts +5 -34
  164. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  165. package/lib/typescript/module/index.d.ts +124 -116
  166. package/lib/typescript/module/index.d.ts.map +1 -1
  167. package/lib/typescript/module/init.types.d.ts +21 -0
  168. package/lib/typescript/module/init.types.d.ts.map +1 -0
  169. package/lib/typescript/module/native.d.ts +32 -25
  170. package/lib/typescript/module/native.d.ts.map +1 -1
  171. package/lib/typescript/module/pluginHost.d.ts +8 -0
  172. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  173. package/lib/typescript/module/releaseCatalogCache.d.ts +8 -14
  174. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  175. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  176. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  177. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +35 -47
  178. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  179. package/lib/typescript/module/store.d.ts +1 -3
  180. package/lib/typescript/module/store.d.ts.map +1 -1
  181. package/lib/typescript/module/types.d.ts +1 -1
  182. package/lib/typescript/module/types.d.ts.map +1 -1
  183. package/lib/typescript/module/updateError.d.ts +26 -0
  184. package/lib/typescript/module/updateError.d.ts.map +1 -0
  185. package/lib/typescript/module/wrap.d.ts +2 -3
  186. package/lib/typescript/module/wrap.d.ts.map +1 -1
  187. package/lib/typescript/module/wrap.types.d.ts +13 -41
  188. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  189. package/package.json +8 -4
  190. package/src/appReady.ts +147 -0
  191. package/src/checkForUpdate.ts +156 -89
  192. package/src/clientPlugin.ts +21 -0
  193. package/src/error.ts +5 -15
  194. package/src/fetchJSON.ts +14 -30
  195. package/src/fetchUpdateResponse.ts +60 -0
  196. package/src/httpClient.ts +89 -160
  197. package/src/index.ts +413 -425
  198. package/src/init.types.ts +24 -0
  199. package/src/native.ts +101 -105
  200. package/src/pluginHost.ts +52 -0
  201. package/src/releaseCatalogCache.ts +43 -172
  202. package/src/sdkVersion.ts +1 -1
  203. package/src/specs/NativeHotUpdater.ts +34 -48
  204. package/src/store.ts +2 -23
  205. package/src/types.ts +1 -1
  206. package/src/updateError.ts +167 -0
  207. package/src/wrap.tsx +60 -43
  208. package/src/wrap.types.ts +18 -46
  209. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  210. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  211. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  212. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  213. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  214. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  215. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  216. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  217. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  218. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  219. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  220. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  221. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  222. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  223. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  224. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  225. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  226. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  227. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  228. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  229. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  230. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  231. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  232. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -616
  233. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  234. package/lib/commonjs/httpClient.spec.js +0 -102
  235. package/lib/commonjs/httpClient.spec.js.map +0 -1
  236. package/lib/commonjs/index.spec.js +0 -302
  237. package/lib/commonjs/index.spec.js.map +0 -1
  238. package/lib/commonjs/iosInterop.spec.js +0 -18
  239. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  240. package/lib/commonjs/native.spec.js +0 -883
  241. package/lib/commonjs/native.spec.js.map +0 -1
  242. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  243. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  244. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  245. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  246. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  247. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  248. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  249. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  250. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  251. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  252. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  253. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  254. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  255. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  256. package/lib/commonjs/store.notification.spec.js +0 -76
  257. package/lib/commonjs/store.notification.spec.js.map +0 -1
  258. package/lib/commonjs/store.spec.js +0 -316
  259. package/lib/commonjs/store.spec.js.map +0 -1
  260. package/lib/commonjs/wrap.spec.js +0 -329
  261. package/lib/commonjs/wrap.spec.js.map +0 -1
  262. package/lib/module/catalogCacheNative.spec.js +0 -31
  263. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  264. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -615
  265. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  266. package/lib/module/httpClient.spec.js +0 -102
  267. package/lib/module/httpClient.spec.js.map +0 -1
  268. package/lib/module/index.spec.js +0 -301
  269. package/lib/module/index.spec.js.map +0 -1
  270. package/lib/module/iosInterop.spec.js +0 -18
  271. package/lib/module/iosInterop.spec.js.map +0 -1
  272. package/lib/module/native.spec.js +0 -882
  273. package/lib/module/native.spec.js.map +0 -1
  274. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  275. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  276. package/lib/module/notifyAppReadyInsights.js +0 -128
  277. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  278. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  279. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  280. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  281. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  282. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  283. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  284. package/lib/module/releaseCatalogCache.spec.js +0 -195
  285. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  286. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  287. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  288. package/lib/module/store.notification.spec.js +0 -77
  289. package/lib/module/store.notification.spec.js.map +0 -1
  290. package/lib/module/store.spec.js +0 -315
  291. package/lib/module/store.spec.js.map +0 -1
  292. package/lib/module/wrap.spec.js +0 -330
  293. package/lib/module/wrap.spec.js.map +0 -1
  294. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  295. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  296. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  297. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  298. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  299. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  300. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  301. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  302. package/src/catalogCacheNative.spec.ts +0 -63
  303. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -612
  304. package/src/httpClient.spec.ts +0 -132
  305. package/src/index.spec.ts +0 -337
  306. package/src/iosInterop.spec.ts +0 -30
  307. package/src/native.spec.ts +0 -945
  308. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  309. package/src/notifyAppReadyInsights.spec.ts +0 -243
  310. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  311. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  312. package/src/notifyAppReadyInsights.ts +0 -194
  313. package/src/releaseCatalogCache.spec.ts +0 -282
  314. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  315. package/src/store.notification.spec.ts +0 -92
  316. package/src/store.spec.ts +0 -372
  317. package/src/wrap.spec.ts +0 -406
@@ -1 +1 @@
1
- {"version":3,"names":["checkForUpdate","createHttpClient","addListener","getPublicActiveUpdateState","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","setUser","updateBundle","hotUpdaterStore","init","wrap","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","insights","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","rest","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","isUpdateDownloaded","getSnapshot","getActiveUpdateState","getBundleId","config","mergedConfig","params","ok","setState","artifactType","details","downloadedBytes","undefined","progress","totalBytes","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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A;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI2C,kBAAkB,EAAEA,CAAA,KAAMxC,eAAe,CAACyC,WAAW,CAAC,CAAC,CAACD,kBAAkB;IAE1E;AACJ;AACA;IACI3D,aAAa;IAEb;IACA6D,oBAAoB,EAAE,MAAAA,CAAA,KAAY/D,0BAA0B,CAAC,CAAC;IAE9D;AACJ;AACA;AACA;IACIgE,WAAW,EAAE5D,WAAW;IAExB;IACAQ,cAAc;IAEd;AACJ;AACA;IACID,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN,UAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIK,iBAAiB;IAEjB;AACJ;AACA;AACA;IACII,SAAS;IAET;AACJ;AACA;IACIX,SAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIP,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIF,cAAc,EAAGoE,MAA6B,IAAK;MACjD,MAAM9B,MAAM,GAAGwB,kBAAkB,CAAC,gBAAgB,CAAC;MAEnD,MAAMO,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACT/B,QAAQ,EAAED,YAAY,CAACC,QAAQ;QAC/BC,MAAM;QACNiB,cAAc,EAAE;UACd,GAAGnB,YAAY,CAACmB,cAAc;UAC9B,GAAGa,MAAM,CAACb;QACZ,CAAC;QACDC,cAAc,EAAEY,MAAM,CAACZ,cAAc,IAAIpB,YAAY,CAACoB,cAAc;QACpEC,OAAO,EAAEW,MAAM,CAACX,OAAO,IAAIrB,YAAY,CAACqB;MAC1C,CAAC;MAED,OAAOzD,cAAc,CAACqE,YAAY,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI9C,YAAY,EAAG+C,MAAoB,IAAK;MACtCR,kBAAkB,CAAC,cAAc,CAAC;MAClC,OAAOvC,YAAY,CAAC+C,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACInD,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAMoD,EAAE,GAAG,MAAMpD,YAAY,CAAC,CAAC;MAC/B,IAAIoD,EAAE,EAAE;QACN/C,eAAe,CAACgD,QAAQ,CAAC;UACvBC,YAAY,EAAE,IAAI;UAClBC,OAAO,EAAE,IAAI;UACbC,eAAe,EAAEC,SAAS;UAC1BZ,kBAAkB,EAAE,KAAK;UACzBa,QAAQ,EAAE,CAAC;UACXC,UAAU,EAAEF;QACd,CAAC,CAAC;MACJ;MACA,OAAOL,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI3D,kBAAkB;IAElB;AACJ;AACA;IACIC,YAAY;IAEZ;AACJ;AACA;IACIS,OAAO;IAEP;AACJ;AACA;IACIL,cAAc;IAEd;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIP,eAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN;EACF,CAAC;AACH;AASA,OAAO,MAAM2E,UAA4B,GAAG9C,sBAAsB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createLaunchReporter","checkForUpdate","reportUpdateError","createHttpClient","addListener","getPublicActiveUpdateState","getActiveUpdateState","getBundleId","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","stageBundle","createAppPluginHost","hotUpdaterStore","wrap","defineClientPlugin","insights","remoteConfig","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","createMissingNetworkConfigError","Error","nativeMethods","isUpdateDownloaded","getSnapshot","ok","setState","artifactType","details","progress","createConfiguredMethods","config","check","options","client","emit","launch","requestHeaders","requestTimeout","onError","updateBundle","params","fromBundleId","state","active","activeSelection","fromReleaseId","bundleId","releaseId","stableSelection","channel","strategyOf","scopeKey","startsWith","delivery","error","undefined","targetBundleId","targetReleaseId","selection","updateStrategy","toBundleId","toReleaseId","appReady","HotUpdater","init","baseURL","plugins","onNotifyAppReady","host","instance","response","reservedIds","Set","Object","keys","plugin","has","id","apis","configurePlugins","read","freeze"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAA6B,eAAY;AACtE,SAEEC,cAAc,EACdC,iBAAiB,QACZ,qBAAkB;AAEzB,SAASC,gBAAgB,QAAmC,iBAAc;AAE1E,SACEC,WAAW,EACXC,0BAA0B,EAC1BC,oBAAoB,EACpBC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,iBAAiB,EACjBC,cAAc,EACdC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTC,iBAAiB,EACjBC,WAAW,QAEN,aAAU;AACjB,SAASC,mBAAmB,QAAQ,iBAAc;AAClD,SAASC,eAAe,QAAQ,YAAS;AACzC,SAAqCC,IAAI,QAAQ,WAAQ;AAEzD,SACEC,kBAAkB,QAiBb,mBAAgB;AACvB;AACA,SACEC,QAAQ,QAKH,qCAAqC;AAC5C;AACA,SACEC,YAAY,QAWP,0CAA0C;AAajD,cAAc,YAAS;AACvB,SACEC,uBAAuB,EAEvBC,4BAA4B,QAEvB,YAAS;AAQhB;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EACrC,MAAMC,EAAE,GAAG1B,UAAU;;EAErB;EACA,IAAI,OAAO2B,UAAU,KAAK,WAAW,EAAE;IACrC,IAAI,CAACA,UAAU,CAACC,oBAAoB,EAAE;MACpCD,UAAU,CAACC,oBAAoB,GAAGF,EAAE;IACtC;EACF;AACF,CAAC;;AAED;AACAD,wBAAwB,CAAC,CAAC;AAE1B,MAAMI,+BAA+B,GAAGA,CAAA,KACtC,IAAIC,KAAK,CACP,4CAA4C,GAC1C,2DAA2D,GAC3D,iDAAiD,GACjD,4CAA4C,GAC5C,WAAW,GACX,wDACJ,CAAC;;AAEH;AACA,MAAMC,aAAa,GAAG;EACpB;AACF;AACA;EACEnB,MAAM;EAEN;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,iBAAiB;EAEjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEiB,kBAAkB,EAAEA,CAAA,KAAMd,eAAe,CAACe,WAAW,CAAC,CAAC,CAACD,kBAAkB;EAE1E;AACF;AACA;EACEjC,aAAa;EAEb;EACAH,oBAAoB,EAAE,MAAAA,CAAA,KAAYD,0BAA0B,CAAC,CAAC;EAE9D;AACF;AACA;AACA;EACEE,WAAW,EAAEI,WAAW;EAExB;EACAQ,cAAc;EAEd;AACF;AACA;EACED,WAAW;EAEX;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEN,UAAU;EAEV;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEG,iBAAiB;EAEjB;AACF;AACA;AACA;AACA;EACEK,iBAAiB;EAEjB;AACF;AACA;AACA;EACEI,SAAS;EAET;AACF;AACA;EACEX,SAAS;EAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACET,WAAW;EAEX;AACF;AACA;AACA;AACA;EACEmB,YAAY,EAAE,MAAAA,CAAA,KAAY;IACxB,MAAMqB,EAAE,GAAG,MAAMrB,YAAY,CAAC,CAAC;IAC/B,IAAIqB,EAAE,EAAE;MACNhB,eAAe,CAACiB,QAAQ,CAAC;QACvBC,YAAY,EAAE,IAAI;QAClBC,OAAO,EAAE,IAAI;QACbL,kBAAkB,EAAE,KAAK;QACzBM,QAAQ,EAAE;MACZ,CAAC,CAAC;IACJ;IACA,OAAOJ,EAAE;EACX,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE5B,kBAAkB;EAElB;AACF;AACA;EACEC,YAAY;EAEZ;AACF;AACA;EACEI,cAAc;EAEd;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEP,eAAe;EAEf;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEN;AACF,CAAC;;AAED;;AASA;AACA,MAAMyC,uBAAuB,GAAIC,MAAs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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=init.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["init.types.ts"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { INVALID_COHORT_ERROR_MESSAGE, isValidCohort, normalizeCohortValue } from "@hot-updater/core";
3
+ import { INVALID_COHORT_ERROR_MESSAGE, isValidCohort, normalizeCohortValue } from "@hot-updater/protocol";
4
4
  import { NativeEventEmitter, Platform } from "react-native";
5
5
  import { HotUpdaterErrorCode, isHotUpdaterError } from "./error.js";
6
6
  import HotUpdaterNative from "./specs/NativeHotUpdater.js";
@@ -15,7 +15,7 @@ const normalizeAndValidateCohort = cohort => {
15
15
  };
16
16
 
17
17
  /**
18
- * Built-in reload behaviors used by `HotUpdater.reload()`.
18
+ * Built-in reload behaviors used by `hotUpdater.reload()`.
19
19
  *
20
20
  * - `reload`: In-process React Native reload.
21
21
  * - `processRestart`: Android-only cold restart. On iOS the same call behaves like `reload`.
@@ -188,24 +188,40 @@ export const commitReleaseSelection = async input => {
188
188
  return ok;
189
189
  };
190
190
 
191
+ /** How native delivered a staged bundle. */
192
+
193
+ const readBundleDelivery = value => {
194
+ if (typeof value !== "object" || value === null) return null;
195
+ const {
196
+ delivery,
197
+ patchFallback
198
+ } = value;
199
+ if (delivery !== "patch" && delivery !== "manifest" && delivery !== "archive") {
200
+ return null;
201
+ }
202
+ return {
203
+ delivery,
204
+ patchFallback: patchFallback === true
205
+ };
206
+ };
207
+
191
208
  /**
192
- * Downloads files and applies them to the app.
209
+ * Stages a bundle for the next launch. Resolves with how native delivered
210
+ * it, or with null when this runtime had already staged it and nothing was
211
+ * downloaded; rejects when the download or install fails.
193
212
  *
194
- * @param {UpdateParams} params - Parameters object required for bundle update
195
- * @returns {Promise<boolean>} Resolves with true if download was successful
196
213
  * @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
197
214
  */
198
- export async function updateBundle(params) {
215
+ export async function stageBundle(params) {
199
216
  const updateBundleId = params.bundleId;
200
217
  const status = params.status;
201
- const targetFileUrl = params.fileUrl;
202
218
  const currentBundleId = status === "UPDATE" ? getFreshBundleId() : undefined;
203
219
 
204
220
  // If native is still on the same bundle we installed in this session,
205
221
  // skip re-download. Native state can move back to the built-in bundle after
206
222
  // rollback/reset, so check a fresh native bundle id before using this guard.
207
223
  if (status === "UPDATE" && sessionState.hasInstalledBundle(updateBundleId) && currentBundleId === updateBundleId) {
208
- return true;
224
+ return null;
209
225
  }
210
226
  const shouldSkipCurrentBundleIdCheck = params.shouldSkipCurrentBundleIdCheck === true;
211
227
  if (!shouldSkipCurrentBundleIdCheck && status === "UPDATE" && currentBundleId !== undefined && updateBundleId.localeCompare(currentBundleId) <= 0) {
@@ -215,30 +231,28 @@ export async function updateBundle(params) {
215
231
  // In-flight guard: return the same promise if the same bundle is already updating.
216
232
  const existing = sessionState.getInflightUpdate(updateBundleId);
217
233
  if (existing) return existing;
218
- const targetFileHash = params.fileHash;
219
234
  const targetChannel = params.channel;
220
235
  const targetManifestUrl = params.manifestUrl;
221
236
  const targetManifestFileHash = params.manifestFileHash;
222
- const targetChangedAssets = params.changedAssets;
237
+ const targetAssets = params.assets;
223
238
  const promise = (async () => {
224
239
  try {
225
240
  const selection = params.selection;
226
- const ok = await HotUpdaterNative.updateBundle({
241
+ const staged = await HotUpdaterNative.updateBundle({
227
242
  bundleId: updateBundleId,
228
243
  channel: targetChannel,
229
- changedAssets: targetChangedAssets ?? null,
230
- fileUrl: targetFileUrl,
231
- fileHash: targetFileHash ?? null,
232
- manifestFileHash: targetManifestFileHash ?? null,
233
- manifestUrl: targetManifestUrl ?? null,
244
+ assets: targetAssets,
245
+ manifestFileHash: targetManifestFileHash,
246
+ manifestUrl: targetManifestUrl,
247
+ ...(params.archiveUrl ? {
248
+ archiveUrl: params.archiveUrl
249
+ } : {}),
234
250
  ...(selection === undefined ? {} : {
235
251
  selection
236
252
  })
237
253
  });
238
- if (ok) {
239
- sessionState.markBundleInstalled(updateBundleId, targetChannel);
240
- }
241
- return ok;
254
+ sessionState.markBundleInstalled(updateBundleId, targetChannel);
255
+ return readBundleDelivery(staged);
242
256
  } finally {
243
257
  sessionState.clearInflightUpdate(updateBundleId);
244
258
  }
@@ -247,6 +261,18 @@ export async function updateBundle(params) {
247
261
  return promise;
248
262
  }
249
263
 
264
+ /**
265
+ * Downloads files and applies them to the app.
266
+ *
267
+ * @param {UpdateParams} params - Parameters object required for bundle update
268
+ * @returns {Promise<boolean>} Resolves with true if download was successful
269
+ * @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
270
+ */
271
+ export async function updateBundle(params) {
272
+ await stageBundle(params);
273
+ return true;
274
+ }
275
+
250
276
  /**
251
277
  * Fetches the current app version.
252
278
  */
@@ -288,7 +314,7 @@ export const reload = async () => {
288
314
  };
289
315
 
290
316
  /**
291
- * Configures how `HotUpdater.reload()` should behave.
317
+ * Configures how `hotUpdater.reload()` should behave.
292
318
  *
293
319
  * This API is available on both Android and iOS so app code can stay symmetric.
294
320
  * By default, HotUpdater uses `processRestart`.
@@ -419,39 +445,31 @@ export const getInstallId = () => {
419
445
  }
420
446
  return nativeModule.getInstallId();
421
447
  };
422
- export const getPersistedUserIdentity = () => {
423
- const nativeModule = HotUpdaterNative;
424
- if (typeof nativeModule.getUserId !== "function" || typeof nativeModule.getUsername !== "function") {
425
- throw new Error("[HotUpdater] Native module is missing 'getUserId()' or 'getUsername()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
448
+ const requireStorageNativeMethod = name => {
449
+ const method = HotUpdaterNative[name];
450
+ if (typeof method !== "function") {
451
+ throw new Error(`[HotUpdater] Native module is missing '${name}()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.`);
426
452
  }
427
- const userId = nativeModule.getUserId();
428
- const username = nativeModule.getUsername();
429
- return {
430
- ...(userId != null ? {
431
- userId
432
- } : {}),
433
- ...(username != null ? {
434
- username
435
- } : {})
436
- };
453
+ return method.bind(HotUpdaterNative);
454
+ };
455
+
456
+ /** Reads a value from the SDK's native key-value store. */
457
+ export const getStorageItem = key => {
458
+ const value = requireStorageNativeMethod("getStorageItem")(key);
459
+ return typeof value === "string" ? value : null;
460
+ };
461
+
462
+ /** Writes a value to the SDK's native key-value store; null removes it. */
463
+ export const setStorageItem = (key, value) => {
464
+ requireStorageNativeMethod("setStorageItem")(key, value);
437
465
  };
438
- export function setUser(params) {
439
- const nativeModule = HotUpdaterNative;
440
- if (typeof nativeModule.setUser !== "function") {
441
- throw new Error("[HotUpdater] Native module is missing 'setUser()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
442
- }
443
- if (params === null) {
444
- nativeModule.setUser(null, null);
445
- return;
446
- }
447
- const normalizedUserId = params.userId === null || params.userId === undefined ? null : String(params.userId);
448
- nativeModule.setUser(normalizedUserId, params.username ?? null);
449
- }
450
466
 
451
467
  /**
452
468
  * Result returned by notifyAppReady()
453
469
  */
454
470
 
471
+ /** An update applied or recovered at this launch, as native persisted it. */
472
+
455
473
  const isPersistedUpdateStrategy = value => {
456
474
  return value === "appVersion" || value === "fingerprint";
457
475
  };
@@ -517,7 +535,7 @@ const getNotifyAppReadyTransition = result => {
517
535
  }
518
536
  return null;
519
537
  };
520
- const getNotifyAppReadyInsightsEvent = result => {
538
+ const getLaunchTransition = result => {
521
539
  const transition = getNotifyAppReadyTransition(result);
522
540
  if (!transition || !isPersistedUpdateStrategy(result.updateStrategy)) {
523
541
  return null;
@@ -526,12 +544,8 @@ const getNotifyAppReadyInsightsEvent = result => {
526
544
  type: transition.status,
527
545
  fromBundleId: transition.fromBundleId,
528
546
  toBundleId: transition.toBundleId,
529
- ...(transition.fromReleaseId === null ? {} : {
530
- fromReleaseId: transition.fromReleaseId
531
- }),
532
- ...(transition.toReleaseId === null ? {} : {
533
- toReleaseId: transition.toReleaseId
534
- }),
547
+ fromReleaseId: transition.fromReleaseId,
548
+ toReleaseId: transition.toReleaseId,
535
549
  updateStrategy: result.updateStrategy
536
550
  };
537
551
  };
@@ -558,7 +572,7 @@ export const readNotifyAppReady = () => {
558
572
  const rawResult = readRawNotifyAppReadyResult();
559
573
  return {
560
574
  result: normalizeNotifyAppReadyResult(rawResult),
561
- insightsEvent: getNotifyAppReadyInsightsEvent(rawResult),
575
+ transition: getLaunchTransition(rawResult),
562
576
  pending: rawResult.status === "PENDING"
563
577
  };
564
578
  };
@@ -575,7 +589,7 @@ export const readNotifyAppReady = () => {
575
589
  *
576
590
  * @example
577
591
  * ```ts
578
- * const result = HotUpdater.notifyAppReady();
592
+ * const result = hotUpdater.notifyAppReady();
579
593
  *
580
594
  * if (result.status === "RECOVERED") {
581
595
  * console.log(result.fromBundleId, result.toBundleId);
@@ -1 +1 @@
1
- {"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","updateBundle","params","updateBundleId","status","targetFileUrl","fileUrl","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetFileHash","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetChangedAssets","changedAssets","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getUpdateId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","getPersistedUserIdentity","getUserId","getUsername","userId","username","setUser","normalizedUserId","String","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getNotifyAppReadyInsightsEvent","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","insightsEvent","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","readBundleDelivery","delivery","patchFallback","stageBundle","params","updateBundleId","status","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetAssets","staged","updateBundle","archiveUrl","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getUpdateId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","requireStorageNativeMethod","getStorageItem","setStorageItem","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getLaunchTransition","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ import { createPluginHost } from "@hot-updater/protocol";
4
+ import { Platform } from "react-native";
5
+ import { getAppVersion, getBundleId, getChannel, getCohort, getFingerprintHash, getInstallId, getMinBundleId, getStorageItem, setStorageItem } from "./native.js";
6
+ import { HOT_UPDATER_SDK_VERSION } from "./sdkVersion.js";
7
+ /** The native module and runtime every plugin host reads. */
8
+ const environment = {
9
+ fetch: (url, init) => fetch(url, init),
10
+ get platform() {
11
+ return Platform.OS === "android" ? "android" : "ios";
12
+ },
13
+ get isDebugBuild() {
14
+ return typeof __DEV__ !== "undefined" && __DEV__;
15
+ },
16
+ get sdkVersion() {
17
+ return HOT_UPDATER_SDK_VERSION;
18
+ },
19
+ getInstallId: () => getInstallId(),
20
+ getAppVersion: () => getAppVersion(),
21
+ getMinBundleId: () => getMinBundleId(),
22
+ getBundleId: () => getBundleId(),
23
+ getChannel: () => getChannel(),
24
+ getCohort: () => getCohort(),
25
+ getFingerprintHash: () => getFingerprintHash(),
26
+ getStorageItem: key => getStorageItem(key),
27
+ setStorageItem: (key, value) => setStorageItem(key, value),
28
+ now: () => Date.now()
29
+ };
30
+
31
+ /**
32
+ * Creates an instance's plugin host: its plugins read the native module and
33
+ * fetch the server the instance was configured with.
34
+ */
35
+ export const createAppPluginHost = () => createPluginHost(environment);
36
+ //# sourceMappingURL=pluginHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPluginHost","Platform","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getMinBundleId","getStorageItem","setStorageItem","HOT_UPDATER_SDK_VERSION","environment","fetch","url","init","platform","OS","isDebugBuild","__DEV__","sdkVersion","key","value","now","Date","createAppPluginHost"],"sourceRoot":"../../src","sources":["pluginHost.ts"],"mappings":";;AAAA,SACEA,gBAAgB,QAGX,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SACEC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,kBAAkB,EAClBC,YAAY,EACZC,cAAc,EACdC,cAAc,EACdC,cAAc,QACT,aAAU;AACjB,SAASC,uBAAuB,QAAQ,iBAAc;AAItD;AACA,MAAMC,WAAkC,GAAG;EACzCC,KAAK,EAAEA,CAACC,GAAG,EAAEC,IAAI,KAAKF,KAAK,CAACC,GAAG,EAAEC,IAAI,CAAC;EACtC,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAOf,QAAQ,CAACgB,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK;EACtD,CAAC;EACD,IAAIC,YAAYA,CAAA,EAAG;IACjB,OAAO,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO;EAClD,CAAC;EACD,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAOT,uBAAuB;EAChC,CAAC;EACDJ,YAAY,EAAEA,CAAA,KAAMA,YAAY,CAAC,CAAC;EAClCL,aAAa,EAAEA,CAAA,KAAMA,aAAa,CAAC,CAAC;EACpCM,cAAc,EAAEA,CAAA,KAAMA,cAAc,CAAC,CAAC;EACtCL,WAAW,EAAEA,CAAA,KAAMA,WAAW,CAAC,CAAC;EAChCC,UAAU,EAAEA,CAAA,KAAMA,UAAU,CAAC,CAAC;EAC9BC,SAAS,EAAEA,CAAA,KAAMA,SAAS,CAAC,CAAC;EAC5BC,kBAAkB,EAAEA,CAAA,KAAMA,kBAAkB,CAAC,CAAC;EAC9CG,cAAc,EAAGY,GAAG,IAAKZ,cAAc,CAACY,GAAG,CAAC;EAC5CX,cAAc,EAAEA,CAACW,GAAG,EAAEC,KAAK,KAAKZ,cAAc,CAACW,GAAG,EAAEC,KAAK,CAAC;EAC1DC,GAAG,EAAEA,CAAA,KAAMC,IAAI,CAACD,GAAG,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAME,mBAAmB,GAAGA,CAAA,KACjCzB,gBAAgB,CAACY,WAAW,CAAC","ignoreList":[]}
@@ -1,64 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import { MAX_TARGET_COHORTS_PER_RELEASE, MAX_COMPILED_CATALOG_BYTES, MAX_DISTINCT_TARGET_COHORTS_PER_SCOPE, NUMERIC_COHORT_SIZE, isUUIDv7, parseReleaseCatalogScopeKey } from "@hot-updater/core";
3
+ import { getUtf8ByteLength, MAX_RELEASE_CATALOG_WIRE_BYTES, parseReleaseCatalog } from "@hot-updater/protocol";
4
+ import { fetchUpdateResponse } from "./fetchUpdateResponse.js";
5
+ import { InvalidUpdateResponseError, UpdateHttpError } from "./updateError.js";
4
6
  const CACHE_FORMAT_VERSION = "1";
5
7
  const MAX_ETAG_BYTES = 1024;
6
- export const MAX_RELEASE_CATALOG_WIRE_BYTES = MAX_COMPILED_CATALOG_BYTES * 2 + 4 * 1024;
7
8
  export const MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES = MAX_RELEASE_CATALOG_WIRE_BYTES + MAX_ETAG_BYTES + 3;
8
9
  const readNativeReleaseCatalogCache = async partition => (await import("./catalogCacheNative")).readNativeReleaseCatalogCache(partition);
9
10
  const writeNativeReleaseCatalogCache = async (partition, payload) => (await import("./catalogCacheNative")).writeNativeReleaseCatalogCache(partition, payload);
10
11
  const removeNativeReleaseCatalogCache = async partition => (await import("./catalogCacheNative")).removeNativeReleaseCatalogCache(partition);
11
12
  let lastParsedCache = null;
12
- const getUtf8ByteLength = value => {
13
- let bytes = 0;
14
- for (let index = 0; index < value.length; index += 1) {
15
- const code = value.charCodeAt(index);
16
- if (code <= 0x7f) {
17
- bytes += 1;
18
- } else if (code <= 0x7ff) {
19
- bytes += 2;
20
- } else if (code >= 0xd800 && code <= 0xdbff && index + 1 < value.length && value.charCodeAt(index + 1) >= 0xdc00 && value.charCodeAt(index + 1) <= 0xdfff) {
21
- bytes += 4;
22
- index += 1;
23
- } else {
24
- bytes += 3;
25
- }
26
- }
27
- return bytes;
28
- };
29
- const isStringArray = value => Array.isArray(value) && value.every(entry => typeof entry === "string");
30
- const isValidReleaseDescriptor = value => {
31
- if (value === null || typeof value !== "object") return false;
32
- const descriptor = value;
33
- return isUUIDv7(descriptor.releaseId) && (descriptor.kind === "BUNDLE" || descriptor.kind === "EMBEDDED") && (descriptor.kind === "BUNDLE" && typeof descriptor.bundleId === "string" || descriptor.kind === "EMBEDDED" && descriptor.bundleId === null) && Number.isSafeInteger(descriptor.rolloutCohortCount) && descriptor.rolloutCohortCount >= 0 && descriptor.rolloutCohortCount <= NUMERIC_COHORT_SIZE && isStringArray(descriptor.targetCohorts) && descriptor.targetCohorts.length <= MAX_TARGET_COHORTS_PER_RELEASE && typeof descriptor.shouldForceUpdate === "boolean" && (descriptor.message === null || typeof descriptor.message === "string");
34
- };
35
- export const hasExpectedReleaseCatalogScope = (catalog, expected) => {
36
- try {
37
- const parsed = parseReleaseCatalogScopeKey(catalog.scopeKey);
38
- return parsed.channelKey === expected.channelKey && parsed.platform === expected.platform && parsed.strategy === expected.strategy && (parsed.strategy === "APP_VERSION" || expected.strategy === "FINGERPRINT" && parsed.fingerprintHash === expected.fingerprintHash);
39
- } catch {
40
- return false;
41
- }
42
- };
43
- const parseValidatedCatalog = (value, expectedScope) => {
44
- if (getUtf8ByteLength(value) > MAX_RELEASE_CATALOG_WIRE_BYTES) return null;
45
- try {
46
- const catalog = JSON.parse(value);
47
- if (catalog.schemaVersion !== 1 || typeof catalog.catalogId !== "string" || catalog.catalogId.length === 0 || typeof catalog.scopeKey !== "string" || !Number.isSafeInteger(catalog.generation) || (catalog.generation ?? 0) < 1 || typeof catalog.catalogHash !== "string" || !/^sha256:[0-9a-f]{64}$/.test(catalog.catalogHash) || catalog.fallbackPolicy !== "BUILTIN_IF_ACTIVE_INELIGIBLE" || !Array.isArray(catalog.releases) || !catalog.releases.every(isValidReleaseDescriptor) || catalog.rollbackReleases !== undefined && (!Array.isArray(catalog.rollbackReleases) || !catalog.rollbackReleases.every(isValidReleaseDescriptor))) {
48
- return null;
49
- }
50
- if (!hasExpectedReleaseCatalogScope(catalog, expectedScope)) {
51
- return null;
52
- }
53
- const distinctTargetCohorts = new Set([...catalog.releases, ...(catalog.rollbackReleases ?? [])].flatMap(release => release.targetCohorts));
54
- if (distinctTargetCohorts.size > MAX_DISTINCT_TARGET_COHORTS_PER_SCOPE) {
55
- return null;
56
- }
57
- return catalog;
58
- } catch {
59
- return null;
60
- }
61
- };
62
13
  const isValidETag = value => value !== null && value.length > 0 && !value.includes("\r") && !value.includes("\n") && getUtf8ByteLength(value) <= MAX_ETAG_BYTES;
63
14
  const serializeCache = (etag, body) => `${CACHE_FORMAT_VERSION}\n${etag}\n${body}`;
64
15
  const parseCache = (value, expectedScope, partition) => {
@@ -73,7 +24,7 @@ const parseCache = (value, expectedScope, partition) => {
73
24
  const etag = value.slice(versionEnd + 1, etagEnd);
74
25
  const body = value.slice(etagEnd + 1);
75
26
  if (!isValidETag(etag)) return null;
76
- const catalog = parseValidatedCatalog(body, expectedScope);
27
+ const catalog = parseReleaseCatalog(body, expectedScope);
77
28
  if (catalog === null) return null;
78
29
  const parsed = {
79
30
  catalog,
@@ -94,29 +45,16 @@ export const createReleaseCatalogCachePartition = input => JSON.stringify({
94
45
  url: input.url,
95
46
  version: 2
96
47
  });
97
- const fetchCatalogResponse = async (input, etag) => {
98
- const controller = new AbortController();
99
- const timeoutId = setTimeout(() => controller.abort(), input.requestTimeout ?? 5000);
100
- try {
101
- const headers = new Headers(input.requestHeaders);
102
- headers.set("Accept", "application/json");
103
- if (etag === undefined) {
104
- headers.delete("If-None-Match");
105
- } else {
106
- headers.set("If-None-Match", etag);
107
- }
108
- return await fetch(input.url, {
109
- headers,
110
- signal: controller.signal
111
- });
112
- } catch (error) {
113
- if (error instanceof Error && error.name === "AbortError") {
114
- throw new Error("Request timed out");
115
- }
116
- throw error;
117
- } finally {
118
- clearTimeout(timeoutId);
119
- }
48
+ const isEmptyCatalogResponse = response => response.status === 404 && response.headers.get("x-hot-updater-catalog")?.trim().toLowerCase() === "none";
49
+ const fetchCatalogResponse = (input, etag) => {
50
+ const headers = new Headers(input.requestHeaders);
51
+ headers.set("Accept", "application/json");
52
+ if (etag === undefined) headers.delete("If-None-Match");else headers.set("If-None-Match", etag);
53
+ return fetchUpdateResponse({
54
+ ...input,
55
+ resource: "catalog",
56
+ requestHeaders: Object.fromEntries(headers.entries())
57
+ });
120
58
  };
121
59
  const readValidatedCache = async (partition, expectedScope) => {
122
60
  const value = await readNativeReleaseCatalogCache(partition);
@@ -127,15 +65,22 @@ const readValidatedCache = async (partition, expectedScope) => {
127
65
  }
128
66
  return cached;
129
67
  };
130
- const consumeSuccessfulResponse = async (response, input, partition) => {
68
+ const consumeSuccessfulResponse = async ({
69
+ response,
70
+ body
71
+ }, input, partition) => {
72
+ // The server marks the 404 of a scope that has no catalog yet: no update,
73
+ // not a failure. Any other 404 is a wrong baseURL or route.
74
+ if (isEmptyCatalogResponse(response)) {
75
+ return null;
76
+ }
131
77
  if (response.status !== 200) {
132
- throw new Error(response.statusText);
78
+ throw new UpdateHttpError(response.status, response.statusText);
133
79
  }
134
- const body = await response.text();
135
- const catalog = parseValidatedCatalog(body, input.expectedScope);
80
+ const catalog = parseReleaseCatalog(body, input.expectedScope);
136
81
  if (catalog === null) {
137
82
  await removeNativeReleaseCatalogCache(partition);
138
- throw new Error("Received an invalid Release catalog");
83
+ throw new InvalidUpdateResponseError("Received an invalid Release catalog");
139
84
  }
140
85
  const etag = response.headers.get("etag");
141
86
  if (isValidETag(etag)) {
@@ -157,11 +102,16 @@ const consumeSuccessfulResponse = async (response, input, partition) => {
157
102
  }
158
103
  return catalog;
159
104
  };
105
+
106
+ /**
107
+ * Fetches a scope's catalog, or null when the server answers that the scope
108
+ * has none (a 404 with `x-hot-updater-catalog: none`).
109
+ */
160
110
  export const fetchReleaseCatalogWithCache = async input => {
161
111
  const partition = createReleaseCatalogCachePartition(input);
162
112
  const cached = await readValidatedCache(partition, input.expectedScope);
163
113
  const response = await fetchCatalogResponse(input, cached?.etag);
164
- if (response.status === 304) {
114
+ if (response.response.status === 304) {
165
115
  if (cached !== null) return cached.catalog;
166
116
  const repairResponse = await fetchCatalogResponse(input);
167
117
  return consumeSuccessfulResponse(repairResponse, input, partition);