@hot-updater/react-native 0.36.6 → 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
@@ -134,7 +134,7 @@ const getNativeBundleId = () => {
134
134
  return nativeModule.getBundleId();
135
135
  };
136
136
  const resolveBundleId = bundleId => {
137
- return !bundleId || bundleId === NIL_UUID ? getMinBundleId() : bundleId;
137
+ return !bundleId || bundleId === NIL_UUID ? getMinimumReleaseId() : bundleId;
138
138
  };
139
139
  const getFreshBundleId = () => {
140
140
  const resolvedBundleId = resolveBundleId(getNativeBundleId());
@@ -152,6 +152,41 @@ export const addListener = (eventName, listener) => {
152
152
  subscription.remove();
153
153
  };
154
154
  };
155
+ const requireReleaseCatalogNativeMethod = name => {
156
+ const method = HotUpdaterNative[name];
157
+ if (typeof method !== "function") {
158
+ throw new Error(`[HotUpdater] Native module is missing '${name}()'. Rebuild the native app before using Release catalogs.`);
159
+ }
160
+ return method.bind(HotUpdaterNative);
161
+ };
162
+ export const acceptReleaseCatalog = input => requireReleaseCatalogNativeMethod("acceptReleaseCatalog")(input);
163
+ export const getActiveUpdateState = () => {
164
+ const value = requireReleaseCatalogNativeMethod("getActiveUpdateState")();
165
+ if (typeof value === "string") {
166
+ return JSON.parse(value);
167
+ }
168
+ return value;
169
+ };
170
+ export const getPublicActiveUpdateState = () => {
171
+ const state = getActiveUpdateState();
172
+ const selection = receipt => receipt === null ? null : {
173
+ kind: receipt.kind,
174
+ releaseId: receipt.releaseId,
175
+ bundleId: receipt.bundleId,
176
+ channel: receipt.channel
177
+ };
178
+ return {
179
+ activeSelection: selection(state.activeSelection),
180
+ stableSelection: selection(state.stableSelection),
181
+ verificationPending: state.verificationPending
182
+ };
183
+ };
184
+ export const isReleaseSelectionCurrent = input => requireReleaseCatalogNativeMethod("isReleaseSelectionCurrent")(input);
185
+ export const commitReleaseSelection = async input => {
186
+ const ok = await requireReleaseCatalogNativeMethod("commitReleaseSelection")(input);
187
+ if (ok) sessionState.markBundleInstalled(input.selection.bundleId, input.selection.channel);
188
+ return ok;
189
+ };
155
190
 
156
191
  /**
157
192
  * Downloads files and applies them to the app.
@@ -160,15 +195,10 @@ export const addListener = (eventName, listener) => {
160
195
  * @returns {Promise<boolean>} Resolves with true if download was successful
161
196
  * @throws {Error} Rejects with error.code from HotUpdaterErrorCode enum and error.message
162
197
  */
163
-
164
- /**
165
- * @deprecated Use updateBundle(params: UpdateBundleParamsWithStatus) instead
166
- */
167
-
168
- export async function updateBundle(paramsOrBundleId, fileUrl) {
169
- const updateBundleId = typeof paramsOrBundleId === "string" ? paramsOrBundleId : paramsOrBundleId.bundleId;
170
- const status = typeof paramsOrBundleId === "string" ? "UPDATE" : paramsOrBundleId.status;
171
- const targetFileUrl = typeof paramsOrBundleId === "string" ? fileUrl ?? null : paramsOrBundleId.fileUrl;
198
+ export async function updateBundle(params) {
199
+ const updateBundleId = params.bundleId;
200
+ const status = params.status;
201
+ const targetFileUrl = params.fileUrl;
172
202
  const currentBundleId = status === "UPDATE" ? getFreshBundleId() : undefined;
173
203
 
174
204
  // If native is still on the same bundle we installed in this session,
@@ -177,7 +207,7 @@ export async function updateBundle(paramsOrBundleId, fileUrl) {
177
207
  if (status === "UPDATE" && sessionState.hasInstalledBundle(updateBundleId) && currentBundleId === updateBundleId) {
178
208
  return true;
179
209
  }
180
- const shouldSkipCurrentBundleIdCheck = typeof paramsOrBundleId === "string" ? false : paramsOrBundleId.shouldSkipCurrentBundleIdCheck === true;
210
+ const shouldSkipCurrentBundleIdCheck = params.shouldSkipCurrentBundleIdCheck === true;
181
211
  if (!shouldSkipCurrentBundleIdCheck && status === "UPDATE" && currentBundleId !== undefined && updateBundleId.localeCompare(currentBundleId) <= 0) {
182
212
  throw new Error("Update bundle id is not newer than the current bundle id. Preventing infinite update loop.");
183
213
  }
@@ -185,13 +215,14 @@ export async function updateBundle(paramsOrBundleId, fileUrl) {
185
215
  // In-flight guard: return the same promise if the same bundle is already updating.
186
216
  const existing = sessionState.getInflightUpdate(updateBundleId);
187
217
  if (existing) return existing;
188
- const targetFileHash = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.fileHash;
189
- const targetChannel = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.channel;
190
- const targetManifestUrl = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.manifestUrl;
191
- const targetManifestFileHash = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.manifestFileHash;
192
- const targetChangedAssets = typeof paramsOrBundleId === "string" ? undefined : paramsOrBundleId.changedAssets;
218
+ const targetFileHash = params.fileHash;
219
+ const targetChannel = params.channel;
220
+ const targetManifestUrl = params.manifestUrl;
221
+ const targetManifestFileHash = params.manifestFileHash;
222
+ const targetChangedAssets = params.changedAssets;
193
223
  const promise = (async () => {
194
224
  try {
225
+ const selection = params.selection;
195
226
  const ok = await HotUpdaterNative.updateBundle({
196
227
  bundleId: updateBundleId,
197
228
  channel: targetChannel,
@@ -199,7 +230,10 @@ export async function updateBundle(paramsOrBundleId, fileUrl) {
199
230
  fileUrl: targetFileUrl,
200
231
  fileHash: targetFileHash ?? null,
201
232
  manifestFileHash: targetManifestFileHash ?? null,
202
- manifestUrl: targetManifestUrl ?? null
233
+ manifestUrl: targetManifestUrl ?? null,
234
+ ...(selection === undefined ? {} : {
235
+ selection
236
+ })
203
237
  });
204
238
  if (ok) {
205
239
  sessionState.markBundleInstalled(updateBundleId, targetChannel);
@@ -284,15 +318,15 @@ export function setReloadBehavior(...args) {
284
318
  }
285
319
 
286
320
  /**
287
- * Fetches the minimum bundle id, which represents the initial bundle of the app
288
- * since it is created at build time.
321
+ * Fetches the build-time minimum Release id.
289
322
  *
290
- * @returns {string} Resolves with the minimum bundle id or null if not available.
323
+ * @returns {string} The minimum Release id.
291
324
  */
292
- export const getMinBundleId = () => {
325
+ export const getMinimumReleaseId = () => {
293
326
  const constants = HotUpdaterNative.getConstants();
294
327
  return constants.MIN_BUNDLE_ID;
295
328
  };
329
+ export const getReleaseId = async () => getActiveUpdateState().activeSelection?.releaseId ?? null;
296
330
 
297
331
  /**
298
332
  * Fetches the current bundle version id.
@@ -374,57 +408,178 @@ export const getFingerprintHash = () => {
374
408
  const constants = HotUpdaterNative.getConstants();
375
409
  return constants.FINGERPRINT_HASH;
376
410
  };
411
+ export const getInstallId = () => {
412
+ const nativeModule = HotUpdaterNative;
413
+ if (typeof nativeModule.getInstallId !== "function") {
414
+ 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.");
415
+ }
416
+ return nativeModule.getInstallId();
417
+ };
418
+ export const getPersistedUserIdentity = () => {
419
+ const nativeModule = HotUpdaterNative;
420
+ if (typeof nativeModule.getUserId !== "function" || typeof nativeModule.getUsername !== "function") {
421
+ 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.");
422
+ }
423
+ const userId = nativeModule.getUserId();
424
+ const username = nativeModule.getUsername();
425
+ return {
426
+ ...(userId != null ? {
427
+ userId
428
+ } : {}),
429
+ ...(username != null ? {
430
+ username
431
+ } : {})
432
+ };
433
+ };
434
+ export function setUser(params) {
435
+ const nativeModule = HotUpdaterNative;
436
+ if (typeof nativeModule.setUser !== "function") {
437
+ 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.");
438
+ }
439
+ if (params === null) {
440
+ nativeModule.setUser(null, null);
441
+ return;
442
+ }
443
+ const normalizedUserId = params.userId === null || params.userId === undefined ? null : String(params.userId);
444
+ nativeModule.setUser(normalizedUserId, params.username ?? null);
445
+ }
377
446
 
378
447
  /**
379
448
  * Result returned by notifyAppReady()
380
449
  */
381
450
 
451
+ const isPersistedUpdateStrategy = value => {
452
+ return value === "appVersion" || value === "fingerprint";
453
+ };
454
+ const readRawNotifyAppReadyResult = () => {
455
+ const result = HotUpdaterNative.notifyAppReady();
456
+ if (typeof result === "string") {
457
+ try {
458
+ const parsed = JSON.parse(result);
459
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
460
+ return {};
461
+ }
462
+ return parsed;
463
+ } catch {
464
+ return {};
465
+ }
466
+ }
467
+ if (typeof result !== "object" || result === null || Array.isArray(result)) {
468
+ return {};
469
+ }
470
+ return result;
471
+ };
472
+ const readDirectionalBundleId = bundleId => {
473
+ if (typeof bundleId !== "string") {
474
+ return null;
475
+ }
476
+ const normalizedBundleId = bundleId.trim();
477
+ if (normalizedBundleId.length === 0) {
478
+ return null;
479
+ }
480
+ return resolveBundleId(normalizedBundleId);
481
+ };
482
+ const readDirectionalReleaseId = releaseId => {
483
+ if (typeof releaseId !== "string") return null;
484
+ const normalizedReleaseId = releaseId.trim();
485
+ return normalizedReleaseId.length === 0 ? null : normalizedReleaseId;
486
+ };
487
+ const getNotifyAppReadyTransition = result => {
488
+ if (result.status === "UPDATE_APPLIED" || result.status === "PROMOTED") {
489
+ const fromBundleId = readDirectionalBundleId(result.fromBundleId);
490
+ const toBundleId = readDirectionalBundleId(result.toBundleId);
491
+ if (fromBundleId && toBundleId) {
492
+ return {
493
+ status: "UPDATE_APPLIED",
494
+ fromBundleId,
495
+ toBundleId,
496
+ fromReleaseId: readDirectionalReleaseId(result.fromReleaseId),
497
+ toReleaseId: readDirectionalReleaseId(result.toReleaseId)
498
+ };
499
+ }
500
+ }
501
+ if (result.status === "RECOVERED") {
502
+ const fromBundleId = readDirectionalBundleId(result.fromBundleId);
503
+ const toBundleId = readDirectionalBundleId(result.toBundleId);
504
+ if (fromBundleId && toBundleId) {
505
+ return {
506
+ status: "RECOVERED",
507
+ fromBundleId,
508
+ toBundleId,
509
+ fromReleaseId: readDirectionalReleaseId(result.fromReleaseId),
510
+ toReleaseId: readDirectionalReleaseId(result.toReleaseId)
511
+ };
512
+ }
513
+ }
514
+ return null;
515
+ };
516
+ const getNotifyAppReadyAnalyticsEvent = result => {
517
+ const transition = getNotifyAppReadyTransition(result);
518
+ if (!transition || !isPersistedUpdateStrategy(result.updateStrategy)) {
519
+ return null;
520
+ }
521
+ return {
522
+ type: transition.status,
523
+ fromBundleId: transition.fromBundleId,
524
+ toBundleId: transition.toBundleId,
525
+ ...(transition.fromReleaseId === null ? {} : {
526
+ fromReleaseId: transition.fromReleaseId
527
+ }),
528
+ ...(transition.toReleaseId === null ? {} : {
529
+ toReleaseId: transition.toReleaseId
530
+ }),
531
+ updateStrategy: result.updateStrategy
532
+ };
533
+ };
534
+ const normalizeNotifyAppReadyResult = result => {
535
+ const transition = getNotifyAppReadyTransition(result);
536
+ if (transition) {
537
+ return {
538
+ status: transition.status,
539
+ fromBundleId: transition.fromBundleId,
540
+ toBundleId: transition.toBundleId,
541
+ ...(transition.fromReleaseId === null ? {} : {
542
+ fromReleaseId: transition.fromReleaseId
543
+ }),
544
+ ...(transition.toReleaseId === null ? {} : {
545
+ toReleaseId: transition.toReleaseId
546
+ })
547
+ };
548
+ }
549
+ return {
550
+ status: "UNCHANGED"
551
+ };
552
+ };
553
+ export const readNotifyAppReady = () => {
554
+ const rawResult = readRawNotifyAppReadyResult();
555
+ return {
556
+ result: normalizeNotifyAppReadyResult(rawResult),
557
+ analyticsEvent: getNotifyAppReadyAnalyticsEvent(rawResult),
558
+ pending: rawResult.status === "PENDING"
559
+ };
560
+ };
561
+
382
562
  /**
383
563
  * Reads the native launch report for the current process.
384
564
  *
385
565
  * This function is called automatically after the app has rendered.
386
566
  *
387
567
  * @returns {NotifyAppReadyResult} Bundle state information
388
- * - `status: "RECOVERED"` - App recovered from crash, rollback occurred (ROLLBACK event)
389
- * - `status: "STABLE"` - No changes, already stable
390
- * - `crashedBundleId` - Present only when status is "RECOVERED"
568
+ * - `status: "UNCHANGED"` - No qualifying OTA transition to report
569
+ * - `status: "UPDATE_APPLIED"` - A pending update became active
570
+ * - `status: "RECOVERED"` - Crash recovery rolled back to another bundle
391
571
  *
392
572
  * @example
393
573
  * ```ts
394
574
  * const result = HotUpdater.notifyAppReady();
395
575
  *
396
576
  * if (result.status === "RECOVERED") {
397
- * // Send ROLLBACK analytics event
398
- * analytics.track("bundle_rollback", {
399
- * crashedBundleId: result.crashedBundleId,
400
- * });
577
+ * console.log(result.fromBundleId, result.toBundleId);
401
578
  * }
402
579
  * ```
403
580
  */
404
581
  export const notifyAppReady = () => {
405
- const result = HotUpdaterNative.notifyAppReady();
406
- // Older Android old-arch implementations returned JSON strings.
407
- if (typeof result === "string") {
408
- try {
409
- return normalizeNotifyAppReadyResult(JSON.parse(result));
410
- } catch {
411
- return {
412
- status: "STABLE"
413
- };
414
- }
415
- }
416
- return normalizeNotifyAppReadyResult(result);
417
- };
418
- const normalizeNotifyAppReadyResult = result => {
419
- if (result.status === "RECOVERED") {
420
- return {
421
- status: "RECOVERED",
422
- crashedBundleId: result.crashedBundleId
423
- };
424
- }
425
- return {
426
- status: "STABLE"
427
- };
582
+ return readNotifyAppReady().result;
428
583
  };
429
584
  const createEmptyManifest = () => ({
430
585
  bundleId: getBundleId(),
@@ -1 +1 @@
1
- {"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","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","addListener","eventName","listener","subscription","remove","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","status","targetFileUrl","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetFileHash","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetChangedAssets","changedAssets","ok","getAppVersion","APP_VERSION","reload","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":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","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","addListener","eventName","listener","subscription","remove","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","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":[]}