@hot-updater/react-native 1.0.0-rc.3 → 1.0.0-rc.30

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 (300) hide show
  1. package/android/proguard-rules.pro +17 -2
  2. package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
  3. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +954 -837
  4. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +15 -11
  5. package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
  6. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
  7. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +43 -31
  8. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +37 -54
  9. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
  10. package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
  11. package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
  12. package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
  13. package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
  14. package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
  15. package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
  16. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
  17. package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
  18. package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
  19. package/android/src/newarch/HotUpdater.kt +7 -9
  20. package/android/src/newarch/HotUpdaterModule.kt +109 -84
  21. package/android/src/oldarch/HotUpdater.kt +7 -9
  22. package/android/src/oldarch/HotUpdaterModule.kt +98 -74
  23. package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
  24. package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
  25. package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
  26. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +950 -1112
  27. package/ios/HotUpdater/Internal/BundleMetadata.swift +8 -53
  28. package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
  29. package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
  30. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
  31. package/ios/HotUpdater/Internal/HotUpdater.mm +13 -45
  32. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +190 -73
  33. package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
  34. package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
  35. package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
  36. package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
  37. package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
  38. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
  39. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
  40. package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
  41. package/lib/commonjs/appReady.js +111 -0
  42. package/lib/commonjs/appReady.js.map +1 -0
  43. package/lib/commonjs/checkForUpdate.js +124 -69
  44. package/lib/commonjs/checkForUpdate.js.map +1 -1
  45. package/lib/commonjs/clientPlugin.js +13 -0
  46. package/lib/commonjs/clientPlugin.js.map +1 -0
  47. package/lib/commonjs/error.js +4 -13
  48. package/lib/commonjs/error.js.map +1 -1
  49. package/lib/commonjs/fetchJSON.js +16 -27
  50. package/lib/commonjs/fetchJSON.js.map +1 -1
  51. package/lib/commonjs/fetchUpdateResponse.js +54 -0
  52. package/lib/commonjs/fetchUpdateResponse.js.map +1 -0
  53. package/lib/commonjs/httpClient.js +63 -94
  54. package/lib/commonjs/httpClient.js.map +1 -1
  55. package/lib/commonjs/index.js +71 -18
  56. package/lib/commonjs/index.js.map +1 -1
  57. package/lib/commonjs/native.js +78 -60
  58. package/lib/commonjs/native.js.map +1 -1
  59. package/lib/commonjs/pluginHost.js +44 -0
  60. package/lib/commonjs/pluginHost.js.map +1 -0
  61. package/lib/commonjs/releaseCatalogCache.js +36 -87
  62. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  63. package/lib/commonjs/sdkVersion.js +1 -1
  64. package/lib/commonjs/sdkVersion.js.map +1 -1
  65. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  66. package/lib/commonjs/store.js +3 -10
  67. package/lib/commonjs/store.js.map +1 -1
  68. package/lib/commonjs/updateError.js +132 -0
  69. package/lib/commonjs/updateError.js.map +1 -0
  70. package/lib/commonjs/wrap.js +43 -26
  71. package/lib/commonjs/wrap.js.map +1 -1
  72. package/lib/module/appReady.js +103 -0
  73. package/lib/module/appReady.js.map +1 -0
  74. package/lib/module/checkForUpdate.js +117 -64
  75. package/lib/module/checkForUpdate.js.map +1 -1
  76. package/lib/module/clientPlugin.js +4 -0
  77. package/lib/module/clientPlugin.js.map +1 -0
  78. package/lib/module/error.js +4 -13
  79. package/lib/module/error.js.map +1 -1
  80. package/lib/module/fetchJSON.js +14 -26
  81. package/lib/module/fetchJSON.js.map +1 -1
  82. package/lib/module/fetchUpdateResponse.js +49 -0
  83. package/lib/module/fetchUpdateResponse.js.map +1 -0
  84. package/lib/module/httpClient.js +62 -93
  85. package/lib/module/httpClient.js.map +1 -1
  86. package/lib/module/index.js +58 -20
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/native.js +71 -53
  89. package/lib/module/native.js.map +1 -1
  90. package/lib/module/pluginHost.js +35 -0
  91. package/lib/module/pluginHost.js.map +1 -0
  92. package/lib/module/releaseCatalogCache.js +32 -82
  93. package/lib/module/releaseCatalogCache.js.map +1 -1
  94. package/lib/module/sdkVersion.js +1 -1
  95. package/lib/module/sdkVersion.js.map +1 -1
  96. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  97. package/lib/module/store.js +3 -10
  98. package/lib/module/store.js.map +1 -1
  99. package/lib/module/updateError.js +126 -0
  100. package/lib/module/updateError.js.map +1 -0
  101. package/lib/module/wrap.js +43 -26
  102. package/lib/module/wrap.js.map +1 -1
  103. package/lib/typescript/commonjs/appReady.d.ts +23 -0
  104. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
  106. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  108. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/error.d.ts +4 -13
  110. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/fetchJSON.d.ts +5 -5
  112. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
  114. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/httpClient.d.ts +4 -33
  116. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/index.d.ts +4 -8
  118. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/native.d.ts +31 -22
  120. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
  122. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +8 -14
  124. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  126. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +42 -47
  128. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/store.d.ts +1 -3
  130. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/types.d.ts +1 -1
  132. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  134. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
  137. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  138. package/lib/typescript/module/appReady.d.ts +23 -0
  139. package/lib/typescript/module/appReady.d.ts.map +1 -0
  140. package/lib/typescript/module/checkForUpdate.d.ts +16 -4
  141. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  142. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  143. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  144. package/lib/typescript/module/error.d.ts +4 -13
  145. package/lib/typescript/module/error.d.ts.map +1 -1
  146. package/lib/typescript/module/fetchJSON.d.ts +5 -5
  147. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  148. package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
  149. package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
  150. package/lib/typescript/module/httpClient.d.ts +4 -33
  151. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  152. package/lib/typescript/module/index.d.ts +4 -8
  153. package/lib/typescript/module/index.d.ts.map +1 -1
  154. package/lib/typescript/module/native.d.ts +31 -22
  155. package/lib/typescript/module/native.d.ts.map +1 -1
  156. package/lib/typescript/module/pluginHost.d.ts +4 -0
  157. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  158. package/lib/typescript/module/releaseCatalogCache.d.ts +8 -14
  159. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  160. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  161. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  162. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +42 -47
  163. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  164. package/lib/typescript/module/store.d.ts +1 -3
  165. package/lib/typescript/module/store.d.ts.map +1 -1
  166. package/lib/typescript/module/types.d.ts +1 -1
  167. package/lib/typescript/module/types.d.ts.map +1 -1
  168. package/lib/typescript/module/updateError.d.ts +26 -0
  169. package/lib/typescript/module/updateError.d.ts.map +1 -0
  170. package/lib/typescript/module/wrap.d.ts.map +1 -1
  171. package/lib/typescript/module/wrap.types.d.ts +6 -7
  172. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  173. package/package.json +7 -4
  174. package/src/appReady.ts +149 -0
  175. package/src/checkForUpdate.ts +151 -88
  176. package/src/clientPlugin.ts +18 -0
  177. package/src/error.ts +4 -14
  178. package/src/fetchJSON.ts +14 -30
  179. package/src/fetchUpdateResponse.ts +54 -0
  180. package/src/httpClient.ts +88 -159
  181. package/src/index.ts +90 -24
  182. package/src/native.ts +106 -102
  183. package/src/pluginHost.ts +45 -0
  184. package/src/releaseCatalogCache.ts +43 -172
  185. package/src/sdkVersion.ts +1 -1
  186. package/src/specs/NativeHotUpdater.ts +41 -48
  187. package/src/store.ts +2 -23
  188. package/src/types.ts +1 -1
  189. package/src/updateError.ts +153 -0
  190. package/src/wrap.tsx +57 -26
  191. package/src/wrap.types.ts +6 -7
  192. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  193. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  194. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  195. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  196. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  197. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  198. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  199. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  200. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  201. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  202. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  203. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  204. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  205. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  206. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  207. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  208. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  209. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  210. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  211. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  212. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  213. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  214. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  215. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -615
  216. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  217. package/lib/commonjs/httpClient.spec.js +0 -102
  218. package/lib/commonjs/httpClient.spec.js.map +0 -1
  219. package/lib/commonjs/index.spec.js +0 -302
  220. package/lib/commonjs/index.spec.js.map +0 -1
  221. package/lib/commonjs/iosInterop.spec.js +0 -18
  222. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  223. package/lib/commonjs/native.spec.js +0 -883
  224. package/lib/commonjs/native.spec.js.map +0 -1
  225. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  226. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  227. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  228. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  229. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  230. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  231. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  232. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  233. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  234. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  235. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  236. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  237. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  238. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  239. package/lib/commonjs/store.notification.spec.js +0 -76
  240. package/lib/commonjs/store.notification.spec.js.map +0 -1
  241. package/lib/commonjs/store.spec.js +0 -316
  242. package/lib/commonjs/store.spec.js.map +0 -1
  243. package/lib/commonjs/wrap.spec.js +0 -329
  244. package/lib/commonjs/wrap.spec.js.map +0 -1
  245. package/lib/module/catalogCacheNative.spec.js +0 -31
  246. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  247. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -614
  248. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  249. package/lib/module/httpClient.spec.js +0 -102
  250. package/lib/module/httpClient.spec.js.map +0 -1
  251. package/lib/module/index.spec.js +0 -301
  252. package/lib/module/index.spec.js.map +0 -1
  253. package/lib/module/iosInterop.spec.js +0 -18
  254. package/lib/module/iosInterop.spec.js.map +0 -1
  255. package/lib/module/native.spec.js +0 -882
  256. package/lib/module/native.spec.js.map +0 -1
  257. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  258. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  259. package/lib/module/notifyAppReadyInsights.js +0 -128
  260. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  261. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  262. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  263. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  264. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  265. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  266. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  267. package/lib/module/releaseCatalogCache.spec.js +0 -195
  268. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  269. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  270. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  271. package/lib/module/store.notification.spec.js +0 -77
  272. package/lib/module/store.notification.spec.js.map +0 -1
  273. package/lib/module/store.spec.js +0 -315
  274. package/lib/module/store.spec.js.map +0 -1
  275. package/lib/module/wrap.spec.js +0 -330
  276. package/lib/module/wrap.spec.js.map +0 -1
  277. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  278. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  279. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  280. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  281. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  282. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  283. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  284. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  285. package/src/catalogCacheNative.spec.ts +0 -63
  286. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -611
  287. package/src/httpClient.spec.ts +0 -132
  288. package/src/index.spec.ts +0 -337
  289. package/src/iosInterop.spec.ts +0 -30
  290. package/src/native.spec.ts +0 -945
  291. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  292. package/src/notifyAppReadyInsights.spec.ts +0 -243
  293. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  294. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  295. package/src/notifyAppReadyInsights.ts +0 -194
  296. package/src/releaseCatalogCache.spec.ts +0 -282
  297. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  298. package/src/store.notification.spec.ts +0 -92
  299. package/src/store.spec.ts +0 -372
  300. package/src/wrap.spec.ts +0 -406
@@ -1,615 +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)("sends RELEASE_ADOPTED only when insights is enabled", 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: TARGET_BUNDLE_ID,
240
- fromReleaseId: MINIMUM_RELEASE_ID,
241
- toBundleId: TARGET_BUNDLE_ID,
242
- toReleaseId: RELEASE_ID,
243
- type: "RELEASE_ADOPTED"
244
- }));
245
- });
246
- (0, _vitest.it)("selects a lower-id Release when explicitly switching scopes", async () => {
247
- const betaChannel = "beta";
248
- const betaScopeKey = (0, _core.createReleaseCatalogScopeKey)({
249
- channelKey: (0, _core.encodeChannelKey)(betaChannel),
250
- platform: "ios",
251
- strategy: "APP_VERSION"
252
- });
253
- const active = {
254
- catalogId: CATALOG_ID,
255
- bundleId: CURRENT_BUNDLE_ID,
256
- catalogHash: `sha256:${"b".repeat(64)}`,
257
- channel: CHANNEL,
258
- generation: 1,
259
- kind: "BUNDLE",
260
- releaseId: ACTIVE_RELEASE_ID,
261
- scopeKey: SCOPE_KEY,
262
- selectionContextHash: "old-context"
263
- };
264
- mocks.getActiveUpdateState.mockReturnValueOnce({
265
- activeSelection: active,
266
- highestSeenCatalogs: {},
267
- stableSelection: active,
268
- verificationPending: false
269
- });
270
- const betaCatalog = createCatalog({
271
- scopeKey: betaScopeKey
272
- });
273
- const {
274
- checkForUpdate
275
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
276
- const {
277
- client
278
- } = createClient(betaCatalog);
279
- const result = await checkForUpdate({
280
- channel: betaChannel,
281
- client,
282
- updateStrategy: "appVersion"
283
- });
284
- (0, _vitest.expect)(result).toMatchObject({
285
- id: RELEASE_ID,
286
- releaseId: RELEASE_ID,
287
- status: "UPDATE",
288
- transitionKind: "INSTALL"
289
- });
290
- });
291
- (0, _vitest.it)("refreshes the same Release receipt when catalog provenance changes", async () => {
292
- const active = {
293
- catalogId: CATALOG_ID,
294
- bundleId: TARGET_BUNDLE_ID,
295
- catalogHash: `sha256:${"b".repeat(64)}`,
296
- channel: CHANNEL,
297
- generation: 1,
298
- kind: "BUNDLE",
299
- releaseId: RELEASE_ID,
300
- scopeKey: SCOPE_KEY,
301
- selectionContextHash: "old-context"
302
- };
303
- mocks.getBundleId.mockReturnValueOnce(TARGET_BUNDLE_ID);
304
- mocks.getActiveUpdateState.mockReturnValueOnce({
305
- activeSelection: active,
306
- highestSeenCatalogs: {},
307
- stableSelection: active,
308
- verificationPending: false
309
- });
310
- const {
311
- checkForUpdate
312
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
313
- const {
314
- client,
315
- resolveArtifact
316
- } = createClient();
317
- const result = await checkForUpdate({
318
- client,
319
- updateStrategy: "appVersion"
320
- });
321
- (0, _vitest.expect)(result).toMatchObject({
322
- id: RELEASE_ID,
323
- releaseId: RELEASE_ID,
324
- transitionKind: "ADOPT_RELEASE"
325
- });
326
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
327
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
328
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
329
- (0, _vitest.expect)(mocks.commitReleaseSelection).toHaveBeenCalledWith({
330
- guard: _vitest.expect.objectContaining({
331
- catalogHash: CATALOG_HASH,
332
- generation: 2,
333
- scopeKey: SCOPE_KEY
334
- }),
335
- selection: _vitest.expect.objectContaining({
336
- bundleId: TARGET_BUNDLE_ID,
337
- catalogHash: CATALOG_HASH,
338
- generation: 2,
339
- releaseId: RELEASE_ID
340
- })
341
- });
342
- });
343
- (0, _vitest.it)("rejects a slow artifact completion after a newer catalog wins", async () => {
344
- mocks.isReleaseSelectionCurrent.mockReturnValueOnce(true).mockReturnValueOnce(false);
345
- const {
346
- StaleReleaseCatalogError
347
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./error")));
348
- const {
349
- checkForUpdate
350
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
351
- const {
352
- client
353
- } = createClient();
354
- const result = await checkForUpdate({
355
- client,
356
- updateStrategy: "appVersion"
357
- });
358
- await (0, _vitest.expect)(result?.updateBundle()).rejects.toBeInstanceOf(StaleReleaseCatalogError);
359
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
360
- });
361
- (0, _vitest.it)("installs an older enabled Release as a forced rollback", async () => {
362
- const active = {
363
- catalogId: CATALOG_ID,
364
- bundleId: CURRENT_BUNDLE_ID,
365
- catalogHash: `sha256:${"b".repeat(64)}`,
366
- channel: CHANNEL,
367
- generation: 1,
368
- kind: "BUNDLE",
369
- releaseId: ACTIVE_RELEASE_ID,
370
- scopeKey: SCOPE_KEY,
371
- selectionContextHash: "old-context"
372
- };
373
- mocks.getActiveUpdateState.mockReturnValueOnce({
374
- activeSelection: active,
375
- highestSeenCatalogs: {},
376
- stableSelection: active,
377
- verificationPending: false
378
- });
379
- const catalog = createCatalog({
380
- rollbackReleases: [{
381
- bundleId: TARGET_BUNDLE_ID,
382
- kind: "BUNDLE",
383
- message: "Previous Release",
384
- releaseId: RELEASE_ID,
385
- rolloutCohortCount: 0,
386
- shouldForceUpdate: false,
387
- targetCohorts: []
388
- }]
389
- });
390
- const {
391
- checkForUpdate
392
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
393
- const {
394
- client
395
- } = createClient(catalog);
396
- const result = await checkForUpdate({
397
- client,
398
- updateStrategy: "appVersion"
399
- });
400
- (0, _vitest.expect)(result).toMatchObject({
401
- id: RELEASE_ID,
402
- releaseId: RELEASE_ID,
403
- shouldForceUpdate: true,
404
- status: "ROLLBACK",
405
- transitionKind: "INSTALL"
406
- });
407
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
408
- (0, _vitest.expect)(mocks.updateBundle).toHaveBeenCalledWith(_vitest.expect.objectContaining({
409
- bundleId: TARGET_BUNDLE_ID,
410
- status: "ROLLBACK"
411
- }));
412
- });
413
- (0, _vitest.it)("uses current Bundle identity when migrating an unauthenticated receipt", async () => {
414
- const migratedCurrentBundleId = "00000000-0000-7001-8000-000000000003";
415
- const active = {
416
- catalogId: null,
417
- bundleId: migratedCurrentBundleId,
418
- catalogHash: null,
419
- channel: CHANNEL,
420
- generation: null,
421
- kind: "BUNDLE",
422
- releaseId: null,
423
- scopeKey: null,
424
- selectionContextHash: null
425
- };
426
- mocks.getBundleId.mockReturnValueOnce(migratedCurrentBundleId);
427
- mocks.getActiveUpdateState.mockReturnValueOnce({
428
- activeSelection: active,
429
- highestSeenCatalogs: {},
430
- stableSelection: active,
431
- verificationPending: false
432
- });
433
- const catalog = createCatalog({
434
- releases: [],
435
- rollbackReleases: [{
436
- ...createCatalog().releases[0],
437
- rolloutCohortCount: 0
438
- }]
439
- });
440
- const {
441
- checkForUpdate
442
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
443
- const {
444
- client
445
- } = createClient(catalog);
446
- const result = await checkForUpdate({
447
- client,
448
- updateStrategy: "appVersion"
449
- });
450
- (0, _vitest.expect)(result).toMatchObject({
451
- id: RELEASE_ID,
452
- shouldForceUpdate: true,
453
- status: "ROLLBACK",
454
- transitionKind: "INSTALL"
455
- });
456
- });
457
- _vitest.it.each(["EMBEDDED", "BUILTIN"])("returns a forced %s rollback with its console ID or built-in fallback", async kind => {
458
- const active = {
459
- catalogId: CATALOG_ID,
460
- bundleId: CURRENT_BUNDLE_ID,
461
- catalogHash: `sha256:${"b".repeat(64)}`,
462
- channel: CHANNEL,
463
- generation: 1,
464
- kind: "BUNDLE",
465
- releaseId: MINIMUM_RELEASE_ID,
466
- scopeKey: SCOPE_KEY,
467
- selectionContextHash: "old-context"
468
- };
469
- mocks.getActiveUpdateState.mockReturnValueOnce({
470
- activeSelection: active,
471
- highestSeenCatalogs: {},
472
- stableSelection: active,
473
- verificationPending: false
474
- });
475
- const {
476
- checkForUpdate
477
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
478
- const {
479
- client,
480
- resolveArtifact
481
- } = createClient(createCatalog({
482
- releases: kind === "EMBEDDED" ? [{
483
- ...createCatalog().releases[0],
484
- kind,
485
- bundleId: null
486
- }] : [],
487
- rollbackReleases: []
488
- }));
489
- const result = await checkForUpdate({
490
- client,
491
- updateStrategy: "appVersion"
492
- });
493
- (0, _vitest.expect)(result).toMatchObject({
494
- id: kind === "EMBEDDED" ? RELEASE_ID : MINIMUM_RELEASE_ID,
495
- releaseId: kind === "EMBEDDED" ? RELEASE_ID : null,
496
- shouldForceUpdate: true,
497
- status: "ROLLBACK",
498
- transitionKind: kind === "EMBEDDED" ? "USE_EMBEDDED" : "USE_BUILTIN"
499
- });
500
- await (0, _vitest.expect)(result?.updateBundle()).resolves.toBe(true);
501
- (0, _vitest.expect)(mocks.commitReleaseSelection).toHaveBeenCalledWith(_vitest.expect.objectContaining({
502
- selection: _vitest.expect.objectContaining({
503
- bundleId: MINIMUM_RELEASE_ID,
504
- kind,
505
- releaseId: kind === "EMBEDDED" ? RELEASE_ID : null
506
- })
507
- }));
508
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
509
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
510
- });
511
- (0, _vitest.it)("does not surface a rollback when the app already uses built-in bytes", async () => {
512
- mocks.getBundleId.mockReturnValueOnce(MINIMUM_RELEASE_ID);
513
- const {
514
- checkForUpdate
515
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
516
- const {
517
- client
518
- } = createClient(createCatalog({
519
- releases: [],
520
- rollbackReleases: []
521
- }));
522
- await (0, _vitest.expect)(checkForUpdate({
523
- client,
524
- updateStrategy: "appVersion"
525
- })).resolves.toBeNull();
526
- (0, _vitest.expect)(mocks.commitReleaseSelection).not.toHaveBeenCalled();
527
- });
528
- (0, _vitest.it)("reports a rejected generation without selecting or resolving artifacts", async () => {
529
- mocks.acceptReleaseCatalog.mockReturnValueOnce(false);
530
- const onError = _vitest.vi.fn();
531
- const {
532
- checkForUpdate
533
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
534
- const {
535
- client,
536
- resolveArtifact
537
- } = createClient();
538
- await (0, _vitest.expect)(checkForUpdate({
539
- client,
540
- onError,
541
- updateStrategy: "appVersion"
542
- })).resolves.toBeNull();
543
- (0, _vitest.expect)(onError).toHaveBeenCalledWith(_vitest.expect.objectContaining({
544
- message: "Rejected a stale or inconsistent Release catalog"
545
- }));
546
- (0, _vitest.expect)(resolveArtifact).not.toHaveBeenCalled();
547
- });
548
- (0, _vitest.it)("rejects mismatched catalog scope before native catalog state mutates", async () => {
549
- const wrongScope = (0, _core.createReleaseCatalogScopeKey)({
550
- channelKey: (0, _core.encodeChannelKey)("beta"),
551
- platform: "ios",
552
- strategy: "APP_VERSION"
553
- });
554
- const onError = _vitest.vi.fn();
555
- const {
556
- checkForUpdate
557
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
558
- const {
559
- client
560
- } = createClient(createCatalog({
561
- scopeKey: wrongScope
562
- }));
563
- await (0, _vitest.expect)(checkForUpdate({
564
- client,
565
- onError,
566
- updateStrategy: "appVersion"
567
- })).resolves.toBeNull();
568
- (0, _vitest.expect)(onError).toHaveBeenCalledWith(_vitest.expect.objectContaining({
569
- message: "Received an invalid Release catalog"
570
- }));
571
- (0, _vitest.expect)(mocks.acceptReleaseCatalog).not.toHaveBeenCalled();
572
- (0, _vitest.expect)(mocks.commitReleaseSelection).not.toHaveBeenCalled();
573
- (0, _vitest.expect)(mocks.updateBundle).not.toHaveBeenCalled();
574
- });
575
- (0, _vitest.it)("rejects an unexpected Catalog identity before accepting catalog state", async () => {
576
- const active = {
577
- catalogId: "existing-project",
578
- bundleId: CURRENT_BUNDLE_ID,
579
- catalogHash: `sha256:${"b".repeat(64)}`,
580
- channel: CHANNEL,
581
- generation: 1,
582
- kind: "BUNDLE",
583
- releaseId: ACTIVE_RELEASE_ID,
584
- scopeKey: (0, _core.createReleaseCatalogScopeKey)({
585
- channelKey: (0, _core.encodeChannelKey)(CHANNEL),
586
- platform: "ios",
587
- strategy: "APP_VERSION"
588
- }),
589
- selectionContextHash: "old-context"
590
- };
591
- mocks.getActiveUpdateState.mockReturnValueOnce({
592
- activeSelection: active,
593
- highestSeenCatalogs: {},
594
- stableSelection: active,
595
- verificationPending: false
596
- });
597
- const onError = _vitest.vi.fn();
598
- const {
599
- checkForUpdate
600
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./checkForUpdate")));
601
- const {
602
- client
603
- } = createClient();
604
- await (0, _vitest.expect)(checkForUpdate({
605
- client,
606
- onError,
607
- updateStrategy: "appVersion"
608
- })).resolves.toBeNull();
609
- (0, _vitest.expect)(onError).toHaveBeenCalledWith(_vitest.expect.objectContaining({
610
- message: "Release transition rejected: UNSOLICITED_SCOPE"
611
- }));
612
- (0, _vitest.expect)(mocks.acceptReleaseCatalog).not.toHaveBeenCalled();
613
- });
614
- });
615
- //# 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":[]}