@hot-updater/react-native 0.27.1 → 0.29.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 (87) hide show
  1. package/android/build.gradle +12 -0
  2. package/android/src/main/AndroidManifest.xml +3 -0
  3. package/android/src/main/AndroidManifestNew.xml +3 -0
  4. package/android/src/main/cpp/CMakeLists.txt +9 -0
  5. package/android/src/main/cpp/HotUpdaterRecovery.cpp +143 -0
  6. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +325 -210
  7. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +73 -16
  8. package/android/src/main/java/com/hotupdater/CohortService.kt +73 -0
  9. package/android/src/main/java/com/hotupdater/DecompressService.kt +28 -22
  10. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +1 -1
  11. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +51 -13
  12. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +533 -0
  13. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryReceiver.kt +14 -0
  14. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +55 -0
  15. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +19 -7
  16. package/android/src/newarch/HotUpdaterModule.kt +16 -25
  17. package/android/src/oldarch/HotUpdaterModule.kt +20 -26
  18. package/android/src/oldarch/HotUpdaterSpec.kt +12 -2
  19. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +340 -232
  20. package/ios/HotUpdater/Internal/BundleMetadata.swift +61 -8
  21. package/ios/HotUpdater/Internal/CohortService.swift +63 -0
  22. package/ios/HotUpdater/Internal/DecompressService.swift +53 -30
  23. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +9 -1
  24. package/ios/HotUpdater/Internal/HotUpdater.mm +376 -70
  25. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.h +7 -0
  26. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.mm +4 -0
  27. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +321 -9
  28. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +24 -8
  29. package/lib/commonjs/DefaultResolver.js +3 -5
  30. package/lib/commonjs/DefaultResolver.js.map +1 -1
  31. package/lib/commonjs/checkForUpdate.js +2 -0
  32. package/lib/commonjs/checkForUpdate.js.map +1 -1
  33. package/lib/commonjs/index.js +13 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/native.js +211 -39
  36. package/lib/commonjs/native.js.map +1 -1
  37. package/lib/commonjs/native.spec.js +443 -0
  38. package/lib/commonjs/native.spec.js.map +1 -0
  39. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  40. package/lib/commonjs/types.js.map +1 -1
  41. package/lib/commonjs/wrap.js +4 -5
  42. package/lib/commonjs/wrap.js.map +1 -1
  43. package/lib/module/DefaultResolver.js +3 -5
  44. package/lib/module/DefaultResolver.js.map +1 -1
  45. package/lib/module/checkForUpdate.js +3 -1
  46. package/lib/module/checkForUpdate.js.map +1 -1
  47. package/lib/module/index.js +14 -1
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/native.js +204 -34
  50. package/lib/module/native.js.map +1 -1
  51. package/lib/module/native.spec.js +442 -0
  52. package/lib/module/native.spec.js.map +1 -0
  53. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  54. package/lib/module/types.js.map +1 -1
  55. package/lib/module/wrap.js +5 -6
  56. package/lib/module/wrap.js.map +1 -1
  57. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/index.d.ts +14 -1
  59. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/native.d.ts +43 -23
  61. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +32 -8
  63. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/types.d.ts +6 -3
  65. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/wrap.d.ts +3 -6
  67. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  68. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  69. package/lib/typescript/module/index.d.ts +14 -1
  70. package/lib/typescript/module/index.d.ts.map +1 -1
  71. package/lib/typescript/module/native.d.ts +43 -23
  72. package/lib/typescript/module/native.d.ts.map +1 -1
  73. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +32 -8
  74. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  75. package/lib/typescript/module/types.d.ts +6 -3
  76. package/lib/typescript/module/types.d.ts.map +1 -1
  77. package/lib/typescript/module/wrap.d.ts +3 -6
  78. package/lib/typescript/module/wrap.d.ts.map +1 -1
  79. package/package.json +6 -6
  80. package/src/DefaultResolver.ts +4 -4
  81. package/src/checkForUpdate.ts +4 -0
  82. package/src/index.ts +21 -0
  83. package/src/native.spec.ts +480 -0
  84. package/src/native.ts +285 -39
  85. package/src/specs/NativeHotUpdater.ts +36 -6
  86. package/src/types.ts +7 -3
  87. package/src/wrap.tsx +8 -12
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { checkForUpdate } from "./checkForUpdate.js";
4
4
  import { createDefaultResolver } from "./DefaultResolver.js";
5
- import { addListener, clearCrashHistory, getAppVersion, getBaseURL, getBundleId, getChannel, getCrashHistory, getDefaultChannel, getFingerprintHash, getMinBundleId, isChannelSwitched, reload, resetChannel, setReloadBehavior, updateBundle } from "./native.js";
5
+ import { addListener, clearCrashHistory, getAppVersion, getBaseURL, getBundleId, getChannel, getCohort, getCrashHistory, getDefaultChannel, getFingerprintHash, getManifest, getMinBundleId, isChannelSwitched, reload, resetChannel, setCohort, setReloadBehavior, updateBundle } from "./native.js";
6
6
  import { hotUpdaterStore } from "./store.js";
7
7
  import { wrap } from "./wrap.js";
8
8
  export * from "./store.js";
@@ -138,6 +138,10 @@ function createHotUpdaterClient() {
138
138
  * Retrieves the initial bundle ID based on the build time of the native app.
139
139
  */
140
140
  getMinBundleId,
141
+ /**
142
+ * Fetches the current manifest for the active bundle.
143
+ */
144
+ getManifest,
141
145
  /**
142
146
  * Fetches the current channel of the app.
143
147
  *
@@ -171,6 +175,15 @@ function createHotUpdaterClient() {
171
175
  * @returns {boolean} true when a non-default channel has been applied
172
176
  */
173
177
  isChannelSwitched,
178
+ /**
179
+ * Sets the persisted cohort used for rollout calculations.
180
+ * Call `getCohort()` first if you need to restore the initial value later.
181
+ */
182
+ setCohort,
183
+ /**
184
+ * Gets the persisted cohort used for rollout calculations.
185
+ */
186
+ getCohort,
174
187
  /**
175
188
  * Adds a listener to HotUpdater events.
176
189
  *
@@ -1 +1 @@
1
- {"version":3,"names":["checkForUpdate","createDefaultResolver","addListener","clearCrashHistory","getAppVersion","getBaseURL","getBundleId","getChannel","getCrashHistory","getDefaultChannel","getFingerprintHash","getMinBundleId","isChannelSwitched","reload","resetChannel","setReloadBehavior","updateBundle","hotUpdaterStore","wrap","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","global","createHotUpdaterClient","globalConfig","resolver","ensureGlobalResolver","methodName","Error","options","normalizedOptions","baseURL","rest","requestHeaders","requestTimeout","isUpdateDownloaded","getSnapshot","config","mergedConfig","params","ok","setState","progress","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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A;IACIK,cAAc;IAEd;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIJ,UAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIE,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIV,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIF,cAAc,EAAGwC,MAA6B,IAAK;MACjD,MAAMZ,QAAQ,GAAGC,oBAAoB,CAAC,gBAAgB,CAAC;MAEvD,MAAMY,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACTZ,QAAQ;QACRQ,cAAc,EAAE;UACd,GAAGT,YAAY,CAACS,cAAc;UAC9B,GAAGI,MAAM,CAACJ;QACZ,CAAC;QACDC,cAAc,EAAEG,MAAM,CAACH,cAAc,IAAIV,YAAY,CAACU;MACxD,CAAC;MAED,OAAOrC,cAAc,CAACyC,YAAY,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIzB,YAAY,EAAG0B,MAAoB,IAAK;MACtCb,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAOb,YAAY,CAAC0B,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI5B,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAM6B,EAAE,GAAG,MAAM7B,YAAY,CAAC,CAAC;MAC/B,IAAI6B,EAAE,EAAE;QACN1B,eAAe,CAAC2B,QAAQ,CAAC;UACvBN,kBAAkB,EAAE,KAAK;UACzBO,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;MACA,OAAOF,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIjC,kBAAkB;IAElB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIF,eAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIL;EACF,CAAC;AACH;AAEA,OAAO,MAAM2C,UAAU,GAAGpB,sBAAsB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["checkForUpdate","createDefaultResolver","addListener","clearCrashHistory","getAppVersion","getBaseURL","getBundleId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getManifest","getMinBundleId","isChannelSwitched","reload","resetChannel","setCohort","setReloadBehavior","updateBundle","hotUpdaterStore","wrap","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","global","createHotUpdaterClient","globalConfig","resolver","ensureGlobalResolver","methodName","Error","options","normalizedOptions","baseURL","rest","requestHeaders","requestTimeout","isUpdateDownloaded","getSnapshot","config","mergedConfig","params","ok","setState","progress","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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ACJ;AACA;IACIE,WAAW;IAEX;AACJ;AACA;IACIO,cAAc;IAEd;AACJ;AACA;IACID,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIL,UAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACII,iBAAiB;IAEjB;AACJ;AACA;AACA;IACIG,SAAS;IAET;AACJ;AACA;IACIT,SAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIF,cAAc,EAAG2C,MAA6B,IAAK;MACjD,MAAMZ,QAAQ,GAAGC,oBAAoB,CAAC,gBAAgB,CAAC;MAEvD,MAAMY,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACTZ,QAAQ;QACRQ,cAAc,EAAE;UACd,GAAGT,YAAY,CAACS,cAAc;UAC9B,GAAGI,MAAM,CAACJ;QACZ,CAAC;QACDC,cAAc,EAAEG,MAAM,CAACH,cAAc,IAAIV,YAAY,CAACU;MACxD,CAAC;MAED,OAAOxC,cAAc,CAAC4C,YAAY,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIzB,YAAY,EAAG0B,MAAoB,IAAK;MACtCb,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAOb,YAAY,CAAC0B,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI7B,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAM8B,EAAE,GAAG,MAAM9B,YAAY,CAAC,CAAC;MAC/B,IAAI8B,EAAE,EAAE;QACN1B,eAAe,CAAC2B,QAAQ,CAAC;UACvBN,kBAAkB,EAAE,KAAK;UACzBO,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;MACA,OAAOF,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACInC,kBAAkB;IAElB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIF,eAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN;EACF,CAAC;AACH;AAEA,OAAO,MAAM8C,UAAU,GAAGpB,sBAAsB,CAAC,CAAC","ignoreList":[]}
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
 
3
+ import { INVALID_COHORT_ERROR_MESSAGE, isValidCohort, normalizeCohortValue } from "@hot-updater/core";
3
4
  import { NativeEventEmitter, Platform } from "react-native";
4
5
  import { HotUpdaterErrorCode, isHotUpdaterError } from "./error.js";
5
6
  import HotUpdaterNative from "./specs/NativeHotUpdater.js";
6
7
  export { HotUpdaterErrorCode, isHotUpdaterError };
7
8
  const NIL_UUID = "00000000-0000-0000-0000-000000000000";
9
+ const normalizeAndValidateCohort = cohort => {
10
+ const normalized = normalizeCohortValue(cohort);
11
+ if (!isValidCohort(normalized)) {
12
+ throw new Error(INVALID_COHORT_ERROR_MESSAGE);
13
+ }
14
+ return normalized;
15
+ };
8
16
 
9
17
  /**
10
18
  * Built-in reload behaviors used by `HotUpdater.reload()`.
@@ -28,12 +36,10 @@ const NIL_UUID = "00000000-0000-0000-0000-000000000000";
28
36
  * - `custom`: Run a user-provided JS handler on both platforms
29
37
  */
30
38
 
31
- export const HotUpdaterConstants = {
32
- HOT_UPDATER_BUNDLE_ID: __HOT_UPDATER_BUNDLE_ID || NIL_UUID
33
- };
34
39
  class HotUpdaterSessionState {
35
40
  inflightUpdates = new Map();
36
41
  lastInstalledBundleId = null;
42
+ activeBundleSnapshotCache = new Map();
37
43
  constructor() {
38
44
  const constants = HotUpdaterNative.getConstants();
39
45
  this.defaultChannel = constants.DEFAULT_CHANNEL ?? constants.CHANNEL;
@@ -65,16 +71,58 @@ class HotUpdaterSessionState {
65
71
  if (channel) {
66
72
  this.currentChannel = channel;
67
73
  }
74
+ this.clearActiveBundleSnapshotCache();
68
75
  }
69
76
  resetChannelState() {
70
77
  this.currentChannel = this.defaultChannel;
71
78
  this.lastInstalledBundleId = null;
72
79
  this.inflightUpdates.clear();
80
+ this.clearActiveBundleSnapshotCache();
81
+ }
82
+ getCachedBundleId() {
83
+ return this.getActiveBundleSnapshotValue("bundleId");
84
+ }
85
+ cacheBundleId(bundleId) {
86
+ this.setActiveBundleSnapshotValue("bundleId", bundleId);
87
+ }
88
+ getCachedManifest() {
89
+ const manifest = this.getActiveBundleSnapshotValue("manifest");
90
+ return manifest ? cloneManifest(manifest) : undefined;
91
+ }
92
+ cacheManifest(manifest) {
93
+ this.setActiveBundleSnapshotValue("manifest", cloneManifest(manifest));
94
+ }
95
+ getCachedBaseURL() {
96
+ return this.getActiveBundleSnapshotValue("baseURL");
97
+ }
98
+ cacheBaseURL(baseURL) {
99
+ this.setActiveBundleSnapshotValue("baseURL", baseURL);
100
+ }
101
+ getCachedCohort() {
102
+ return this.cachedCohort;
103
+ }
104
+ cacheCohort(cohort) {
105
+ this.cachedCohort = cohort;
106
+ }
107
+ clearActiveBundleSnapshotCache() {
108
+ this.activeBundleSnapshotCache.clear();
109
+ }
110
+ getActiveBundleSnapshotValue(key) {
111
+ return this.activeBundleSnapshotCache.get(key);
112
+ }
113
+ setActiveBundleSnapshotValue(key, value) {
114
+ this.activeBundleSnapshotCache.set(key, value);
73
115
  }
74
116
  }
75
117
  const sessionState = new HotUpdaterSessionState();
76
118
  let reloadBehavior = "processRestart";
77
119
  let customReloadHandler = null;
120
+ const cloneManifest = manifest => ({
121
+ bundleId: manifest.bundleId,
122
+ assets: Object.fromEntries(Object.entries(manifest.assets).map(([key, asset]) => [key, {
123
+ fileHash: asset.fileHash
124
+ }]))
125
+ });
78
126
  const getReloadProcess = () => {
79
127
  const nativeModule = HotUpdaterNative;
80
128
  return typeof nativeModule.reloadProcess === "function" ? nativeModule.reloadProcess.bind(nativeModule) : null;
@@ -222,11 +270,56 @@ export const getMinBundleId = () => {
222
270
  /**
223
271
  * Fetches the current bundle version id.
224
272
  *
225
- * @async
226
- * @returns {string} Resolves with the current version id or null if not available.
273
+ * JS falls back to MIN_BUNDLE_ID only after native confirms there is no active
274
+ * downloaded bundle. When the native module does not expose `getBundleId()`,
275
+ * treat it as a JS/native SDK mismatch instead of silently reporting the
276
+ * built-in bundle.
277
+ *
278
+ * @returns {string} Resolves with the current version id.
227
279
  */
228
280
  export const getBundleId = () => {
229
- return HotUpdaterConstants.HOT_UPDATER_BUNDLE_ID === NIL_UUID ? getMinBundleId() : HotUpdaterConstants.HOT_UPDATER_BUNDLE_ID;
281
+ const cachedBundleId = sessionState.getCachedBundleId();
282
+ if (cachedBundleId !== undefined) {
283
+ return cachedBundleId;
284
+ }
285
+ const nativeModule = HotUpdaterNative;
286
+ if (typeof nativeModule.getBundleId !== "function") {
287
+ throw new Error("[HotUpdater] Native module is missing 'getBundleId()'. This JS bundle requires a newer native @hot-updater/react-native SDK. Rebuild and release a new app version before delivering this OTA update.");
288
+ }
289
+ const bundleId = nativeModule.getBundleId();
290
+ const resolvedBundleId = !bundleId || bundleId === NIL_UUID ? getMinBundleId() : bundleId;
291
+ sessionState.cacheBundleId(resolvedBundleId);
292
+ return resolvedBundleId;
293
+ };
294
+
295
+ /**
296
+ * Fetches the current manifest for the active bundle.
297
+ *
298
+ * Returns a normalized manifest with empty assets when manifest.json is missing
299
+ * or invalid.
300
+ */
301
+ export const getManifest = () => {
302
+ const cachedManifest = sessionState.getCachedManifest();
303
+ if (cachedManifest !== undefined) {
304
+ return cachedManifest;
305
+ }
306
+ const nativeModule = HotUpdaterNative;
307
+ const manifest = nativeModule.getManifest?.();
308
+ let normalizedManifest;
309
+ if (!manifest) {
310
+ normalizedManifest = createEmptyManifest();
311
+ } else if (typeof manifest === "string") {
312
+ try {
313
+ normalizedManifest = normalizeManifest(JSON.parse(manifest));
314
+ } catch {
315
+ normalizedManifest = createEmptyManifest();
316
+ }
317
+ } else {
318
+ normalizedManifest = normalizeManifest(manifest);
319
+ }
320
+ sessionState.cacheBundleId(normalizedManifest.bundleId);
321
+ sessionState.cacheManifest(normalizedManifest);
322
+ return cloneManifest(normalizedManifest);
230
323
  };
231
324
 
232
325
  /**
@@ -267,13 +360,11 @@ export const getFingerprintHash = () => {
267
360
  */
268
361
 
269
362
  /**
270
- * Notifies the native side that the app has successfully started with the current bundle.
271
- * If the bundle matches the staging bundle, it promotes to stable.
363
+ * Reads the native launch report for the current process.
272
364
  *
273
- * This function is called automatically when the module loads.
365
+ * This function is called automatically after the app has rendered.
274
366
  *
275
367
  * @returns {NotifyAppReadyResult} Bundle state information
276
- * - `status: "PROMOTED"` - Staging bundle was promoted to stable (ACTIVE event)
277
368
  * - `status: "RECOVERED"` - App recovered from crash, rollback occurred (ROLLBACK event)
278
369
  * - `status: "STABLE"` - No changes, already stable
279
370
  * - `crashedBundleId` - Present only when status is "RECOVERED"
@@ -282,37 +373,85 @@ export const getFingerprintHash = () => {
282
373
  * ```ts
283
374
  * const result = HotUpdater.notifyAppReady();
284
375
  *
285
- * switch (result.status) {
286
- * case "PROMOTED":
287
- * // Send ACTIVE analytics event
288
- * analytics.track('bundle_active', { bundleId: HotUpdater.getBundleId() });
289
- * break;
290
- * case "RECOVERED":
291
- * // Send ROLLBACK analytics event
292
- * analytics.track('bundle_rollback', { crashedBundleId: result.crashedBundleId });
293
- * break;
294
- * case "STABLE":
295
- * // No special action needed
296
- * break;
376
+ * if (result.status === "RECOVERED") {
377
+ * // Send ROLLBACK analytics event
378
+ * analytics.track("bundle_rollback", {
379
+ * crashedBundleId: result.crashedBundleId,
380
+ * });
297
381
  * }
298
382
  * ```
299
383
  */
300
384
  export const notifyAppReady = () => {
301
- const bundleId = getBundleId();
302
- const result = HotUpdaterNative.notifyAppReady({
303
- bundleId
304
- });
305
- // Oldarch returns JSON string, newarch returns array
385
+ const result = HotUpdaterNative.notifyAppReady();
386
+ // Older Android old-arch implementations returned JSON strings.
306
387
  if (typeof result === "string") {
307
388
  try {
308
- return JSON.parse(result);
389
+ return normalizeNotifyAppReadyResult(JSON.parse(result));
309
390
  } catch {
310
391
  return {
311
392
  status: "STABLE"
312
393
  };
313
394
  }
314
395
  }
315
- return result;
396
+ return normalizeNotifyAppReadyResult(result);
397
+ };
398
+ const normalizeNotifyAppReadyResult = result => {
399
+ if (result.status === "RECOVERED") {
400
+ return {
401
+ status: "RECOVERED",
402
+ crashedBundleId: result.crashedBundleId
403
+ };
404
+ }
405
+ return {
406
+ status: "STABLE"
407
+ };
408
+ };
409
+ const createEmptyManifest = () => ({
410
+ bundleId: getBundleId(),
411
+ assets: {}
412
+ });
413
+ const normalizeManifest = value => {
414
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
415
+ return createEmptyManifest();
416
+ }
417
+ const bundleIdValue = value.bundleId;
418
+ const bundleId = typeof bundleIdValue === "string" && bundleIdValue.trim() ? bundleIdValue.trim() : getBundleId();
419
+ return {
420
+ bundleId,
421
+ assets: normalizeManifestAssets(value.assets)
422
+ };
423
+ };
424
+ const normalizeManifestAssets = value => {
425
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
426
+ return {};
427
+ }
428
+ return Object.fromEntries(Object.entries(value).flatMap(([key, entry]) => {
429
+ const trimmedKey = key.trim();
430
+ if (!trimmedKey) {
431
+ return [];
432
+ }
433
+ if (typeof entry === "string") {
434
+ const fileHash = entry.trim();
435
+ if (!fileHash) {
436
+ return [];
437
+ }
438
+ return [[trimmedKey, {
439
+ fileHash
440
+ }]];
441
+ }
442
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
443
+ return [];
444
+ }
445
+ const {
446
+ fileHash
447
+ } = entry;
448
+ if (typeof fileHash !== "string" || !fileHash.trim()) {
449
+ return [];
450
+ }
451
+ return [[trimmedKey, {
452
+ fileHash: fileHash.trim()
453
+ }]];
454
+ }));
316
455
  };
317
456
 
318
457
  /**
@@ -323,7 +462,7 @@ export const notifyAppReady = () => {
323
462
  */
324
463
  export const getCrashHistory = () => {
325
464
  const result = HotUpdaterNative.getCrashHistory();
326
- // Oldarch returns JSON string, newarch returns array
465
+ // Older Android old-arch implementations returned JSON strings.
327
466
  if (typeof result === "string") {
328
467
  try {
329
468
  return JSON.parse(result);
@@ -352,11 +491,14 @@ export const clearCrashHistory = () => {
352
491
  * @returns {string | null} Base URL string (e.g., "file:///data/.../bundle-store/abc123") or null if not available
353
492
  */
354
493
  export const getBaseURL = () => {
355
- const result = HotUpdaterNative.getBaseURL();
356
- if (typeof result === "string" && result !== "") {
357
- return result;
494
+ const cachedBaseURL = sessionState.getCachedBaseURL();
495
+ if (cachedBaseURL !== undefined) {
496
+ return cachedBaseURL;
358
497
  }
359
- return null;
498
+ const result = HotUpdaterNative.getBaseURL();
499
+ const baseURL = typeof result === "string" && result !== "" ? result : null;
500
+ sessionState.cacheBaseURL(baseURL);
501
+ return baseURL;
360
502
  };
361
503
 
362
504
  /**
@@ -372,4 +514,32 @@ export const resetChannel = async () => {
372
514
  }
373
515
  return ok;
374
516
  };
517
+
518
+ /**
519
+ * Sets the persisted cohort used for update checks.
520
+ *
521
+ * HotUpdater only derives a device-based cohort when nothing has been stored
522
+ * yet. If you need to restore that initial value later, read it with
523
+ * `getCohort()` before calling `setCohort()`, then store it yourself.
524
+ */
525
+ export const setCohort = cohort => {
526
+ const normalized = normalizeAndValidateCohort(cohort);
527
+ HotUpdaterNative.setCohort(normalized);
528
+ sessionState.cacheCohort(normalized);
529
+ };
530
+
531
+ /**
532
+ * Gets the persisted cohort used for rollout calculations.
533
+ * If none has been stored yet, native derives the initial value once and
534
+ * persists it before returning.
535
+ */
536
+ export const getCohort = () => {
537
+ const cachedCohort = sessionState.getCachedCohort();
538
+ if (cachedCohort !== undefined) {
539
+ return cachedCohort;
540
+ }
541
+ const cohort = normalizeAndValidateCohort(HotUpdaterNative.getCohort());
542
+ sessionState.cacheCohort(cohort);
543
+ return cohort;
544
+ };
375
545
  //# sourceMappingURL=native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","HotUpdaterConstants","HOT_UPDATER_BUNDLE_ID","__HOT_UPDATER_BUNDLE_ID","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","resetChannelState","clear","sessionState","reloadBehavior","customReloadHandler","getReloadProcess","nativeModule","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","status","shouldSkipCurrentBundleIdCheck","localeCompare","getBundleId","Error","existing","targetFileUrl","targetFileHash","undefined","fileHash","targetChannel","ok","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","getMinBundleId","MIN_BUNDLE_ID","getFingerprintHash","FINGERPRINT_HASH","notifyAppReady","result","JSON","parse","getCrashHistory","clearCrashHistory","getBaseURL","resetChannel"],"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","getReloadProcess","nativeModule","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","status","shouldSkipCurrentBundleIdCheck","localeCompare","getBundleId","existing","targetFileUrl","targetFileHash","targetChannel","ok","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","getMinBundleId","MIN_BUNDLE_ID","cachedBundleId","resolvedBundleId","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":[]}