@hot-updater/react-native 1.0.0-rc.16 → 1.0.0-rc.17

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 (316) hide show
  1. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +491 -388
  2. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +5 -11
  3. package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
  4. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +290 -12
  5. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +35 -19
  6. package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
  7. package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
  8. package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
  9. package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
  10. package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +110 -52
  11. package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
  12. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
  13. package/android/src/newarch/HotUpdaterModule.kt +74 -69
  14. package/android/src/oldarch/HotUpdaterModule.kt +63 -59
  15. package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
  16. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +1 -1
  17. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +446 -61
  18. package/android/src/test/java/com/hotupdater/HotUpdaterExceptionTest.kt +220 -0
  19. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +19 -27
  20. package/android/src/test/java/com/hotupdater/InstallIdentityServiceTest.kt +71 -0
  21. package/android/src/test/java/com/hotupdater/KeyValueStorageServiceTest.kt +106 -0
  22. package/android/src/test/java/com/hotupdater/NoBackupContext.kt +11 -0
  23. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +309 -23
  24. package/android/src/test/java/com/hotupdater/PreviousProcessExitTest.kt +57 -0
  25. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +238 -157
  26. package/ios/HotUpdater/Internal/BundleMetadata.swift +3 -53
  27. package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
  28. package/ios/HotUpdater/Internal/HotUpdater.mm +8 -18
  29. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +48 -29
  30. package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
  31. package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +108 -1
  32. package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
  33. package/lib/commonjs/appReady.js +111 -0
  34. package/lib/commonjs/appReady.js.map +1 -0
  35. package/lib/commonjs/appReady.spec.js +360 -0
  36. package/lib/commonjs/appReady.spec.js.map +1 -0
  37. package/lib/commonjs/{notifyAppReadyInsights.test-utils.js → appReady.test-utils.js} +4 -3
  38. package/lib/commonjs/appReady.test-utils.js.map +1 -0
  39. package/lib/commonjs/baseURL.js +16 -0
  40. package/lib/commonjs/baseURL.js.map +1 -0
  41. package/lib/commonjs/checkForUpdate.js +104 -56
  42. package/lib/commonjs/checkForUpdate.js.map +1 -1
  43. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +337 -74
  44. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -1
  45. package/lib/commonjs/clientPlugin.js +49 -0
  46. package/lib/commonjs/clientPlugin.js.map +1 -0
  47. package/lib/commonjs/entryImportGraph.spec.js +50 -0
  48. package/lib/commonjs/entryImportGraph.spec.js.map +1 -0
  49. package/lib/commonjs/fetchJSON.js +2 -6
  50. package/lib/commonjs/fetchJSON.js.map +1 -1
  51. package/lib/commonjs/httpClient.js +18 -165
  52. package/lib/commonjs/httpClient.js.map +1 -1
  53. package/lib/commonjs/httpClient.spec.js +26 -199
  54. package/lib/commonjs/httpClient.spec.js.map +1 -1
  55. package/lib/commonjs/index.js +49 -36
  56. package/lib/commonjs/index.js.map +1 -1
  57. package/lib/commonjs/index.spec.js +108 -123
  58. package/lib/commonjs/index.spec.js.map +1 -1
  59. package/lib/commonjs/native.js +67 -48
  60. package/lib/commonjs/native.js.map +1 -1
  61. package/lib/commonjs/native.spec.js +80 -58
  62. package/lib/commonjs/native.spec.js.map +1 -1
  63. package/lib/commonjs/pluginHost.js +208 -0
  64. package/lib/commonjs/pluginHost.js.map +1 -0
  65. package/lib/commonjs/pluginHost.spec.js +292 -0
  66. package/lib/commonjs/pluginHost.spec.js.map +1 -0
  67. package/lib/commonjs/plugins/insights/eventId.js +129 -0
  68. package/lib/commonjs/plugins/insights/eventId.js.map +1 -0
  69. package/lib/commonjs/plugins/insights/eventId.spec.js +47 -0
  70. package/lib/commonjs/plugins/insights/eventId.spec.js.map +1 -0
  71. package/lib/commonjs/plugins/insights/index.js +272 -0
  72. package/lib/commonjs/plugins/insights/index.js.map +1 -0
  73. package/lib/commonjs/plugins/insights/insights.spec.js +640 -0
  74. package/lib/commonjs/plugins/insights/insights.spec.js.map +1 -0
  75. package/lib/commonjs/plugins/insights/sender.js +128 -0
  76. package/lib/commonjs/plugins/insights/sender.js.map +1 -0
  77. package/lib/commonjs/plugins/insights/sender.spec.js +265 -0
  78. package/lib/commonjs/plugins/insights/sender.spec.js.map +1 -0
  79. package/lib/commonjs/plugins/insights/state.js +145 -0
  80. package/lib/commonjs/plugins/insights/state.js.map +1 -0
  81. package/lib/commonjs/releaseCatalogCache.js +13 -2
  82. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  83. package/lib/commonjs/releaseCatalogCache.spec.js +18 -0
  84. package/lib/commonjs/releaseCatalogCache.spec.js.map +1 -1
  85. package/lib/commonjs/sdkVersion.js +1 -1
  86. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  87. package/lib/commonjs/updateError.js +132 -0
  88. package/lib/commonjs/updateError.js.map +1 -0
  89. package/lib/commonjs/updateError.spec.js +149 -0
  90. package/lib/commonjs/updateError.spec.js.map +1 -0
  91. package/lib/commonjs/wrap.js +43 -25
  92. package/lib/commonjs/wrap.js.map +1 -1
  93. package/lib/commonjs/wrap.progress.spec.js +195 -0
  94. package/lib/commonjs/wrap.progress.spec.js.map +1 -0
  95. package/lib/commonjs/wrap.spec.js +94 -230
  96. package/lib/commonjs/wrap.spec.js.map +1 -1
  97. package/lib/module/appReady.js +103 -0
  98. package/lib/module/appReady.js.map +1 -0
  99. package/lib/module/appReady.spec.js +359 -0
  100. package/lib/module/appReady.spec.js.map +1 -0
  101. package/lib/module/{notifyAppReadyInsights.test-utils.js → appReady.test-utils.js} +4 -3
  102. package/lib/module/appReady.test-utils.js.map +1 -0
  103. package/lib/module/baseURL.js +11 -0
  104. package/lib/module/baseURL.js.map +1 -0
  105. package/lib/module/checkForUpdate.js +103 -57
  106. package/lib/module/checkForUpdate.js.map +1 -1
  107. package/lib/module/checkForUpdate.releaseCatalog.spec.js +337 -74
  108. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -1
  109. package/lib/module/clientPlugin.js +44 -0
  110. package/lib/module/clientPlugin.js.map +1 -0
  111. package/lib/module/entryImportGraph.spec.js +50 -0
  112. package/lib/module/entryImportGraph.spec.js.map +1 -0
  113. package/lib/module/fetchJSON.js +2 -6
  114. package/lib/module/fetchJSON.js.map +1 -1
  115. package/lib/module/httpClient.js +18 -165
  116. package/lib/module/httpClient.js.map +1 -1
  117. package/lib/module/httpClient.spec.js +27 -200
  118. package/lib/module/httpClient.spec.js.map +1 -1
  119. package/lib/module/index.js +44 -38
  120. package/lib/module/index.js.map +1 -1
  121. package/lib/module/index.spec.js +108 -123
  122. package/lib/module/index.spec.js.map +1 -1
  123. package/lib/module/native.js +63 -44
  124. package/lib/module/native.js.map +1 -1
  125. package/lib/module/native.spec.js +80 -58
  126. package/lib/module/native.spec.js.map +1 -1
  127. package/lib/module/pluginHost.js +200 -0
  128. package/lib/module/pluginHost.js.map +1 -0
  129. package/lib/module/pluginHost.spec.js +291 -0
  130. package/lib/module/pluginHost.spec.js.map +1 -0
  131. package/lib/module/plugins/insights/eventId.js +122 -0
  132. package/lib/module/plugins/insights/eventId.js.map +1 -0
  133. package/lib/module/plugins/insights/eventId.spec.js +47 -0
  134. package/lib/module/plugins/insights/eventId.spec.js.map +1 -0
  135. package/lib/module/plugins/insights/index.js +268 -0
  136. package/lib/module/plugins/insights/index.js.map +1 -0
  137. package/lib/module/plugins/insights/insights.spec.js +639 -0
  138. package/lib/module/plugins/insights/insights.spec.js.map +1 -0
  139. package/lib/module/plugins/insights/sender.js +123 -0
  140. package/lib/module/plugins/insights/sender.js.map +1 -0
  141. package/lib/module/plugins/insights/sender.spec.js +265 -0
  142. package/lib/module/plugins/insights/sender.spec.js.map +1 -0
  143. package/lib/module/plugins/insights/state.js +139 -0
  144. package/lib/module/plugins/insights/state.js.map +1 -0
  145. package/lib/module/releaseCatalogCache.js +13 -2
  146. package/lib/module/releaseCatalogCache.js.map +1 -1
  147. package/lib/module/releaseCatalogCache.spec.js +18 -0
  148. package/lib/module/releaseCatalogCache.spec.js.map +1 -1
  149. package/lib/module/sdkVersion.js +1 -1
  150. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  151. package/lib/module/updateError.js +126 -0
  152. package/lib/module/updateError.js.map +1 -0
  153. package/lib/module/updateError.spec.js +149 -0
  154. package/lib/module/updateError.spec.js.map +1 -0
  155. package/lib/module/wrap.js +43 -25
  156. package/lib/module/wrap.js.map +1 -1
  157. package/lib/module/wrap.progress.spec.js +196 -0
  158. package/lib/module/wrap.progress.spec.js.map +1 -0
  159. package/lib/module/wrap.spec.js +93 -229
  160. package/lib/module/wrap.spec.js.map +1 -1
  161. package/lib/typescript/commonjs/appReady.d.ts +23 -0
  162. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/appReady.test-utils.d.ts +9 -0
  164. package/lib/typescript/commonjs/appReady.test-utils.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/baseURL.d.ts +4 -0
  166. package/lib/typescript/commonjs/baseURL.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/checkForUpdate.d.ts +15 -2
  168. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/clientPlugin.d.ts +185 -0
  170. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/fetchJSON.d.ts +2 -3
  172. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/httpClient.d.ts +2 -36
  174. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/index.d.ts +3 -6
  176. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/native.d.ts +29 -15
  178. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/pluginHost.d.ts +29 -0
  180. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/plugins/insights/eventId.d.ts +18 -0
  182. package/lib/typescript/commonjs/plugins/insights/eventId.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/plugins/insights/index.d.ts +40 -0
  184. package/lib/typescript/commonjs/plugins/insights/index.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/plugins/insights/sender.d.ts +74 -0
  186. package/lib/typescript/commonjs/plugins/insights/sender.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/plugins/insights/state.d.ts +46 -0
  188. package/lib/typescript/commonjs/plugins/insights/state.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +5 -1
  190. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  191. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  192. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +34 -12
  193. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  195. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/wrap.types.d.ts +6 -10
  198. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  199. package/lib/typescript/module/appReady.d.ts +23 -0
  200. package/lib/typescript/module/appReady.d.ts.map +1 -0
  201. package/lib/typescript/module/appReady.test-utils.d.ts +9 -0
  202. package/lib/typescript/module/appReady.test-utils.d.ts.map +1 -0
  203. package/lib/typescript/module/baseURL.d.ts +4 -0
  204. package/lib/typescript/module/baseURL.d.ts.map +1 -0
  205. package/lib/typescript/module/checkForUpdate.d.ts +15 -2
  206. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  207. package/lib/typescript/module/clientPlugin.d.ts +185 -0
  208. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  209. package/lib/typescript/module/fetchJSON.d.ts +2 -3
  210. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  211. package/lib/typescript/module/httpClient.d.ts +2 -36
  212. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  213. package/lib/typescript/module/index.d.ts +3 -6
  214. package/lib/typescript/module/index.d.ts.map +1 -1
  215. package/lib/typescript/module/native.d.ts +29 -15
  216. package/lib/typescript/module/native.d.ts.map +1 -1
  217. package/lib/typescript/module/pluginHost.d.ts +29 -0
  218. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  219. package/lib/typescript/module/plugins/insights/eventId.d.ts +18 -0
  220. package/lib/typescript/module/plugins/insights/eventId.d.ts.map +1 -0
  221. package/lib/typescript/module/plugins/insights/index.d.ts +40 -0
  222. package/lib/typescript/module/plugins/insights/index.d.ts.map +1 -0
  223. package/lib/typescript/module/plugins/insights/sender.d.ts +74 -0
  224. package/lib/typescript/module/plugins/insights/sender.d.ts.map +1 -0
  225. package/lib/typescript/module/plugins/insights/state.d.ts +46 -0
  226. package/lib/typescript/module/plugins/insights/state.d.ts.map +1 -0
  227. package/lib/typescript/module/releaseCatalogCache.d.ts +5 -1
  228. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  229. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  230. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +34 -12
  231. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  232. package/lib/typescript/module/updateError.d.ts +26 -0
  233. package/lib/typescript/module/updateError.d.ts.map +1 -0
  234. package/lib/typescript/module/wrap.d.ts.map +1 -1
  235. package/lib/typescript/module/wrap.types.d.ts +6 -10
  236. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  237. package/package.json +14 -2
  238. package/plugins/insights/package.json +8 -0
  239. package/src/appReady.spec.ts +393 -0
  240. package/src/{notifyAppReadyInsights.test-utils.ts → appReady.test-utils.ts} +7 -7
  241. package/src/appReady.ts +149 -0
  242. package/src/baseURL.ts +15 -0
  243. package/src/checkForUpdate.releaseCatalog.spec.ts +370 -76
  244. package/src/checkForUpdate.ts +135 -80
  245. package/src/clientPlugin.ts +231 -0
  246. package/src/entryImportGraph.spec.ts +65 -0
  247. package/src/fetchJSON.ts +3 -10
  248. package/src/httpClient.spec.ts +30 -227
  249. package/src/httpClient.ts +20 -256
  250. package/src/index.spec.ts +117 -93
  251. package/src/index.ts +67 -52
  252. package/src/native.spec.ts +98 -72
  253. package/src/native.ts +93 -77
  254. package/src/pluginHost.spec.ts +297 -0
  255. package/src/pluginHost.ts +262 -0
  256. package/src/plugins/insights/eventId.spec.ts +60 -0
  257. package/src/plugins/insights/eventId.ts +171 -0
  258. package/src/plugins/insights/index.ts +367 -0
  259. package/src/plugins/insights/insights.spec.ts +732 -0
  260. package/src/plugins/insights/sender.spec.ts +287 -0
  261. package/src/plugins/insights/sender.ts +221 -0
  262. package/src/plugins/insights/state.ts +184 -0
  263. package/src/releaseCatalogCache.spec.ts +22 -0
  264. package/src/releaseCatalogCache.ts +19 -4
  265. package/src/sdkVersion.ts +1 -1
  266. package/src/specs/NativeHotUpdater.ts +34 -13
  267. package/src/updateError.spec.ts +144 -0
  268. package/src/updateError.ts +153 -0
  269. package/src/wrap.progress.spec.ts +232 -0
  270. package/src/wrap.spec.ts +100 -283
  271. package/src/wrap.tsx +57 -26
  272. package/src/wrap.types.ts +6 -12
  273. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -225
  274. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  275. package/lib/commonjs/notifyAppReadyInsights.js +0 -188
  276. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  277. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -378
  278. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  279. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  280. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -171
  281. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  282. package/lib/commonjs/uuidv7.js +0 -41
  283. package/lib/commonjs/uuidv7.js.map +0 -1
  284. package/lib/commonjs/uuidv7.spec.js +0 -30
  285. package/lib/commonjs/uuidv7.spec.js.map +0 -1
  286. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -224
  287. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  288. package/lib/module/notifyAppReadyInsights.js +0 -181
  289. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  290. package/lib/module/notifyAppReadyInsights.spec.js +0 -377
  291. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  292. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  293. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -170
  294. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  295. package/lib/module/uuidv7.js +0 -36
  296. package/lib/module/uuidv7.js.map +0 -1
  297. package/lib/module/uuidv7.spec.js +0 -30
  298. package/lib/module/uuidv7.spec.js.map +0 -1
  299. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -25
  300. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  301. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  302. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  303. package/lib/typescript/commonjs/uuidv7.d.ts +0 -10
  304. package/lib/typescript/commonjs/uuidv7.d.ts.map +0 -1
  305. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -25
  306. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  307. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  308. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  309. package/lib/typescript/module/uuidv7.d.ts +0 -10
  310. package/lib/typescript/module/uuidv7.d.ts.map +0 -1
  311. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -242
  312. package/src/notifyAppReadyInsights.spec.ts +0 -362
  313. package/src/notifyAppReadyInsights.transport.spec.ts +0 -196
  314. package/src/notifyAppReadyInsights.ts +0 -293
  315. package/src/uuidv7.spec.ts +0 -25
  316. package/src/uuidv7.ts +0 -38
@@ -3,15 +3,16 @@
3
3
  import { authorizeReleaseTransition, createReleaseSelectionContextHash, encodeChannelKey, selectDesiredRelease } from "@hot-updater/core";
4
4
  import { canonicalizeAppVersion } from "@hot-updater/plugin-core";
5
5
  import { Platform } from "react-native";
6
+ import { emitAfterAppReady, getPreviousProcessExit, getRunningReleaseId } from "./appReady.js";
6
7
  import { HotUpdaterError, StaleReleaseCatalogError } from "./error.js";
7
- import { acceptReleaseCatalog, commitReleaseSelection, getActiveUpdateState, getAppVersion, getBundleId, getChannel, getCohort, getDefaultChannel, getFingerprintHash, getInstallId, getMinBundleId, getCrashHistory, getPersistedUserIdentity, isReleaseSelectionCurrent, isChannelSwitched, updateBundle } from "./native.js";
8
- import { reportBundleDownloaded } from "./notifyAppReadyInsights.js";
8
+ import { acceptReleaseCatalog, commitReleaseSelection, getActiveUpdateState, getAppVersion, getBundleId, getChannel, getCohort, getDefaultChannel, getFingerprintHash, getMinBundleId, getCrashHistory, isReleaseSelectionCurrent, isChannelSwitched, stageBundle } from "./native.js";
9
9
  import { hasExpectedReleaseCatalogScope } from "./releaseCatalogCache.js";
10
10
  import { hotUpdaterStore } from "./store.js";
11
+ import { classifyUpdateError, InvalidUpdateResponseError } from "./updateError.js";
11
12
  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;
12
13
  const validateCatalog = (catalog, expectedScope) => {
13
14
  if (catalog.schemaVersion !== 1 || !Number.isSafeInteger(catalog.generation) || catalog.generation < 1 || !/^sha256:[0-9a-f]{64}$/.test(catalog.catalogHash) || !hasExpectedReleaseCatalogScope(catalog, expectedScope)) {
14
- throw new HotUpdaterError("Received an invalid Release catalog");
15
+ throw new InvalidUpdateResponseError("Received an invalid Release catalog");
15
16
  }
16
17
  };
17
18
  const resetProgress = () => {
@@ -22,37 +23,36 @@ const resetProgress = () => {
22
23
  progress: 0
23
24
  });
24
25
  };
25
- const notifyUnchangedSelection = async input => {
26
- const {
27
- userId,
28
- username
29
- } = getPersistedUserIdentity();
30
- try {
31
- await input.session.sendInsightsEvent({
32
- appVersion: input.appVersion,
33
- channel: input.desired.channel,
34
- cohort: input.cohort,
35
- fingerprintHash: input.fingerprintHash,
36
- fromBundleId: null,
37
- fromReleaseId: input.active?.releaseId ?? null,
38
- installId: getInstallId(),
39
- platform: input.platform,
40
- requestHeaders: input.requestHeaders,
41
- requestTimeout: input.requestTimeout,
42
- toBundleId: input.desired.bundleId,
43
- toReleaseId: input.desired.releaseId,
44
- type: "UNCHANGED",
45
- updateStrategy: null,
46
- ...(userId === undefined ? {} : {
47
- userId
26
+
27
+ /** The running bundle, the channel checked, and the update's target. */
28
+
29
+ /**
30
+ * Tells plugins why an update failed, when it failed as an update. An error
31
+ * the SDK's JavaScript raised happened in `stage`, fetching `resource`.
32
+ */
33
+ export const reportUpdateError = (error, stage, resource, scope) => {
34
+ emitAfterAppReady("onUpdateError", () => {
35
+ const classification = classifyUpdateError(error, stage, resource);
36
+ if (classification === null) return null;
37
+ const previousProcessExit = getPreviousProcessExit();
38
+ return {
39
+ ...classification,
40
+ ...(previousProcessExit === null ? {} : {
41
+ previousProcessExit
48
42
  }),
49
- ...(username === undefined ? {} : {
50
- username
51
- })
52
- });
53
- } catch (error) {
54
- console.warn("[HotUpdater] Unchanged selection insights failed:", error);
55
- }
43
+ channel: scope.channel,
44
+ bundleId: scope.bundleId,
45
+ releaseId: getRunningReleaseId(scope.bundleId, getChannel()),
46
+ updateStrategy: scope.updateStrategy,
47
+ ...(scope.targetBundleId === undefined ? {} : {
48
+ targetBundleId: scope.targetBundleId
49
+ }),
50
+ ...(scope.targetReleaseId == null ? {} : {
51
+ targetReleaseId: scope.targetReleaseId
52
+ }),
53
+ cause: error
54
+ };
55
+ });
56
56
  };
57
57
  async function checkForReleaseCatalogUpdate(input) {
58
58
  const {
@@ -87,6 +87,8 @@ async function checkForReleaseCatalogUpdate(input) {
87
87
  requestTimeout: options.requestTimeout,
88
88
  updateStrategy: options.updateStrategy
89
89
  });
90
+ // The server says this scope has no catalog yet: no update, not a failure.
91
+ if (catalog === null) return null;
90
92
  validateCatalog(catalog, expectedScope);
91
93
  const catalogId = catalog.catalogId;
92
94
  const scopeKey = catalog.scopeKey;
@@ -117,7 +119,7 @@ async function checkForReleaseCatalogUpdate(input) {
117
119
  selectionContextHash,
118
120
  scopeKey
119
121
  })) {
120
- throw new HotUpdaterError("Rejected a stale or inconsistent Release catalog");
122
+ throw new InvalidUpdateResponseError("Rejected a stale or inconsistent Release catalog");
121
123
  }
122
124
  const desired = selectDesiredRelease(catalog, {
123
125
  activeReleaseId: activeInTargetScope?.releaseId ?? null,
@@ -162,7 +164,15 @@ async function checkForReleaseCatalogUpdate(input) {
162
164
  scopeKey,
163
165
  selectionContextHash
164
166
  };
165
- 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 () => {
166
176
  resetProgress();
167
177
  if (!isReleaseSelectionCurrent(guard)) {
168
178
  throw new StaleReleaseCatalogError();
@@ -172,18 +182,14 @@ async function checkForReleaseCatalogUpdate(input) {
172
182
  guard,
173
183
  selection: receipt
174
184
  });
175
- if (committed && transitionKind === "ADOPT_RELEASE" && options.insights) {
176
- await notifyUnchangedSelection({
177
- active,
178
- appVersion: input.currentAppVersion,
179
- cohort: input.cohort,
180
- desired: receipt,
181
- fingerprintHash: input.fingerprintHash,
182
- platform: input.platform,
183
- requestHeaders: options.requestHeaders,
184
- requestTimeout: options.requestTimeout,
185
- session
186
- });
185
+ if (committed && transitionKind === "ADOPT_RELEASE") {
186
+ emitAfterAppReady("onUpdateCheck", () => ({
187
+ status: "UNCHANGED",
188
+ channel: receipt.channel,
189
+ bundleId: receipt.bundleId,
190
+ releaseId: receipt.releaseId,
191
+ previousReleaseId: active?.releaseId ?? null
192
+ }));
187
193
  }
188
194
  return committed;
189
195
  }
@@ -196,7 +202,7 @@ async function checkForReleaseCatalogUpdate(input) {
196
202
  if (!isReleaseSelectionCurrent(guard)) {
197
203
  throw new StaleReleaseCatalogError();
198
204
  }
199
- const downloaded = await updateBundle({
205
+ const delivery = await stageBundle({
200
206
  assets: artifact.assets,
201
207
  bundleId: desired.bundleId,
202
208
  channel: input.targetChannel,
@@ -209,24 +215,46 @@ async function checkForReleaseCatalogUpdate(input) {
209
215
  shouldSkipCurrentBundleIdCheck: true,
210
216
  status: desired.status
211
217
  });
212
- if (downloaded) {
213
- await reportBundleDownloaded(options, {
218
+ if (delivery !== null && desired.bundleId !== input.currentBundleId) {
219
+ emitAfterAppReady("onBundleDownloaded", () => ({
220
+ channel: input.targetChannel,
214
221
  fromBundleId: input.currentBundleId,
215
- fromReleaseId: active?.bundleId === input.currentBundleId ? active.releaseId : activeState.stableSelection?.bundleId === input.currentBundleId ? activeState.stableSelection.releaseId : null,
222
+ fromReleaseId,
216
223
  toBundleId: desired.bundleId,
217
224
  toReleaseId: desired.releaseId,
218
- channel: input.targetChannel,
219
- updateStrategy: options.updateStrategy
220
- });
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;
221
237
  }
222
- return downloaded;
223
238
  };
239
+ const shouldForceUpdate = transitionKind === "ADOPT_RELEASE" ? false : desired.status === "ROLLBACK" ? true : release?.shouldForceUpdate ?? false;
240
+ 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
+ }));
224
252
  return {
225
253
  id: desired.releaseId ?? desired.bundleId,
226
254
  message: release?.message ?? null,
227
255
  releaseId: desired.releaseId,
228
256
  rolloutCohortCount: release?.rolloutCohortCount ?? 1000,
229
- shouldForceUpdate: transitionKind === "ADOPT_RELEASE" ? false : desired.status === "ROLLBACK" ? true : release?.shouldForceUpdate ?? false,
257
+ shouldForceUpdate,
230
258
  status: desired.status,
231
259
  targetCohorts: release?.targetCohorts ? [...release.targetCohorts] : [],
232
260
  transitionKind,
@@ -262,7 +290,7 @@ export async function checkForUpdate(options) {
262
290
  }
263
291
  const fingerprintHash = getFingerprintHash();
264
292
  try {
265
- return await checkForReleaseCatalogUpdate({
293
+ const result = await checkForReleaseCatalogUpdate({
266
294
  cohort,
267
295
  currentAppVersion,
268
296
  currentBundleId,
@@ -276,7 +304,25 @@ export async function checkForUpdate(options) {
276
304
  platform,
277
305
  targetChannel
278
306
  });
307
+ if (result === null) {
308
+ emitAfterAppReady("onUpdateCheck", () => {
309
+ const releaseId = 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;
279
320
  } catch (error) {
321
+ reportUpdateError(error, "check", "catalog", {
322
+ bundleId: currentBundleId,
323
+ channel: targetChannel,
324
+ updateStrategy: options.updateStrategy
325
+ });
280
326
  options.onError?.(error);
281
327
  return null;
282
328
  }
@@ -1 +1 @@
1
- {"version":3,"names":["authorizeReleaseTransition","createReleaseSelectionContextHash","encodeChannelKey","selectDesiredRelease","canonicalizeAppVersion","Platform","HotUpdaterError","StaleReleaseCatalogError","acceptReleaseCatalog","commitReleaseSelection","getActiveUpdateState","getAppVersion","getBundleId","getChannel","getCohort","getDefaultChannel","getFingerprintHash","getInstallId","getMinBundleId","getCrashHistory","getPersistedUserIdentity","isReleaseSelectionCurrent","isChannelSwitched","updateBundle","reportBundleDownloaded","hasExpectedReleaseCatalogScope","hotUpdaterStore","sameReceipt","first","second","kind","releaseId","bundleId","catalogId","scopeKey","generation","catalogHash","channel","selectionContextHash","validateCatalog","catalog","expectedScope","schemaVersion","Number","isSafeInteger","test","resetProgress","setState","artifactType","details","isUpdateDownloaded","progress","notifyUnchangedSelection","input","userId","username","session","sendInsightsEvent","appVersion","desired","cohort","fingerprintHash","fromBundleId","fromReleaseId","active","installId","platform","requestHeaders","requestTimeout","toBundleId","toReleaseId","type","updateStrategy","undefined","error","console","warn","checkForReleaseCatalogUpdate","options","client","createSession","channelKey","targetChannel","strategy","canonicalAppVersion","currentAppVersion","fetchReleaseCatalog","crashedBundleIds","activeState","activeSelection","explicitScopeSwitch","explicitChannel","currentChannel","activeInTargetScope","hasAuthenticatedActive","selectorCurrentBundleId","currentBundleId","minimumReleaseId","activeBundleId","activeReleaseId","strategyValue","builtInBundleId","receipt","authorization","authorized","reason","release","transitionKind","guard","updateBundleForSelection","committed","selection","insights","artifact","resolveArtifact","targetBundleId","downloaded","assets","manifestFileHash","manifestUrl","archiveUrl","shouldSkipCurrentBundleIdCheck","status","stableSelection","id","message","rolloutCohortCount","shouldForceUpdate","targetCohorts","checkForUpdate","__DEV__","includes","OS","onError","defaultChannel","isSwitched"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["authorizeReleaseTransition","createReleaseSelectionContextHash","encodeChannelKey","selectDesiredRelease","canonicalizeAppVersion","Platform","emitAfterAppReady","getPreviousProcessExit","getRunningReleaseId","HotUpdaterError","StaleReleaseCatalogError","acceptReleaseCatalog","commitReleaseSelection","getActiveUpdateState","getAppVersion","getBundleId","getChannel","getCohort","getDefaultChannel","getFingerprintHash","getMinBundleId","getCrashHistory","isReleaseSelectionCurrent","isChannelSwitched","stageBundle","hasExpectedReleaseCatalogScope","hotUpdaterStore","classifyUpdateError","InvalidUpdateResponseError","sameReceipt","first","second","kind","releaseId","bundleId","catalogId","scopeKey","generation","catalogHash","channel","selectionContextHash","validateCatalog","catalog","expectedScope","schemaVersion","Number","isSafeInteger","test","resetProgress","setState","artifactType","details","isUpdateDownloaded","progress","reportUpdateError","error","stage","resource","scope","classification","previousProcessExit","updateStrategy","targetBundleId","undefined","targetReleaseId","cause","checkForReleaseCatalogUpdate","input","options","session","client","createSession","channelKey","targetChannel","strategy","canonicalAppVersion","currentAppVersion","fingerprintHash","platform","fetchReleaseCatalog","appVersion","requestHeaders","requestTimeout","crashedBundleIds","activeState","active","activeSelection","explicitScopeSwitch","explicitChannel","currentChannel","activeInTargetScope","hasAuthenticatedActive","selectorCurrentBundleId","currentBundleId","minimumReleaseId","activeBundleId","activeReleaseId","cohort","strategyValue","desired","builtInBundleId","receipt","authorization","authorized","reason","release","transitionKind","guard","fromReleaseId","stableSelection","errorScope","installSelection","committed","selection","status","previousReleaseId","artifact","resolveArtifact","delivery","assets","manifestFileHash","manifestUrl","archiveUrl","shouldSkipCurrentBundleIdCheck","fromBundleId","toBundleId","toReleaseId","updateBundleForSelection","shouldForceUpdate","updateStatus","id","message","rolloutCohortCount","targetCohorts","updateBundle","checkForUpdate","__DEV__","includes","OS","onError","defaultChannel","isSwitched","result"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":"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","ignoreList":[]}