@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
@@ -1,616 +0,0 @@
1
- "use strict";
2
-
3
- var _core = require("@hot-updater/core");
4
- var _vitest = require("vitest");
5
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
6
- const MINIMUM_RELEASE_ID = "00000000-0000-7000-8000-000000000001";
7
- const RELEASE_ID = "00000000-0000-7000-8000-000000000002";
8
- const ACTIVE_RELEASE_ID = "00000000-0000-7000-8000-000000000003";
9
- const CURRENT_BUNDLE_ID = "00000000-0000-7001-8000-000000000001";
10
- const TARGET_BUNDLE_ID = "00000000-0000-7001-8000-000000000002";
11
- const CATALOG_ID = "project-a";
12
- const CHANNEL = "production";
13
- const CATALOG_HASH = `sha256:${"a".repeat(64)}`;
14
- const SCOPE_KEY = (0, _core.createReleaseCatalogScopeKey)({
15
- channelKey: (0, _core.encodeChannelKey)(CHANNEL),
16
- platform: "ios",
17
- strategy: "APP_VERSION"
18
- });
19
- const mocks = _vitest.vi.hoisted(() => ({
20
- addListener: _vitest.vi.fn(() => () => {}),
21
- acceptReleaseCatalog: _vitest.vi.fn(() => true),
22
- commitReleaseSelection: _vitest.vi.fn(async () => true),
23
- getActiveUpdateState: _vitest.vi.fn(() => ({
24
- activeSelection: null,
25
- highestSeenCatalogs: {},
26
- stableSelection: null,
27
- verificationPending: false
28
- })),
29
- getAppVersion: _vitest.vi.fn(() => "1.2"),
30
- getBundleId: _vitest.vi.fn(() => CURRENT_BUNDLE_ID),
31
- getChannel: _vitest.vi.fn(() => CHANNEL),
32
- getCohort: _vitest.vi.fn(() => "123"),
33
- getCrashHistory: _vitest.vi.fn(() => []),
34
- getDefaultChannel: _vitest.vi.fn(() => CHANNEL),
35
- getFingerprintHash: _vitest.vi.fn(() => null),
36
- getInstallId: _vitest.vi.fn(() => "install-id"),
37
- getMinBundleId: _vitest.vi.fn(() => MINIMUM_RELEASE_ID),
38
- getPersistedUserIdentity: _vitest.vi.fn(() => ({})),
39
- isChannelSwitched: _vitest.vi.fn(() => false),
40
- isReleaseSelectionCurrent: _vitest.vi.fn(() => true),
41
- resetChannel: _vitest.vi.fn(),
42
- updateBundle: _vitest.vi.fn(async () => true)
43
- }));
44
- _vitest.vi.mock("react-native", () => ({
45
- Platform: {
46
- OS: "ios"
47
- }
48
- }));
49
- _vitest.vi.mock("./native", () => mocks);
50
- const createCatalog = (overrides = {}) => ({
51
- catalogId: CATALOG_ID,
52
- catalogHash: CATALOG_HASH,
53
- fallbackPolicy: "BUILTIN_IF_ACTIVE_INELIGIBLE",
54
- generation: 2,
55
- releases: [{
56
- bundleId: TARGET_BUNDLE_ID,
57
- kind: "BUNDLE",
58
- message: "Release two",
59
- releaseId: RELEASE_ID,
60
- rolloutCohortCount: 1000,
61
- shouldForceUpdate: false,
62
- targetCohorts: []
63
- }],
64
- schemaVersion: 1,
65
- scopeKey: SCOPE_KEY,
66
- ...overrides
67
- });
68
- const createClient = (catalog = createCatalog()) => {
69
- const fetchReleaseCatalog = _vitest.vi.fn(async () => catalog);
70
- const resolveArtifact = _vitest.vi.fn(async () => ({
71
- fileHash: "bundle-hash",
72
- fileUrl: "https://updates.example.com/bundle.zip"
73
- }));
74
- const sendInsightsEvent = _vitest.vi.fn(async () => undefined);
75
- const session = {
76
- fetchReleaseCatalog,
77
- resolveArtifact,
78
- sendInsightsEvent
79
- };
80
- const client = {
81
- createSession: _vitest.vi.fn(async () => session)
82
- };
83
- return {
84
- client,
85
- fetchReleaseCatalog,
86
- resolveArtifact,
87
- sendInsightsEvent
88
- };
89
- };
90
- (0, _vitest.describe)("checkForUpdate Release catalog protocol", () => {
91
- (0, _vitest.beforeEach)(() => {
92
- _vitest.vi.clearAllMocks();
93
- _vitest.vi.stubGlobal("__DEV__", false);
94
- mocks.acceptReleaseCatalog.mockReturnValue(true);
95
- mocks.getActiveUpdateState.mockReturnValue({
96
- activeSelection: null,
97
- highestSeenCatalogs: {},
98
- stableSelection: null,
99
- verificationPending: false
100
- });
101
- mocks.isReleaseSelectionCurrent.mockReturnValue(true);
102
- mocks.commitReleaseSelection.mockResolvedValue(true);
103
- mocks.updateBundle.mockResolvedValue(true);
104
- });
105
- (0, _vitest.it)("selects locally and defers Bundle artifact resolution until install", async () => {
106
- const {
107
- checkForUpdate
108
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
109
- const {
110
- client,
111
- fetchReleaseCatalog,
112
- resolveArtifact
113
- } = createClient();
114
- const result = await checkForUpdate({
115
- client,
116
- updateStrategy: "appVersion"
117
- });
118
- (0, _vitest.expect)(result).toMatchObject({
119
- id: RELEASE_ID,
120
- releaseId: RELEASE_ID,
121
- transitionKind: "INSTALL"
122
- });
123
- (0, _vitest.expect)(fetchReleaseCatalog).toHaveBeenCalledWith({
124
- appVersion: "1.2.0",
125
- channel: CHANNEL,
126
- fingerprintHash: null,
127
- platform: "ios",
128
- requestHeaders: undefined,
129
- requestTimeout: undefined,
130
- updateStrategy: "appVersion"
131
- });
132
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
133
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
134
- (0, _vitest.expect)(resolveArtifact).toHaveBeenCalledWith({
135
- currentBundleId: CURRENT_BUNDLE_ID,
136
- requestHeaders: undefined,
137
- requestTimeout: undefined,
138
- targetBundleId: TARGET_BUNDLE_ID
139
- });
140
- (0, _vitest.expect)(mocks.updateBundle).toHaveBeenCalledWith(_vitest.expect.objectContaining({
141
- bundleId: TARGET_BUNDLE_ID,
142
- selection: _vitest.expect.objectContaining({
143
- catalogId: CATALOG_ID,
144
- releaseId: RELEASE_ID,
145
- scopeKey: SCOPE_KEY
146
- })
147
- }));
148
- });
149
- (0, _vitest.it)("adopts a newer Release for the same Bundle without resolving bytes", async () => {
150
- const active = {
151
- catalogId: CATALOG_ID,
152
- bundleId: TARGET_BUNDLE_ID,
153
- catalogHash: `sha256:${"b".repeat(64)}`,
154
- channel: CHANNEL,
155
- generation: 1,
156
- kind: "BUNDLE",
157
- releaseId: MINIMUM_RELEASE_ID,
158
- scopeKey: SCOPE_KEY,
159
- selectionContextHash: "old-context"
160
- };
161
- mocks.getBundleId.mockReturnValueOnce(TARGET_BUNDLE_ID);
162
- mocks.getActiveUpdateState.mockReturnValueOnce({
163
- activeSelection: active,
164
- highestSeenCatalogs: {},
165
- stableSelection: active,
166
- verificationPending: false
167
- });
168
- const {
169
- checkForUpdate
170
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
171
- const forceCatalog = createCatalog({
172
- releases: [{
173
- ...createCatalog().releases[0],
174
- shouldForceUpdate: true
175
- }]
176
- });
177
- const {
178
- client,
179
- resolveArtifact,
180
- sendInsightsEvent
181
- } = createClient(forceCatalog);
182
- const result = await checkForUpdate({
183
- client,
184
- updateStrategy: "appVersion"
185
- });
186
- (0, _vitest.expect)(result).toMatchObject({
187
- id: RELEASE_ID,
188
- shouldForceUpdate: false,
189
- transitionKind: "ADOPT_RELEASE"
190
- });
191
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
192
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
193
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
194
- (0, _vitest.expect)(sendInsightsEvent).not.toHaveBeenCalled();
195
- (0, _vitest.expect)(mocks.commitReleaseSelection).toHaveBeenCalledWith({
196
- guard: _vitest.expect.objectContaining({
197
- generation: 2,
198
- scopeKey: SCOPE_KEY
199
- }),
200
- selection: _vitest.expect.objectContaining({
201
- bundleId: TARGET_BUNDLE_ID,
202
- releaseId: RELEASE_ID
203
- })
204
- });
205
- });
206
- (0, _vitest.it)("reports same-file selection as UNCHANGED with the selected release identity", async () => {
207
- const active = {
208
- catalogId: CATALOG_ID,
209
- bundleId: TARGET_BUNDLE_ID,
210
- catalogHash: `sha256:${"b".repeat(64)}`,
211
- channel: CHANNEL,
212
- generation: 1,
213
- kind: "BUNDLE",
214
- releaseId: MINIMUM_RELEASE_ID,
215
- scopeKey: SCOPE_KEY,
216
- selectionContextHash: "old-context"
217
- };
218
- mocks.getBundleId.mockReturnValueOnce(TARGET_BUNDLE_ID);
219
- mocks.getActiveUpdateState.mockReturnValueOnce({
220
- activeSelection: active,
221
- highestSeenCatalogs: {},
222
- stableSelection: active,
223
- verificationPending: false
224
- });
225
- const {
226
- checkForUpdate
227
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
228
- const {
229
- client,
230
- sendInsightsEvent
231
- } = createClient();
232
- const result = await checkForUpdate({
233
- insights: true,
234
- client,
235
- updateStrategy: "appVersion"
236
- });
237
- await result?.updateBundle();
238
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledWith(_vitest.expect.objectContaining({
239
- fromBundleId: null,
240
- updateStrategy: null,
241
- fromReleaseId: MINIMUM_RELEASE_ID,
242
- toBundleId: TARGET_BUNDLE_ID,
243
- toReleaseId: RELEASE_ID,
244
- type: "UNCHANGED"
245
- }));
246
- });
247
- (0, _vitest.it)("selects a lower-id Release when explicitly switching scopes", async () => {
248
- const betaChannel = "beta";
249
- const betaScopeKey = (0, _core.createReleaseCatalogScopeKey)({
250
- channelKey: (0, _core.encodeChannelKey)(betaChannel),
251
- platform: "ios",
252
- strategy: "APP_VERSION"
253
- });
254
- const active = {
255
- catalogId: CATALOG_ID,
256
- bundleId: CURRENT_BUNDLE_ID,
257
- catalogHash: `sha256:${"b".repeat(64)}`,
258
- channel: CHANNEL,
259
- generation: 1,
260
- kind: "BUNDLE",
261
- releaseId: ACTIVE_RELEASE_ID,
262
- scopeKey: SCOPE_KEY,
263
- selectionContextHash: "old-context"
264
- };
265
- mocks.getActiveUpdateState.mockReturnValueOnce({
266
- activeSelection: active,
267
- highestSeenCatalogs: {},
268
- stableSelection: active,
269
- verificationPending: false
270
- });
271
- const betaCatalog = createCatalog({
272
- scopeKey: betaScopeKey
273
- });
274
- const {
275
- checkForUpdate
276
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
277
- const {
278
- client
279
- } = createClient(betaCatalog);
280
- const result = await checkForUpdate({
281
- channel: betaChannel,
282
- client,
283
- updateStrategy: "appVersion"
284
- });
285
- (0, _vitest.expect)(result).toMatchObject({
286
- id: RELEASE_ID,
287
- releaseId: RELEASE_ID,
288
- status: "UPDATE",
289
- transitionKind: "INSTALL"
290
- });
291
- });
292
- (0, _vitest.it)("refreshes the same Release receipt when catalog provenance changes", async () => {
293
- const active = {
294
- catalogId: CATALOG_ID,
295
- bundleId: TARGET_BUNDLE_ID,
296
- catalogHash: `sha256:${"b".repeat(64)}`,
297
- channel: CHANNEL,
298
- generation: 1,
299
- kind: "BUNDLE",
300
- releaseId: RELEASE_ID,
301
- scopeKey: SCOPE_KEY,
302
- selectionContextHash: "old-context"
303
- };
304
- mocks.getBundleId.mockReturnValueOnce(TARGET_BUNDLE_ID);
305
- mocks.getActiveUpdateState.mockReturnValueOnce({
306
- activeSelection: active,
307
- highestSeenCatalogs: {},
308
- stableSelection: active,
309
- verificationPending: false
310
- });
311
- const {
312
- checkForUpdate
313
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
314
- const {
315
- client,
316
- resolveArtifact
317
- } = createClient();
318
- const result = await checkForUpdate({
319
- client,
320
- updateStrategy: "appVersion"
321
- });
322
- (0, _vitest.expect)(result).toMatchObject({
323
- id: RELEASE_ID,
324
- releaseId: RELEASE_ID,
325
- transitionKind: "ADOPT_RELEASE"
326
- });
327
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
328
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
329
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
330
- (0, _vitest.expect)(mocks.commitReleaseSelection).toHaveBeenCalledWith({
331
- guard: _vitest.expect.objectContaining({
332
- catalogHash: CATALOG_HASH,
333
- generation: 2,
334
- scopeKey: SCOPE_KEY
335
- }),
336
- selection: _vitest.expect.objectContaining({
337
- bundleId: TARGET_BUNDLE_ID,
338
- catalogHash: CATALOG_HASH,
339
- generation: 2,
340
- releaseId: RELEASE_ID
341
- })
342
- });
343
- });
344
- (0, _vitest.it)("rejects a slow artifact completion after a newer catalog wins", async () => {
345
- mocks.isReleaseSelectionCurrent.mockReturnValueOnce(true).mockReturnValueOnce(false);
346
- const {
347
- StaleReleaseCatalogError
348
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./error")));
349
- const {
350
- checkForUpdate
351
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
352
- const {
353
- client
354
- } = createClient();
355
- const result = await checkForUpdate({
356
- client,
357
- updateStrategy: "appVersion"
358
- });
359
- await (0, _vitest.expect)(result?.updateBundle()).rejects.toBeInstanceOf(StaleReleaseCatalogError);
360
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
361
- });
362
- (0, _vitest.it)("installs an older enabled Release as a forced rollback", async () => {
363
- const active = {
364
- catalogId: CATALOG_ID,
365
- bundleId: CURRENT_BUNDLE_ID,
366
- catalogHash: `sha256:${"b".repeat(64)}`,
367
- channel: CHANNEL,
368
- generation: 1,
369
- kind: "BUNDLE",
370
- releaseId: ACTIVE_RELEASE_ID,
371
- scopeKey: SCOPE_KEY,
372
- selectionContextHash: "old-context"
373
- };
374
- mocks.getActiveUpdateState.mockReturnValueOnce({
375
- activeSelection: active,
376
- highestSeenCatalogs: {},
377
- stableSelection: active,
378
- verificationPending: false
379
- });
380
- const catalog = createCatalog({
381
- rollbackReleases: [{
382
- bundleId: TARGET_BUNDLE_ID,
383
- kind: "BUNDLE",
384
- message: "Previous Release",
385
- releaseId: RELEASE_ID,
386
- rolloutCohortCount: 0,
387
- shouldForceUpdate: false,
388
- targetCohorts: []
389
- }]
390
- });
391
- const {
392
- checkForUpdate
393
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
394
- const {
395
- client
396
- } = createClient(catalog);
397
- const result = await checkForUpdate({
398
- client,
399
- updateStrategy: "appVersion"
400
- });
401
- (0, _vitest.expect)(result).toMatchObject({
402
- id: RELEASE_ID,
403
- releaseId: RELEASE_ID,
404
- shouldForceUpdate: true,
405
- status: "ROLLBACK",
406
- transitionKind: "INSTALL"
407
- });
408
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
409
- (0, _vitest.expect)(mocks.updateBundle).toHaveBeenCalledWith(_vitest.expect.objectContaining({
410
- bundleId: TARGET_BUNDLE_ID,
411
- status: "ROLLBACK"
412
- }));
413
- });
414
- (0, _vitest.it)("uses current Bundle identity when migrating an unauthenticated receipt", async () => {
415
- const migratedCurrentBundleId = "00000000-0000-7001-8000-000000000003";
416
- const active = {
417
- catalogId: null,
418
- bundleId: migratedCurrentBundleId,
419
- catalogHash: null,
420
- channel: CHANNEL,
421
- generation: null,
422
- kind: "BUNDLE",
423
- releaseId: null,
424
- scopeKey: null,
425
- selectionContextHash: null
426
- };
427
- mocks.getBundleId.mockReturnValueOnce(migratedCurrentBundleId);
428
- mocks.getActiveUpdateState.mockReturnValueOnce({
429
- activeSelection: active,
430
- highestSeenCatalogs: {},
431
- stableSelection: active,
432
- verificationPending: false
433
- });
434
- const catalog = createCatalog({
435
- releases: [],
436
- rollbackReleases: [{
437
- ...createCatalog().releases[0],
438
- rolloutCohortCount: 0
439
- }]
440
- });
441
- const {
442
- checkForUpdate
443
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
444
- const {
445
- client
446
- } = createClient(catalog);
447
- const result = await checkForUpdate({
448
- client,
449
- updateStrategy: "appVersion"
450
- });
451
- (0, _vitest.expect)(result).toMatchObject({
452
- id: RELEASE_ID,
453
- shouldForceUpdate: true,
454
- status: "ROLLBACK",
455
- transitionKind: "INSTALL"
456
- });
457
- });
458
- _vitest.it.each(["EMBEDDED", "BUILTIN"])("returns a forced %s rollback with its console ID or built-in fallback", async kind => {
459
- const active = {
460
- catalogId: CATALOG_ID,
461
- bundleId: CURRENT_BUNDLE_ID,
462
- catalogHash: `sha256:${"b".repeat(64)}`,
463
- channel: CHANNEL,
464
- generation: 1,
465
- kind: "BUNDLE",
466
- releaseId: MINIMUM_RELEASE_ID,
467
- scopeKey: SCOPE_KEY,
468
- selectionContextHash: "old-context"
469
- };
470
- mocks.getActiveUpdateState.mockReturnValueOnce({
471
- activeSelection: active,
472
- highestSeenCatalogs: {},
473
- stableSelection: active,
474
- verificationPending: false
475
- });
476
- const {
477
- checkForUpdate
478
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
479
- const {
480
- client,
481
- resolveArtifact
482
- } = createClient(createCatalog({
483
- releases: kind === "EMBEDDED" ? [{
484
- ...createCatalog().releases[0],
485
- kind,
486
- bundleId: null
487
- }] : [],
488
- rollbackReleases: []
489
- }));
490
- const result = await checkForUpdate({
491
- client,
492
- updateStrategy: "appVersion"
493
- });
494
- (0, _vitest.expect)(result).toMatchObject({
495
- id: kind === "EMBEDDED" ? RELEASE_ID : MINIMUM_RELEASE_ID,
496
- releaseId: kind === "EMBEDDED" ? RELEASE_ID : null,
497
- shouldForceUpdate: true,
498
- status: "ROLLBACK",
499
- transitionKind: kind === "EMBEDDED" ? "USE_EMBEDDED" : "USE_BUILTIN"
500
- });
501
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
502
- (0, _vitest.expect)(mocks.commitReleaseSelection).toHaveBeenCalledWith(_vitest.expect.objectContaining({
503
- selection: _vitest.expect.objectContaining({
504
- bundleId: MINIMUM_RELEASE_ID,
505
- kind,
506
- releaseId: kind === "EMBEDDED" ? RELEASE_ID : null
507
- })
508
- }));
509
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
510
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
511
- });
512
- (0, _vitest.it)("does not surface a rollback when the app already uses built-in bytes", async () => {
513
- mocks.getBundleId.mockReturnValueOnce(MINIMUM_RELEASE_ID);
514
- const {
515
- checkForUpdate
516
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
517
- const {
518
- client
519
- } = createClient(createCatalog({
520
- releases: [],
521
- rollbackReleases: []
522
- }));
523
- await (0, _vitest.expect)(checkForUpdate({
524
- client,
525
- updateStrategy: "appVersion"
526
- })).resolves.toBeNull();
527
- (0, _vitest.expect)(mocks.commitReleaseSelection).not.toHaveBeenCalled();
528
- });
529
- (0, _vitest.it)("reports a rejected generation without selecting or resolving artifacts", async () => {
530
- mocks.acceptReleaseCatalog.mockReturnValueOnce(false);
531
- const onError = _vitest.vi.fn();
532
- const {
533
- checkForUpdate
534
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
535
- const {
536
- client,
537
- resolveArtifact
538
- } = createClient();
539
- await (0, _vitest.expect)(checkForUpdate({
540
- client,
541
- onError,
542
- updateStrategy: "appVersion"
543
- })).resolves.toBeNull();
544
- (0, _vitest.expect)(onError).toHaveBeenCalledWith(_vitest.expect.objectContaining({
545
- message: "Rejected a stale or inconsistent Release catalog"
546
- }));
547
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
548
- });
549
- (0, _vitest.it)("rejects mismatched catalog scope before native catalog state mutates", async () => {
550
- const wrongScope = (0, _core.createReleaseCatalogScopeKey)({
551
- channelKey: (0, _core.encodeChannelKey)("beta"),
552
- platform: "ios",
553
- strategy: "APP_VERSION"
554
- });
555
- const onError = _vitest.vi.fn();
556
- const {
557
- checkForUpdate
558
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
559
- const {
560
- client
561
- } = createClient(createCatalog({
562
- scopeKey: wrongScope
563
- }));
564
- await (0, _vitest.expect)(checkForUpdate({
565
- client,
566
- onError,
567
- updateStrategy: "appVersion"
568
- })).resolves.toBeNull();
569
- (0, _vitest.expect)(onError).toHaveBeenCalledWith(_vitest.expect.objectContaining({
570
- message: "Received an invalid Release catalog"
571
- }));
572
- (0, _vitest.expect)(mocks.acceptReleaseCatalog).not.toHaveBeenCalled();
573
- (0, _vitest.expect)(mocks.commitReleaseSelection).not.toHaveBeenCalled();
574
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
575
- });
576
- (0, _vitest.it)("rejects an unexpected Catalog identity before accepting catalog state", async () => {
577
- const active = {
578
- catalogId: "existing-project",
579
- bundleId: CURRENT_BUNDLE_ID,
580
- catalogHash: `sha256:${"b".repeat(64)}`,
581
- channel: CHANNEL,
582
- generation: 1,
583
- kind: "BUNDLE",
584
- releaseId: ACTIVE_RELEASE_ID,
585
- scopeKey: (0, _core.createReleaseCatalogScopeKey)({
586
- channelKey: (0, _core.encodeChannelKey)(CHANNEL),
587
- platform: "ios",
588
- strategy: "APP_VERSION"
589
- }),
590
- selectionContextHash: "old-context"
591
- };
592
- mocks.getActiveUpdateState.mockReturnValueOnce({
593
- activeSelection: active,
594
- highestSeenCatalogs: {},
595
- stableSelection: active,
596
- verificationPending: false
597
- });
598
- const onError = _vitest.vi.fn();
599
- const {
600
- checkForUpdate
601
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
602
- const {
603
- client
604
- } = createClient();
605
- await (0, _vitest.expect)(checkForUpdate({
606
- client,
607
- onError,
608
- updateStrategy: "appVersion"
609
- })).resolves.toBeNull();
610
- (0, _vitest.expect)(onError).toHaveBeenCalledWith(_vitest.expect.objectContaining({
611
- message: "Release transition rejected: UNSOLICITED_SCOPE"
612
- }));
613
- (0, _vitest.expect)(mocks.acceptReleaseCatalog).not.toHaveBeenCalled();
614
- });
615
- });
616
- //# sourceMappingURL=checkForUpdate.releaseCatalog.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_core","require","_vitest","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MINIMUM_RELEASE_ID","RELEASE_ID","ACTIVE_RELEASE_ID","CURRENT_BUNDLE_ID","TARGET_BUNDLE_ID","CATALOG_ID","CHANNEL","CATALOG_HASH","repeat","SCOPE_KEY","createReleaseCatalogScopeKey","channelKey","encodeChannelKey","platform","strategy","mocks","vi","hoisted","addListener","fn","acceptReleaseCatalog","commitReleaseSelection","getActiveUpdateState","activeSelection","highestSeenCatalogs","stableSelection","verificationPending","getAppVersion","getBundleId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getMinBundleId","getPersistedUserIdentity","isChannelSwitched","isReleaseSelectionCurrent","resetChannel","updateBundle","mock","Platform","OS","createCatalog","overrides","catalogId","catalogHash","fallbackPolicy","generation","releases","bundleId","kind","message","releaseId","rolloutCohortCount","shouldForceUpdate","targetCohorts","schemaVersion","scopeKey","createClient","catalog","fetchReleaseCatalog","resolveArtifact","fileHash","fileUrl","sendInsightsEvent","undefined","session","client","createSession","describe","beforeEach","clearAllMocks","stubGlobal","mockReturnValue","mockResolvedValue","it","checkForUpdate","Promise","resolve","then","result","updateStrategy","expect","toMatchObject","id","transitionKind","toHaveBeenCalledWith","appVersion","channel","fingerprintHash","requestHeaders","requestTimeout","not","toHaveBeenCalled","resolves","toBe","currentBundleId","targetBundleId","objectContaining","selection","active","selectionContextHash","mockReturnValueOnce","forceCatalog","guard","insights","fromBundleId","fromReleaseId","toBundleId","toReleaseId","type","betaChannel","betaScopeKey","betaCatalog","status","StaleReleaseCatalogError","rejects","toBeInstanceOf","rollbackReleases","migratedCurrentBundleId","each","toBeNull","onError","wrongScope"],"sourceRoot":"../../src","sources":["checkForUpdate.releaseCatalog.spec.ts"],"mappings":"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","ignoreList":[]}