@hot-updater/react-native 0.28.0 → 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 (73) hide show
  1. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +156 -7
  2. package/android/src/main/java/com/hotupdater/CohortService.kt +73 -0
  3. package/android/src/main/java/com/hotupdater/DecompressService.kt +28 -22
  4. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +1 -1
  5. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +12 -0
  6. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +55 -0
  7. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +19 -7
  8. package/android/src/newarch/HotUpdaterModule.kt +16 -19
  9. package/android/src/oldarch/HotUpdaterModule.kt +20 -20
  10. package/android/src/oldarch/HotUpdaterSpec.kt +12 -2
  11. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +153 -31
  12. package/ios/HotUpdater/Internal/CohortService.swift +63 -0
  13. package/ios/HotUpdater/Internal/DecompressService.swift +53 -30
  14. package/ios/HotUpdater/Internal/HotUpdater.mm +111 -59
  15. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +28 -0
  16. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +24 -8
  17. package/lib/commonjs/DefaultResolver.js +3 -5
  18. package/lib/commonjs/DefaultResolver.js.map +1 -1
  19. package/lib/commonjs/checkForUpdate.js +2 -0
  20. package/lib/commonjs/checkForUpdate.js.map +1 -1
  21. package/lib/commonjs/index.js +13 -0
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/native.js +193 -18
  24. package/lib/commonjs/native.js.map +1 -1
  25. package/lib/commonjs/native.spec.js +361 -4
  26. package/lib/commonjs/native.spec.js.map +1 -1
  27. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  28. package/lib/commonjs/types.js.map +1 -1
  29. package/lib/module/DefaultResolver.js +3 -5
  30. package/lib/module/DefaultResolver.js.map +1 -1
  31. package/lib/module/checkForUpdate.js +3 -1
  32. package/lib/module/checkForUpdate.js.map +1 -1
  33. package/lib/module/index.js +14 -1
  34. package/lib/module/index.js.map +1 -1
  35. package/lib/module/native.js +187 -14
  36. package/lib/module/native.js.map +1 -1
  37. package/lib/module/native.spec.js +361 -4
  38. package/lib/module/native.spec.js.map +1 -1
  39. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  40. package/lib/module/types.js.map +1 -1
  41. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/index.d.ts +14 -1
  43. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/native.d.ts +39 -8
  45. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +28 -0
  47. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/types.d.ts +4 -0
  49. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/wrap.d.ts +1 -1
  51. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  52. package/lib/typescript/module/index.d.ts +14 -1
  53. package/lib/typescript/module/index.d.ts.map +1 -1
  54. package/lib/typescript/module/native.d.ts +39 -8
  55. package/lib/typescript/module/native.d.ts.map +1 -1
  56. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +28 -0
  57. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  58. package/lib/typescript/module/types.d.ts +4 -0
  59. package/lib/typescript/module/types.d.ts.map +1 -1
  60. package/lib/typescript/module/wrap.d.ts +1 -1
  61. package/package.json +6 -6
  62. package/src/DefaultResolver.ts +4 -4
  63. package/src/checkForUpdate.ts +4 -0
  64. package/src/index.ts +21 -0
  65. package/src/native.spec.ts +400 -4
  66. package/src/native.ts +265 -20
  67. package/src/specs/NativeHotUpdater.ts +32 -0
  68. package/src/types.ts +5 -0
  69. package/src/wrap.tsx +1 -1
  70. package/lib/typescript/commonjs/native.spec.d.ts +0 -2
  71. package/lib/typescript/commonjs/native.spec.d.ts.map +0 -1
  72. package/lib/typescript/module/native.spec.d.ts +0 -2
  73. package/lib/typescript/module/native.spec.d.ts.map +0 -1
@@ -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
  /**
@@ -281,14 +374,16 @@ export const getFingerprintHash = () => {
281
374
  * const result = HotUpdater.notifyAppReady();
282
375
  *
283
376
  * if (result.status === "RECOVERED") {
284
- * // Send ROLLBACK analytics event
285
- * analytics.track('bundle_rollback', { crashedBundleId: result.crashedBundleId });
377
+ * // Send ROLLBACK analytics event
378
+ * analytics.track("bundle_rollback", {
379
+ * crashedBundleId: result.crashedBundleId,
380
+ * });
286
381
  * }
287
382
  * ```
288
383
  */
289
384
  export const notifyAppReady = () => {
290
385
  const result = HotUpdaterNative.notifyAppReady();
291
- // Oldarch returns JSON string, newarch returns array
386
+ // Older Android old-arch implementations returned JSON strings.
292
387
  if (typeof result === "string") {
293
388
  try {
294
389
  return normalizeNotifyAppReadyResult(JSON.parse(result));
@@ -311,6 +406,53 @@ const normalizeNotifyAppReadyResult = result => {
311
406
  status: "STABLE"
312
407
  };
313
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
+ }));
455
+ };
314
456
 
315
457
  /**
316
458
  * Gets the list of bundle IDs that have been marked as crashed.
@@ -320,7 +462,7 @@ const normalizeNotifyAppReadyResult = result => {
320
462
  */
321
463
  export const getCrashHistory = () => {
322
464
  const result = HotUpdaterNative.getCrashHistory();
323
- // Oldarch returns JSON string, newarch returns array
465
+ // Older Android old-arch implementations returned JSON strings.
324
466
  if (typeof result === "string") {
325
467
  try {
326
468
  return JSON.parse(result);
@@ -349,11 +491,14 @@ export const clearCrashHistory = () => {
349
491
  * @returns {string | null} Base URL string (e.g., "file:///data/.../bundle-store/abc123") or null if not available
350
492
  */
351
493
  export const getBaseURL = () => {
352
- const result = HotUpdaterNative.getBaseURL();
353
- if (typeof result === "string" && result !== "") {
354
- return result;
494
+ const cachedBaseURL = sessionState.getCachedBaseURL();
495
+ if (cachedBaseURL !== undefined) {
496
+ return cachedBaseURL;
355
497
  }
356
- return null;
498
+ const result = HotUpdaterNative.getBaseURL();
499
+ const baseURL = typeof result === "string" && result !== "" ? result : null;
500
+ sessionState.cacheBaseURL(baseURL);
501
+ return baseURL;
357
502
  };
358
503
 
359
504
  /**
@@ -369,4 +514,32 @@ export const resetChannel = async () => {
369
514
  }
370
515
  return ok;
371
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
+ };
372
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","normalizeNotifyAppReadyResult","JSON","parse","crashedBundleId","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":[]}