@hot-updater/react-native 0.36.7 → 1.0.0-rc.0

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 (239) hide show
  1. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +357 -6
  2. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +268 -34
  3. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +75 -9
  4. package/android/src/main/java/com/hotupdater/NativeConfigUtils.kt +2 -16
  5. package/android/src/main/java/com/hotupdater/ReleaseCatalogCacheService.kt +166 -0
  6. package/android/src/main/java/com/hotupdater/SignatureVerifier.kt +1 -2
  7. package/android/src/newarch/HotUpdater.kt +1 -1
  8. package/android/src/newarch/HotUpdaterModule.kt +116 -0
  9. package/android/src/oldarch/HotUpdater.kt +1 -1
  10. package/android/src/oldarch/HotUpdaterModule.kt +128 -0
  11. package/android/src/oldarch/HotUpdaterSpec.kt +38 -0
  12. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +280 -2
  13. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +57 -2
  14. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +118 -0
  15. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +491 -30
  16. package/ios/HotUpdater/Internal/BundleMetadata.swift +229 -6
  17. package/ios/HotUpdater/Internal/HotUpdater.mm +122 -0
  18. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +176 -7
  19. package/ios/HotUpdater/Internal/ReleaseCatalogCacheService.swift +213 -0
  20. package/lib/commonjs/catalogCacheNative.js +44 -0
  21. package/lib/commonjs/catalogCacheNative.js.map +1 -0
  22. package/lib/commonjs/catalogCacheNative.spec.js +31 -0
  23. package/lib/commonjs/catalogCacheNative.spec.js.map +1 -0
  24. package/lib/commonjs/checkForUpdate.js +231 -60
  25. package/lib/commonjs/checkForUpdate.js.map +1 -1
  26. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +604 -0
  27. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -0
  28. package/lib/commonjs/error.js +8 -1
  29. package/lib/commonjs/error.js.map +1 -1
  30. package/lib/commonjs/{fetchUpdateInfo.js → fetchJSON.js} +11 -14
  31. package/lib/commonjs/fetchJSON.js.map +1 -0
  32. package/lib/commonjs/httpClient.js +153 -0
  33. package/lib/commonjs/httpClient.js.map +1 -0
  34. package/lib/commonjs/httpClient.spec.js +102 -0
  35. package/lib/commonjs/httpClient.spec.js.map +1 -0
  36. package/lib/commonjs/index.js +48 -71
  37. package/lib/commonjs/index.js.map +1 -1
  38. package/lib/commonjs/index.spec.js +117 -161
  39. package/lib/commonjs/index.spec.js.map +1 -1
  40. package/lib/commonjs/iosInterop.spec.js +18 -0
  41. package/lib/commonjs/iosInterop.spec.js.map +1 -0
  42. package/lib/commonjs/native.js +222 -55
  43. package/lib/commonjs/native.js.map +1 -1
  44. package/lib/commonjs/native.spec.js +226 -12
  45. package/lib/commonjs/native.spec.js.map +1 -1
  46. package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js +218 -0
  47. package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js.map +1 -0
  48. package/lib/commonjs/notifyAppReadyAnalytics.js +133 -0
  49. package/lib/commonjs/notifyAppReadyAnalytics.js.map +1 -0
  50. package/lib/commonjs/notifyAppReadyAnalytics.spec.js +246 -0
  51. package/lib/commonjs/notifyAppReadyAnalytics.spec.js.map +1 -0
  52. package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js +24 -0
  53. package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js.map +1 -0
  54. package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js +117 -0
  55. package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js.map +1 -0
  56. package/lib/commonjs/releaseCatalogCache.js +179 -0
  57. package/lib/commonjs/releaseCatalogCache.js.map +1 -0
  58. package/lib/commonjs/releaseCatalogCache.spec.js +195 -0
  59. package/lib/commonjs/releaseCatalogCache.spec.js.map +1 -0
  60. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +64 -0
  61. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +1 -0
  62. package/lib/commonjs/sdkVersion.js +1 -1
  63. package/lib/commonjs/sdkVersion.js.map +1 -1
  64. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  65. package/lib/commonjs/types.js +0 -12
  66. package/lib/commonjs/types.js.map +1 -1
  67. package/lib/commonjs/wrap.js +7 -82
  68. package/lib/commonjs/wrap.js.map +1 -1
  69. package/lib/commonjs/wrap.spec.js +203 -56
  70. package/lib/commonjs/wrap.spec.js.map +1 -1
  71. package/lib/commonjs/wrap.types.js +6 -0
  72. package/lib/commonjs/wrap.types.js.map +1 -0
  73. package/lib/module/catalogCacheNative.js +36 -0
  74. package/lib/module/catalogCacheNative.js.map +1 -0
  75. package/lib/module/catalogCacheNative.spec.js +31 -0
  76. package/lib/module/catalogCacheNative.spec.js.map +1 -0
  77. package/lib/module/checkForUpdate.js +233 -62
  78. package/lib/module/checkForUpdate.js.map +1 -1
  79. package/lib/module/checkForUpdate.releaseCatalog.spec.js +603 -0
  80. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -0
  81. package/lib/module/error.js +6 -0
  82. package/lib/module/error.js.map +1 -1
  83. package/lib/module/{fetchUpdateInfo.js → fetchJSON.js} +9 -12
  84. package/lib/module/fetchJSON.js.map +1 -0
  85. package/lib/module/httpClient.js +148 -0
  86. package/lib/module/httpClient.js.map +1 -0
  87. package/lib/module/httpClient.spec.js +102 -0
  88. package/lib/module/httpClient.spec.js.map +1 -0
  89. package/lib/module/index.js +49 -66
  90. package/lib/module/index.js.map +1 -1
  91. package/lib/module/index.spec.js +117 -161
  92. package/lib/module/index.spec.js.map +1 -1
  93. package/lib/module/iosInterop.spec.js +18 -0
  94. package/lib/module/iosInterop.spec.js.map +1 -0
  95. package/lib/module/native.js +206 -51
  96. package/lib/module/native.js.map +1 -1
  97. package/lib/module/native.spec.js +226 -12
  98. package/lib/module/native.spec.js.map +1 -1
  99. package/lib/module/notifyAppReadyAnalytics.boundary.spec.js +217 -0
  100. package/lib/module/notifyAppReadyAnalytics.boundary.spec.js.map +1 -0
  101. package/lib/module/notifyAppReadyAnalytics.js +128 -0
  102. package/lib/module/notifyAppReadyAnalytics.js.map +1 -0
  103. package/lib/module/notifyAppReadyAnalytics.spec.js +245 -0
  104. package/lib/module/notifyAppReadyAnalytics.spec.js.map +1 -0
  105. package/lib/module/notifyAppReadyAnalytics.test-utils.js +18 -0
  106. package/lib/module/notifyAppReadyAnalytics.test-utils.js.map +1 -0
  107. package/lib/module/notifyAppReadyAnalytics.transport.spec.js +116 -0
  108. package/lib/module/notifyAppReadyAnalytics.transport.spec.js.map +1 -0
  109. package/lib/module/releaseCatalogCache.js +171 -0
  110. package/lib/module/releaseCatalogCache.js.map +1 -0
  111. package/lib/module/releaseCatalogCache.spec.js +195 -0
  112. package/lib/module/releaseCatalogCache.spec.js.map +1 -0
  113. package/lib/module/releaseCatalogCacheNativeContract.spec.js +64 -0
  114. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +1 -0
  115. package/lib/module/sdkVersion.js +1 -1
  116. package/lib/module/sdkVersion.js.map +1 -1
  117. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  118. package/lib/module/types.js +0 -12
  119. package/lib/module/types.js.map +1 -1
  120. package/lib/module/wrap.js +6 -81
  121. package/lib/module/wrap.js.map +1 -1
  122. package/lib/module/wrap.spec.js +203 -56
  123. package/lib/module/wrap.spec.js.map +1 -1
  124. package/lib/module/wrap.types.js +4 -0
  125. package/lib/module/wrap.types.js.map +1 -0
  126. package/lib/typescript/commonjs/catalogCacheNative.d.ts +4 -0
  127. package/lib/typescript/commonjs/catalogCacheNative.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/checkForUpdate.d.ts +14 -4
  129. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/error.d.ts +3 -0
  131. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/fetchJSON.d.ts +6 -0
  133. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/httpClient.d.ts +56 -0
  135. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/index.d.ts +32 -41
  137. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/native.d.ts +83 -18
  139. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts +13 -0
  141. package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts +8 -0
  143. package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +25 -0
  145. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  147. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +40 -5
  149. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/types.d.ts +0 -118
  151. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/wrap.d.ts +2 -191
  153. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/wrap.types.d.ts +65 -0
  155. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -0
  156. package/lib/typescript/module/catalogCacheNative.d.ts +4 -0
  157. package/lib/typescript/module/catalogCacheNative.d.ts.map +1 -0
  158. package/lib/typescript/module/checkForUpdate.d.ts +14 -4
  159. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  160. package/lib/typescript/module/error.d.ts +3 -0
  161. package/lib/typescript/module/error.d.ts.map +1 -1
  162. package/lib/typescript/module/fetchJSON.d.ts +6 -0
  163. package/lib/typescript/module/fetchJSON.d.ts.map +1 -0
  164. package/lib/typescript/module/httpClient.d.ts +56 -0
  165. package/lib/typescript/module/httpClient.d.ts.map +1 -0
  166. package/lib/typescript/module/index.d.ts +32 -41
  167. package/lib/typescript/module/index.d.ts.map +1 -1
  168. package/lib/typescript/module/native.d.ts +83 -18
  169. package/lib/typescript/module/native.d.ts.map +1 -1
  170. package/lib/typescript/module/notifyAppReadyAnalytics.d.ts +13 -0
  171. package/lib/typescript/module/notifyAppReadyAnalytics.d.ts.map +1 -0
  172. package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts +8 -0
  173. package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts.map +1 -0
  174. package/lib/typescript/module/releaseCatalogCache.d.ts +25 -0
  175. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -0
  176. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  177. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  178. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +40 -5
  179. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  180. package/lib/typescript/module/types.d.ts +0 -118
  181. package/lib/typescript/module/types.d.ts.map +1 -1
  182. package/lib/typescript/module/wrap.d.ts +2 -191
  183. package/lib/typescript/module/wrap.d.ts.map +1 -1
  184. package/lib/typescript/module/wrap.types.d.ts +65 -0
  185. package/lib/typescript/module/wrap.types.d.ts.map +1 -0
  186. package/package.json +6 -24
  187. package/src/catalogCacheNative.spec.ts +63 -0
  188. package/src/catalogCacheNative.ts +74 -0
  189. package/src/checkForUpdate.releaseCatalog.spec.ts +596 -0
  190. package/src/checkForUpdate.ts +368 -97
  191. package/src/error.ts +7 -0
  192. package/src/{fetchUpdateInfo.ts → fetchJSON.ts} +8 -15
  193. package/src/httpClient.spec.ts +132 -0
  194. package/src/httpClient.ts +261 -0
  195. package/src/index.spec.ts +110 -203
  196. package/src/index.ts +70 -93
  197. package/src/iosInterop.spec.ts +30 -0
  198. package/src/native.spec.ts +226 -10
  199. package/src/native.ts +385 -83
  200. package/src/notifyAppReadyAnalytics.boundary.spec.ts +234 -0
  201. package/src/notifyAppReadyAnalytics.spec.ts +243 -0
  202. package/src/notifyAppReadyAnalytics.test-utils.ts +31 -0
  203. package/src/notifyAppReadyAnalytics.transport.spec.ts +130 -0
  204. package/src/notifyAppReadyAnalytics.ts +194 -0
  205. package/src/releaseCatalogCache.spec.ts +282 -0
  206. package/src/releaseCatalogCache.ts +341 -0
  207. package/src/releaseCatalogCacheNativeContract.spec.ts +80 -0
  208. package/src/sdkVersion.ts +1 -1
  209. package/src/specs/NativeHotUpdater.ts +51 -5
  210. package/src/types.ts +0 -140
  211. package/src/wrap.spec.ts +251 -56
  212. package/src/wrap.tsx +23 -318
  213. package/src/wrap.types.ts +78 -0
  214. package/android/src/main/java/com/hotupdater/StringResourceUtils.kt +0 -45
  215. package/app.plugin.js +0 -1
  216. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.h +0 -7
  217. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.mm +0 -4
  218. package/lib/commonjs/DefaultResolver.js +0 -50
  219. package/lib/commonjs/DefaultResolver.js.map +0 -1
  220. package/lib/commonjs/DefaultResolver.spec.js +0 -144
  221. package/lib/commonjs/DefaultResolver.spec.js.map +0 -1
  222. package/lib/commonjs/fetchUpdateInfo.js.map +0 -1
  223. package/lib/module/DefaultResolver.js +0 -46
  224. package/lib/module/DefaultResolver.js.map +0 -1
  225. package/lib/module/DefaultResolver.spec.js +0 -144
  226. package/lib/module/DefaultResolver.spec.js.map +0 -1
  227. package/lib/module/fetchUpdateInfo.js.map +0 -1
  228. package/lib/typescript/commonjs/DefaultResolver.d.ts +0 -11
  229. package/lib/typescript/commonjs/DefaultResolver.d.ts.map +0 -1
  230. package/lib/typescript/commonjs/fetchUpdateInfo.d.ts +0 -7
  231. package/lib/typescript/commonjs/fetchUpdateInfo.d.ts.map +0 -1
  232. package/lib/typescript/module/DefaultResolver.d.ts +0 -11
  233. package/lib/typescript/module/DefaultResolver.d.ts.map +0 -1
  234. package/lib/typescript/module/fetchUpdateInfo.d.ts +0 -7
  235. package/lib/typescript/module/fetchUpdateInfo.d.ts.map +0 -1
  236. package/plugin/build/transformers.js +0 -314
  237. package/plugin/build/withHotUpdater.js +0 -228
  238. package/src/DefaultResolver.spec.ts +0 -193
  239. package/src/DefaultResolver.ts +0 -63
@@ -9,15 +9,16 @@ Object.defineProperty(exports, "HotUpdaterErrorCode", {
9
9
  return _error.HotUpdaterErrorCode;
10
10
  }
11
11
  });
12
- exports.isChannelSwitched = exports.getMinBundleId = exports.getManifest = exports.getFingerprintHash = exports.getDefaultChannel = exports.getCrashHistory = exports.getCohort = exports.getChannel = exports.getBundleId = exports.getBaseURL = exports.getAppVersion = exports.clearCrashHistory = exports.addListener = void 0;
12
+ exports.isChannelSwitched = exports.getReleaseId = exports.getPublicActiveUpdateState = exports.getPersistedUserIdentity = exports.getMinimumReleaseId = exports.getManifest = exports.getInstallId = exports.getFingerprintHash = exports.getDefaultChannel = exports.getCrashHistory = exports.getCohort = exports.getChannel = exports.getBundleId = exports.getBaseURL = exports.getAppVersion = exports.getActiveUpdateState = exports.commitReleaseSelection = exports.clearCrashHistory = exports.addListener = exports.acceptReleaseCatalog = void 0;
13
13
  Object.defineProperty(exports, "isHotUpdaterError", {
14
14
  enumerable: true,
15
15
  get: function () {
16
16
  return _error.isHotUpdaterError;
17
17
  }
18
18
  });
19
- exports.setCohort = exports.resetChannel = exports.reload = exports.notifyAppReady = void 0;
19
+ exports.setCohort = exports.resetChannel = exports.reload = exports.readNotifyAppReady = exports.notifyAppReady = exports.isReleaseSelectionCurrent = void 0;
20
20
  exports.setReloadBehavior = setReloadBehavior;
21
+ exports.setUser = setUser;
21
22
  exports.updateBundle = updateBundle;
22
23
  var _core = require("@hot-updater/core");
23
24
  var _reactNative = require("react-native");
@@ -153,7 +154,7 @@ const getNativeBundleId = () => {
153
154
  return nativeModule.getBundleId();
154
155
  };
155
156
  const resolveBundleId = bundleId => {
156
- return !bundleId || bundleId === NIL_UUID ? getMinBundleId() : bundleId;
157
+ return !bundleId || bundleId === NIL_UUID ? getMinimumReleaseId() : bundleId;
157
158
  };
158
159
  const getFreshBundleId = () => {
159
160
  const resolvedBundleId = resolveBundleId(getNativeBundleId());
@@ -171,6 +172,46 @@ const addListener = (eventName, listener) => {
171
172
  subscription.remove();
172
173
  };
173
174
  };
175
+ exports.addListener = addListener;
176
+ const requireReleaseCatalogNativeMethod = name => {
177
+ const method = _NativeHotUpdater.default[name];
178
+ if (typeof method !== "function") {
179
+ throw new Error(`[HotUpdater] Native module is missing '${name}()'. Rebuild the native app before using Release catalogs.`);
180
+ }
181
+ return method.bind(_NativeHotUpdater.default);
182
+ };
183
+ const acceptReleaseCatalog = input => requireReleaseCatalogNativeMethod("acceptReleaseCatalog")(input);
184
+ exports.acceptReleaseCatalog = acceptReleaseCatalog;
185
+ const getActiveUpdateState = () => {
186
+ const value = requireReleaseCatalogNativeMethod("getActiveUpdateState")();
187
+ if (typeof value === "string") {
188
+ return JSON.parse(value);
189
+ }
190
+ return value;
191
+ };
192
+ exports.getActiveUpdateState = getActiveUpdateState;
193
+ const getPublicActiveUpdateState = () => {
194
+ const state = getActiveUpdateState();
195
+ const selection = receipt => receipt === null ? null : {
196
+ kind: receipt.kind,
197
+ releaseId: receipt.releaseId,
198
+ bundleId: receipt.bundleId,
199
+ channel: receipt.channel
200
+ };
201
+ return {
202
+ activeSelection: selection(state.activeSelection),
203
+ stableSelection: selection(state.stableSelection),
204
+ verificationPending: state.verificationPending
205
+ };
206
+ };
207
+ exports.getPublicActiveUpdateState = getPublicActiveUpdateState;
208
+ const isReleaseSelectionCurrent = input => requireReleaseCatalogNativeMethod("isReleaseSelectionCurrent")(input);
209
+ exports.isReleaseSelectionCurrent = isReleaseSelectionCurrent;
210
+ const commitReleaseSelection = async input => {
211
+ const ok = await requireReleaseCatalogNativeMethod("commitReleaseSelection")(input);
212
+ if (ok) sessionState.markBundleInstalled(input.selection.bundleId, input.selection.channel);
213
+ return ok;
214
+ };
174
215
 
175
216
  /**
176
217
  * Downloads files and applies them to the app.
@@ -179,15 +220,11 @@ const addListener = (eventName, listener) => {
179
220
  * @returns {Promise<boolean>} Resolves with true if download was successful
180
221
  * @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
181
222
  */
182
-
183
- /**
184
- * @deprecated Use updateBundle(params: UpdateBundleParamsWithStatus) instead
185
- */
186
- exports.addListener = addListener;
187
- async function updateBundle(paramsOrBundleId, fileUrl) {
188
- const updateBundleId = typeof paramsOrBundleId === "string" ? paramsOrBundleId : paramsOrBundleId.bundleId;
189
- const status = typeof paramsOrBundleId === "string" ? "UPDATE" : paramsOrBundleId.status;
190
- const targetFileUrl = typeof paramsOrBundleId === "string" ? fileUrl ?? null : paramsOrBundleId.fileUrl;
223
+ exports.commitReleaseSelection = commitReleaseSelection;
224
+ async function updateBundle(params) {
225
+ const updateBundleId = params.bundleId;
226
+ const status = params.status;
227
+ const targetFileUrl = params.fileUrl;
191
228
  const currentBundleId = status === "UPDATE" ? getFreshBundleId() : undefined;
192
229
 
193
230
  // If native is still on the same bundle we installed in this session,
@@ -196,7 +233,7 @@ async function updateBundle(paramsOrBundleId, fileUrl) {
196
233
  if (status === "UPDATE" && sessionState.hasInstalledBundle(updateBundleId) && currentBundleId === updateBundleId) {
197
234
  return true;
198
235
  }
199
- const shouldSkipCurrentBundleIdCheck = typeof paramsOrBundleId === "string" ? false : paramsOrBundleId.shouldSkipCurrentBundleIdCheck === true;
236
+ const shouldSkipCurrentBundleIdCheck = params.shouldSkipCurrentBundleIdCheck === true;
200
237
  if (!shouldSkipCurrentBundleIdCheck && status === "UPDATE" && currentBundleId !== undefined && updateBundleId.localeCompare(currentBundleId) <= 0) {
201
238
  throw new Error("Update bundle id is not newer than the current bundle id. Preventing infinite update loop.");
202
239
  }
@@ -204,13 +241,14 @@ async function updateBundle(paramsOrBundleId, fileUrl) {
204
241
  // In-flight guard: return the same promise if the same bundle is already updating.
205
242
  const existing = sessionState.getInflightUpdate(updateBundleId);
206
243
  if (existing) return existing;
207
- const targetFileHash = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.fileHash;
208
- const targetChannel = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.channel;
209
- const targetManifestUrl = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.manifestUrl;
210
- const targetManifestFileHash = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.manifestFileHash;
211
- const targetChangedAssets = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.changedAssets;
244
+ const targetFileHash = params.fileHash;
245
+ const targetChannel = params.channel;
246
+ const targetManifestUrl = params.manifestUrl;
247
+ const targetManifestFileHash = params.manifestFileHash;
248
+ const targetChangedAssets = params.changedAssets;
212
249
  const promise = (async () => {
213
250
  try {
251
+ const selection = params.selection;
214
252
  const ok = await _NativeHotUpdater.default.updateBundle({
215
253
  bundleId: updateBundleId,
216
254
  channel: targetChannel,
@@ -218,7 +256,10 @@ async function updateBundle(paramsOrBundleId, fileUrl) {
218
256
  fileUrl: targetFileUrl,
219
257
  fileHash: targetFileHash ?? null,
220
258
  manifestFileHash: targetManifestFileHash ?? null,
221
- manifestUrl: targetManifestUrl ?? null
259
+ manifestUrl: targetManifestUrl ?? null,
260
+ ...(selection === undefined ? {} : {
261
+ selection
262
+ })
222
263
  });
223
264
  if (ok) {
224
265
  sessionState.markBundleInstalled(updateBundleId, targetChannel);
@@ -305,15 +346,16 @@ function setReloadBehavior(...args) {
305
346
  }
306
347
 
307
348
  /**
308
- * Fetches the minimum bundle id, which represents the initial bundle of the app
309
- * since it is created at build time.
349
+ * Fetches the build-time minimum Release id.
310
350
  *
311
- * @returns {string} Resolves with the minimum bundle id or null if not available.
351
+ * @returns {string} The minimum Release id.
312
352
  */
313
- const getMinBundleId = () => {
353
+ const getMinimumReleaseId = () => {
314
354
  const constants = _NativeHotUpdater.default.getConstants();
315
355
  return constants.MIN_BUNDLE_ID;
316
356
  };
357
+ exports.getMinimumReleaseId = getMinimumReleaseId;
358
+ const getReleaseId = async () => getActiveUpdateState().activeSelection?.releaseId ?? null;
317
359
 
318
360
  /**
319
361
  * Fetches the current bundle version id.
@@ -325,7 +367,7 @@ const getMinBundleId = () => {
325
367
  *
326
368
  * @returns {string} Resolves with the current version id.
327
369
  */
328
- exports.getMinBundleId = getMinBundleId;
370
+ exports.getReleaseId = getReleaseId;
329
371
  const getBundleId = () => {
330
372
  const cachedBundleId = sessionState.getCachedBundleId();
331
373
  if (cachedBundleId !== undefined) {
@@ -401,59 +443,184 @@ const getFingerprintHash = () => {
401
443
  const constants = _NativeHotUpdater.default.getConstants();
402
444
  return constants.FINGERPRINT_HASH;
403
445
  };
446
+ exports.getFingerprintHash = getFingerprintHash;
447
+ const getInstallId = () => {
448
+ const nativeModule = _NativeHotUpdater.default;
449
+ if (typeof nativeModule.getInstallId !== "function") {
450
+ throw new Error("[HotUpdater] Native module is missing 'getInstallId()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
451
+ }
452
+ return nativeModule.getInstallId();
453
+ };
454
+ exports.getInstallId = getInstallId;
455
+ const getPersistedUserIdentity = () => {
456
+ const nativeModule = _NativeHotUpdater.default;
457
+ if (typeof nativeModule.getUserId !== "function" || typeof nativeModule.getUsername !== "function") {
458
+ throw new Error("[HotUpdater] Native module is missing 'getUserId()' or 'getUsername()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
459
+ }
460
+ const userId = nativeModule.getUserId();
461
+ const username = nativeModule.getUsername();
462
+ return {
463
+ ...(userId != null ? {
464
+ userId
465
+ } : {}),
466
+ ...(username != null ? {
467
+ username
468
+ } : {})
469
+ };
470
+ };
471
+ exports.getPersistedUserIdentity = getPersistedUserIdentity;
472
+ function setUser(params) {
473
+ const nativeModule = _NativeHotUpdater.default;
474
+ if (typeof nativeModule.setUser !== "function") {
475
+ throw new Error("[HotUpdater] Native module is missing 'setUser()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
476
+ }
477
+ if (params === null) {
478
+ nativeModule.setUser(null, null);
479
+ return;
480
+ }
481
+ const normalizedUserId = params.userId === null || params.userId === undefined ? null : String(params.userId);
482
+ nativeModule.setUser(normalizedUserId, params.username ?? null);
483
+ }
404
484
 
405
485
  /**
406
486
  * Result returned by notifyAppReady()
407
487
  */
408
- exports.getFingerprintHash = getFingerprintHash;
488
+
489
+ const isPersistedUpdateStrategy = value => {
490
+ return value === "appVersion" || value === "fingerprint";
491
+ };
492
+ const readRawNotifyAppReadyResult = () => {
493
+ const result = _NativeHotUpdater.default.notifyAppReady();
494
+ if (typeof result === "string") {
495
+ try {
496
+ const parsed = JSON.parse(result);
497
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
498
+ return {};
499
+ }
500
+ return parsed;
501
+ } catch {
502
+ return {};
503
+ }
504
+ }
505
+ if (typeof result !== "object" || result === null || Array.isArray(result)) {
506
+ return {};
507
+ }
508
+ return result;
509
+ };
510
+ const readDirectionalBundleId = bundleId => {
511
+ if (typeof bundleId !== "string") {
512
+ return null;
513
+ }
514
+ const normalizedBundleId = bundleId.trim();
515
+ if (normalizedBundleId.length === 0) {
516
+ return null;
517
+ }
518
+ return resolveBundleId(normalizedBundleId);
519
+ };
520
+ const readDirectionalReleaseId = releaseId => {
521
+ if (typeof releaseId !== "string") return null;
522
+ const normalizedReleaseId = releaseId.trim();
523
+ return normalizedReleaseId.length === 0 ? null : normalizedReleaseId;
524
+ };
525
+ const getNotifyAppReadyTransition = result => {
526
+ if (result.status === "UPDATE_APPLIED" || result.status === "PROMOTED") {
527
+ const fromBundleId = readDirectionalBundleId(result.fromBundleId);
528
+ const toBundleId = readDirectionalBundleId(result.toBundleId);
529
+ if (fromBundleId && toBundleId) {
530
+ return {
531
+ status: "UPDATE_APPLIED",
532
+ fromBundleId,
533
+ toBundleId,
534
+ fromReleaseId: readDirectionalReleaseId(result.fromReleaseId),
535
+ toReleaseId: readDirectionalReleaseId(result.toReleaseId)
536
+ };
537
+ }
538
+ }
539
+ if (result.status === "RECOVERED") {
540
+ const fromBundleId = readDirectionalBundleId(result.fromBundleId);
541
+ const toBundleId = readDirectionalBundleId(result.toBundleId);
542
+ if (fromBundleId && toBundleId) {
543
+ return {
544
+ status: "RECOVERED",
545
+ fromBundleId,
546
+ toBundleId,
547
+ fromReleaseId: readDirectionalReleaseId(result.fromReleaseId),
548
+ toReleaseId: readDirectionalReleaseId(result.toReleaseId)
549
+ };
550
+ }
551
+ }
552
+ return null;
553
+ };
554
+ const getNotifyAppReadyAnalyticsEvent = result => {
555
+ const transition = getNotifyAppReadyTransition(result);
556
+ if (!transition || !isPersistedUpdateStrategy(result.updateStrategy)) {
557
+ return null;
558
+ }
559
+ return {
560
+ type: transition.status,
561
+ fromBundleId: transition.fromBundleId,
562
+ toBundleId: transition.toBundleId,
563
+ ...(transition.fromReleaseId === null ? {} : {
564
+ fromReleaseId: transition.fromReleaseId
565
+ }),
566
+ ...(transition.toReleaseId === null ? {} : {
567
+ toReleaseId: transition.toReleaseId
568
+ }),
569
+ updateStrategy: result.updateStrategy
570
+ };
571
+ };
572
+ const normalizeNotifyAppReadyResult = result => {
573
+ const transition = getNotifyAppReadyTransition(result);
574
+ if (transition) {
575
+ return {
576
+ status: transition.status,
577
+ fromBundleId: transition.fromBundleId,
578
+ toBundleId: transition.toBundleId,
579
+ ...(transition.fromReleaseId === null ? {} : {
580
+ fromReleaseId: transition.fromReleaseId
581
+ }),
582
+ ...(transition.toReleaseId === null ? {} : {
583
+ toReleaseId: transition.toReleaseId
584
+ })
585
+ };
586
+ }
587
+ return {
588
+ status: "UNCHANGED"
589
+ };
590
+ };
591
+ const readNotifyAppReady = () => {
592
+ const rawResult = readRawNotifyAppReadyResult();
593
+ return {
594
+ result: normalizeNotifyAppReadyResult(rawResult),
595
+ analyticsEvent: getNotifyAppReadyAnalyticsEvent(rawResult),
596
+ pending: rawResult.status === "PENDING"
597
+ };
598
+ };
599
+
409
600
  /**
410
601
  * Reads the native launch report for the current process.
411
602
  *
412
603
  * This function is called automatically after the app has rendered.
413
604
  *
414
605
  * @returns {NotifyAppReadyResult} Bundle state information
415
- * - `status: "RECOVERED"` - App recovered from crash, rollback occurred (ROLLBACK event)
416
- * - `status: "STABLE"` - No changes, already stable
417
- * - `crashedBundleId` - Present only when status is "RECOVERED"
606
+ * - `status: "UNCHANGED"` - No qualifying OTA transition to report
607
+ * - `status: "UPDATE_APPLIED"` - A pending update became active
608
+ * - `status: "RECOVERED"` - Crash recovery rolled back to another bundle
418
609
  *
419
610
  * @example
420
611
  * ```ts
421
612
  * const result = HotUpdater.notifyAppReady();
422
613
  *
423
614
  * if (result.status === "RECOVERED") {
424
- * // Send ROLLBACK analytics event
425
- * analytics.track("bundle_rollback", {
426
- * crashedBundleId: result.crashedBundleId,
427
- * });
615
+ * console.log(result.fromBundleId, result.toBundleId);
428
616
  * }
429
617
  * ```
430
618
  */
619
+ exports.readNotifyAppReady = readNotifyAppReady;
431
620
  const notifyAppReady = () => {
432
- const result = _NativeHotUpdater.default.notifyAppReady();
433
- // Older Android old-arch implementations returned JSON strings.
434
- if (typeof result === "string") {
435
- try {
436
- return normalizeNotifyAppReadyResult(JSON.parse(result));
437
- } catch {
438
- return {
439
- status: "STABLE"
440
- };
441
- }
442
- }
443
- return normalizeNotifyAppReadyResult(result);
621
+ return readNotifyAppReady().result;
444
622
  };
445
623
  exports.notifyAppReady = notifyAppReady;
446
- const normalizeNotifyAppReadyResult = result => {
447
- if (result.status === "RECOVERED") {
448
- return {
449
- status: "RECOVERED",
450
- crashedBundleId: result.crashedBundleId
451
- };
452
- }
453
- return {
454
- status: "STABLE"
455
- };
456
- };
457
624
  const createEmptyManifest = () => ({
458
625
  bundleId: getBundleId(),
459
626
  assets: {}
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_reactNative","_error","_NativeHotUpdater","_interopRequireDefault","e","__esModule","default","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","normalizeCohortValue","isValidCohort","Error","INVALID_COHORT_ERROR_MESSAGE","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","HotUpdaterNative","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","NativeEventEmitter","addListener","eventName","listener","subscription","remove","exports","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","status","targetFileUrl","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetFileHash","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetChangedAssets","changedAssets","ok","getAppVersion","APP_VERSION","reload","Platform","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","JSON","parse","getFingerprintHash","FINGERPRINT_HASH","notifyAppReady","result","normalizeNotifyAppReadyResult","crashedBundleId","Array","isArray","bundleIdValue","trim","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_reactNative","_error","_NativeHotUpdater","_interopRequireDefault","e","__esModule","default","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","normalizeCohortValue","isValidCohort","Error","INVALID_COHORT_ERROR_MESSAGE","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","HotUpdaterNative","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinimumReleaseId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","NativeEventEmitter","addListener","eventName","listener","subscription","remove","exports","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","updateBundle","params","updateBundleId","status","targetFileUrl","fileUrl","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetFileHash","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetChangedAssets","changedAssets","getAppVersion","APP_VERSION","reload","Platform","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getReleaseId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","getPersistedUserIdentity","getUserId","getUsername","userId","username","setUser","normalizedUserId","String","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getNotifyAppReadyAnalyticsEvent","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","analyticsEvent","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}