@hot-updater/react-native 1.0.0-rc.2 → 1.0.0-rc.22

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