@hot-updater/react-native 0.28.0 → 0.29.1

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
@@ -32,6 +32,7 @@ private func hotUpdaterPerformRecoveryReload() -> Bool {
32
32
  @objcMembers public class HotUpdaterImpl: NSObject {
33
33
  private let bundleStorage: BundleStorageService
34
34
  private let preferences: PreferencesService
35
+ private let cohortService: CohortService
35
36
  private let recoveryManager: HotUpdaterRecoveryManager
36
37
  private var currentLaunchSelection: LaunchSelection?
37
38
 
@@ -70,6 +71,7 @@ private func hotUpdaterPerformRecoveryReload() -> Bool {
70
71
  internal init(bundleStorage: BundleStorageService, preferences: PreferencesService, recoveryManager: HotUpdaterRecoveryManager) {
71
72
  self.bundleStorage = bundleStorage
72
73
  self.preferences = preferences
74
+ self.cohortService = CohortService()
73
75
  self.recoveryManager = recoveryManager
74
76
  super.init()
75
77
 
@@ -144,6 +146,16 @@ private func hotUpdaterPerformRecoveryReload() -> Bool {
144
146
  return Bundle.main.object(forInfoDictionaryKey: "HOT_UPDATER_FINGERPRINT_HASH") as? String
145
147
  }
146
148
 
149
+ // MARK: - Cohort Management
150
+
151
+ public func setCohort(_ cohort: String) {
152
+ cohortService.setCohort(cohort)
153
+ }
154
+
155
+ public func getCohort() -> String {
156
+ return cohortService.getCohort()
157
+ }
158
+
147
159
  // MARK: - Bundle URL Management
148
160
 
149
161
  /**
@@ -334,6 +346,22 @@ private func hotUpdaterPerformRecoveryReload() -> Bool {
334
346
  return bundleStorage.getBaseURL()
335
347
  }
336
348
 
349
+ /**
350
+ * Gets the current active bundle ID from bundle storage.
351
+ * Reads manifest.json first and falls back to the legacy BUNDLE_ID file.
352
+ * Built-in bundle fallback is handled in JS.
353
+ */
354
+ public func getBundleId() -> String? {
355
+ return bundleStorage.getBundleId()
356
+ }
357
+
358
+ /**
359
+ * Gets the current manifest from bundle storage.
360
+ */
361
+ public func getManifest() -> ManifestAssets {
362
+ return bundleStorage.getManifest()
363
+ }
364
+
337
365
  public func resetLaunchPreparation() {
338
366
  currentLaunchSelection = nil
339
367
  }
@@ -25,15 +25,22 @@ class TarBrDecompressionStrategy: DecompressionStrategy {
25
25
  return false
26
26
  }
27
27
 
28
- // Brotli has no standard magic bytes, check file extension
29
- let lowercasedPath = file.lowercased()
30
- let isBrotli = lowercasedPath.hasSuffix(".tar.br") || lowercasedPath.hasSuffix(".br")
31
-
32
- if !isBrotli {
33
- NSLog("[TarBrStrategy] Invalid file: not a .tar.br or .br file")
28
+ guard let compressedData = try? Data(contentsOf: URL(fileURLWithPath: file)) else {
29
+ NSLog("[TarBrStrategy] Invalid file: cannot read file data")
30
+ return false
34
31
  }
35
32
 
36
- return isBrotli
33
+ do {
34
+ let tarEntries = try readTarEntries(from: compressedData)
35
+ if tarEntries.isEmpty {
36
+ NSLog("[TarBrStrategy] Invalid file: tar archive has no entries")
37
+ return false
38
+ }
39
+ return true
40
+ } catch {
41
+ NSLog("[TarBrStrategy] Invalid file: Brotli/TAR validation failed - \(error.localizedDescription)")
42
+ return false
43
+ }
37
44
  }
38
45
 
39
46
  func decompress(file: String, to destination: String, progressHandler: @escaping (Double) -> Void) throws {
@@ -63,7 +70,7 @@ class TarBrDecompressionStrategy: DecompressionStrategy {
63
70
 
64
71
  let tarEntries: [TarEntry]
65
72
  do {
66
- tarEntries = try TarContainer.open(container: decompressedData)
73
+ tarEntries = try readTarEntries(fromDecompressedData: decompressedData)
67
74
  NSLog("[TarBrStrategy] Tar extraction successful, found \(tarEntries.count) entries")
68
75
  } catch {
69
76
  throw NSError(
@@ -94,6 +101,15 @@ class TarBrDecompressionStrategy: DecompressionStrategy {
94
101
  NSLog("[TarBrStrategy] Successfully extracted all entries")
95
102
  }
96
103
 
104
+ private func readTarEntries(from compressedData: Data) throws -> [TarEntry] {
105
+ let decompressedData = try decompressBrotli(compressedData)
106
+ return try readTarEntries(fromDecompressedData: decompressedData)
107
+ }
108
+
109
+ private func readTarEntries(fromDecompressedData decompressedData: Data) throws -> [TarEntry] {
110
+ return try TarContainer.open(container: decompressedData)
111
+ }
112
+
97
113
  private func decompressBrotli(_ data: Data) throws -> Data {
98
114
  let bufferSize = 64 * 1024
99
115
  var decompressedData = Data()
@@ -15,18 +15,16 @@ var _fetchUpdateInfo = require("./fetchUpdateInfo.js");
15
15
  function createDefaultResolver(baseURL) {
16
16
  return {
17
17
  checkUpdate: async params => {
18
- // Build URL based on strategy (existing buildUpdateUrl logic)
19
18
  let url;
19
+ const cohortPath = `/${encodeURIComponent(params.cohort)}`;
20
20
  if (params.updateStrategy === "fingerprint") {
21
21
  if (!params.fingerprintHash) {
22
22
  throw new Error("Fingerprint hash is required");
23
23
  }
24
- url = `${baseURL}/fingerprint/${params.platform}/${params.fingerprintHash}/${params.channel}/${params.minBundleId}/${params.bundleId}`;
24
+ url = `${baseURL}/fingerprint/${params.platform}/${params.fingerprintHash}/${params.channel}/${params.minBundleId}/${params.bundleId}${cohortPath}`;
25
25
  } else {
26
- url = `${baseURL}/app-version/${params.platform}/${params.appVersion}/${params.channel}/${params.minBundleId}/${params.bundleId}`;
26
+ url = `${baseURL}/app-version/${params.platform}/${params.appVersion}/${params.channel}/${params.minBundleId}/${params.bundleId}${cohortPath}`;
27
27
  }
28
-
29
- // Use existing fetchUpdateInfo
30
28
  return (0, _fetchUpdateInfo.fetchUpdateInfo)({
31
29
  url,
32
30
  requestHeaders: params.requestHeaders,
@@ -1 +1 @@
1
- {"version":3,"names":["_fetchUpdateInfo","require","createDefaultResolver","baseURL","checkUpdate","params","url","updateStrategy","fingerprintHash","Error","platform","channel","minBundleId","bundleId","appVersion","fetchUpdateInfo","requestHeaders","requestTimeout"],"sourceRoot":"../../src","sources":["DefaultResolver.ts"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAACC,OAAe,EAAsB;EACzE,OAAO;IACLC,WAAW,EAAE,MACXC,MAAiC,IACC;MAClC;MACA,IAAIC,GAAW;MACf,IAAID,MAAM,CAACE,cAAc,KAAK,aAAa,EAAE;QAC3C,IAAI,CAACF,MAAM,CAACG,eAAe,EAAE;UAC3B,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;QACjD;QACAH,GAAG,GAAG,GAAGH,OAAO,gBAAgBE,MAAM,CAACK,QAAQ,IAAIL,MAAM,CAACG,eAAe,IAAIH,MAAM,CAACM,OAAO,IAAIN,MAAM,CAACO,WAAW,IAAIP,MAAM,CAACQ,QAAQ,EAAE;MACxI,CAAC,MAAM;QACLP,GAAG,GAAG,GAAGH,OAAO,gBAAgBE,MAAM,CAACK,QAAQ,IAAIL,MAAM,CAACS,UAAU,IAAIT,MAAM,CAACM,OAAO,IAAIN,MAAM,CAACO,WAAW,IAAIP,MAAM,CAACQ,QAAQ,EAAE;MACnI;;MAEA;MACA,OAAO,IAAAE,gCAAe,EAAC;QACrBT,GAAG;QACHU,cAAc,EAAEX,MAAM,CAACW,cAAc;QACrCC,cAAc,EAAEZ,MAAM,CAACY;MACzB,CAAC,CAAC;IACJ;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_fetchUpdateInfo","require","createDefaultResolver","baseURL","checkUpdate","params","url","cohortPath","encodeURIComponent","cohort","updateStrategy","fingerprintHash","Error","platform","channel","minBundleId","bundleId","appVersion","fetchUpdateInfo","requestHeaders","requestTimeout"],"sourceRoot":"../../src","sources":["DefaultResolver.ts"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAACC,OAAe,EAAsB;EACzE,OAAO;IACLC,WAAW,EAAE,MACXC,MAAiC,IACC;MAClC,IAAIC,GAAW;MACf,MAAMC,UAAU,GAAG,IAAIC,kBAAkB,CAACH,MAAM,CAACI,MAAM,CAAC,EAAE;MAE1D,IAAIJ,MAAM,CAACK,cAAc,KAAK,aAAa,EAAE;QAC3C,IAAI,CAACL,MAAM,CAACM,eAAe,EAAE;UAC3B,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;QACjD;QACAN,GAAG,GAAG,GAAGH,OAAO,gBAAgBE,MAAM,CAACQ,QAAQ,IAAIR,MAAM,CAACM,eAAe,IAAIN,MAAM,CAACS,OAAO,IAAIT,MAAM,CAACU,WAAW,IAAIV,MAAM,CAACW,QAAQ,GAAGT,UAAU,EAAE;MACrJ,CAAC,MAAM;QACLD,GAAG,GAAG,GAAGH,OAAO,gBAAgBE,MAAM,CAACQ,QAAQ,IAAIR,MAAM,CAACY,UAAU,IAAIZ,MAAM,CAACS,OAAO,IAAIT,MAAM,CAACU,WAAW,IAAIV,MAAM,CAACW,QAAQ,GAAGT,UAAU,EAAE;MAChJ;MAEA,OAAO,IAAAW,gCAAe,EAAC;QACrBZ,GAAG;QACHa,cAAc,EAAEd,MAAM,CAACc,cAAc;QACrCC,cAAc,EAAEf,MAAM,CAACe;MACzB,CAAC,CAAC;IACJ;EACF,CAAC;AACH","ignoreList":[]}
@@ -33,6 +33,7 @@ async function checkForUpdate(options) {
33
33
  const targetChannel = explicitChannel || currentChannel;
34
34
  const isFirstRuntimeChannelSwitchAttempt = !isSwitched && explicitChannel !== undefined && explicitChannel !== defaultChannel;
35
35
  const requestBundleId = isFirstRuntimeChannelSwitchAttempt ? minBundleId : currentBundleId;
36
+ const cohort = (0, _native.getCohort)();
36
37
  if (!currentAppVersion) {
37
38
  options.onError?.(new _error.HotUpdaterError("Failed to get app version"));
38
39
  return null;
@@ -54,6 +55,7 @@ async function checkForUpdate(options) {
54
55
  appVersion: currentAppVersion,
55
56
  bundleId: requestBundleId,
56
57
  minBundleId,
58
+ cohort,
57
59
  channel: targetChannel,
58
60
  updateStrategy: options.updateStrategy,
59
61
  fingerprintHash,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_error","_native","NIL_UUID","isResetToBuiltInResponse","updateInfo","status","id","fileUrl","checkForUpdate","options","__DEV__","includes","Platform","OS","onError","HotUpdaterError","currentAppVersion","getAppVersion","platform","currentBundleId","getBundleId","minBundleId","getMinBundleId","defaultChannel","getDefaultChannel","isSwitched","isChannelSwitched","currentChannel","getChannel","explicitChannel","channel","undefined","targetChannel","isFirstRuntimeChannelSwitchAttempt","requestBundleId","error","fingerprintHash","getFingerprintHash","resolver","checkUpdate","appVersion","bundleId","updateStrategy","requestHeaders","requestTimeout","updateBundle","resetChannel","runtimeChannel","fileHash","shouldSkipCurrentBundleIdCheck"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_error","_native","NIL_UUID","isResetToBuiltInResponse","updateInfo","status","id","fileUrl","checkForUpdate","options","__DEV__","includes","Platform","OS","onError","HotUpdaterError","currentAppVersion","getAppVersion","platform","currentBundleId","getBundleId","minBundleId","getMinBundleId","defaultChannel","getDefaultChannel","isSwitched","isChannelSwitched","currentChannel","getChannel","explicitChannel","channel","undefined","targetChannel","isFirstRuntimeChannelSwitchAttempt","requestBundleId","cohort","getCohort","error","fingerprintHash","getFingerprintHash","resolver","checkUpdate","appVersion","bundleId","updateStrategy","requestHeaders","requestTimeout","updateBundle","resetChannel","runtimeChannel","fileHash","shouldSkipCurrentBundleIdCheck"],"sourceRoot":"../../src","sources":["checkForUpdate.ts"],"mappings":"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","ignoreList":[]}
@@ -169,6 +169,10 @@ function createHotUpdaterClient() {
169
169
  * Retrieves the initial bundle ID based on the build time of the native app.
170
170
  */
171
171
  getMinBundleId: _native.getMinBundleId,
172
+ /**
173
+ * Fetches the current manifest for the active bundle.
174
+ */
175
+ getManifest: _native.getManifest,
172
176
  /**
173
177
  * Fetches the current channel of the app.
174
178
  *
@@ -202,6 +206,15 @@ function createHotUpdaterClient() {
202
206
  * @returns {boolean} true when a non-default channel has been applied
203
207
  */
204
208
  isChannelSwitched: _native.isChannelSwitched,
209
+ /**
210
+ * Sets the persisted cohort used for rollout calculations.
211
+ * Call `getCohort()` first if you need to restore the initial value later.
212
+ */
213
+ setCohort: _native.setCohort,
214
+ /**
215
+ * Gets the persisted cohort used for rollout calculations.
216
+ */
217
+ getCohort: _native.getCohort,
205
218
  /**
206
219
  * Adds a listener to HotUpdater events.
207
220
  *
@@ -1 +1 @@
1
- {"version":3,"names":["_checkForUpdate","require","_DefaultResolver","_native","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","global","createHotUpdaterClient","globalConfig","resolver","ensureGlobalResolver","methodName","Error","wrap","options","normalizedOptions","baseURL","rest","createDefaultResolver","requestHeaders","requestTimeout","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getBundleId","getMinBundleId","getChannel","getDefaultChannel","isChannelSwitched","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","resetChannel","ok","setState","progress","getFingerprintHash","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,kBAAkB,EAAEA,CAAA,KAAMC,sBAAe,CAACC,WAAW,CAAC,CAAC,CAACF,kBAAkB;IAE1E;AACJ;AACA;IACIG,aAAa,EAAbA,qBAAa;IAEb;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;IACIC,cAAc,EAAdA,sBAAc;IAEd;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,UAAU,EAAVA,kBAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,WAAW,EAAXA,mBAAW;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;IACIC,cAAc,EAAGC,MAA6B,IAAK;MACjD,MAAMzB,QAAQ,GAAGC,oBAAoB,CAAC,gBAAgB,CAAC;MAEvD,MAAMyB,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACTzB,QAAQ;QACRU,cAAc,EAAE;UACd,GAAGX,YAAY,CAACW,cAAc;UAC9B,GAAGe,MAAM,CAACf;QACZ,CAAC;QACDC,cAAc,EAAEc,MAAM,CAACd,cAAc,IAAIZ,YAAY,CAACY;MACxD,CAAC;MAED,OAAO,IAAAa,8BAAc,EAACE,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;IACIC,YAAY,EAAGC,MAAoB,IAAK;MACtC3B,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAO,IAAA0B,oBAAY,EAACC,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIC,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAMC,EAAE,GAAG,MAAM,IAAAD,oBAAY,EAAC,CAAC;MAC/B,IAAIC,EAAE,EAAE;QACNf,sBAAe,CAACgB,QAAQ,CAAC;UACvBjB,kBAAkB,EAAE,KAAK;UACzBkB,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;MACA,OAAOF,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,kBAAkB,EAAlBA,0BAAkB;IAElB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,eAAe,EAAfA,uBAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA;EACF,CAAC;AACH;AAEO,MAAMC,UAAU,GAAAlD,OAAA,CAAAkD,UAAA,GAAGtC,sBAAsB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_checkForUpdate","require","_DefaultResolver","_native","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","global","createHotUpdaterClient","globalConfig","resolver","ensureGlobalResolver","methodName","Error","wrap","options","normalizedOptions","baseURL","rest","createDefaultResolver","requestHeaders","requestTimeout","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getBundleId","getMinBundleId","getManifest","getChannel","getDefaultChannel","isChannelSwitched","setCohort","getCohort","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","resetChannel","ok","setState","progress","getFingerprintHash","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,kBAAkB,EAAEA,CAAA,KAAMC,sBAAe,CAACC,WAAW,CAAC,CAAC,CAACF,kBAAkB;IAE1E;AACJ;AACA;IACIG,aAAa,EAAbA,qBAAa;IAEb;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;IACIC,cAAc,EAAdA,sBAAc;IAEd;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,UAAU,EAAVA,kBAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,WAAW,EAAXA,mBAAW;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;IACIC,cAAc,EAAGC,MAA6B,IAAK;MACjD,MAAM5B,QAAQ,GAAGC,oBAAoB,CAAC,gBAAgB,CAAC;MAEvD,MAAM4B,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACT5B,QAAQ;QACRU,cAAc,EAAE;UACd,GAAGX,YAAY,CAACW,cAAc;UAC9B,GAAGkB,MAAM,CAAClB;QACZ,CAAC;QACDC,cAAc,EAAEiB,MAAM,CAACjB,cAAc,IAAIZ,YAAY,CAACY;MACxD,CAAC;MAED,OAAO,IAAAgB,8BAAc,EAACE,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;IACIC,YAAY,EAAGC,MAAoB,IAAK;MACtC9B,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAO,IAAA6B,oBAAY,EAACC,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIC,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAMC,EAAE,GAAG,MAAM,IAAAD,oBAAY,EAAC,CAAC;MAC/B,IAAIC,EAAE,EAAE;QACNlB,sBAAe,CAACmB,QAAQ,CAAC;UACvBpB,kBAAkB,EAAE,KAAK;UACzBqB,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;MACA,OAAOF,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,kBAAkB,EAAlBA,0BAAkB;IAElB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,eAAe,EAAfA,uBAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA;EACF,CAAC;AACH;AAEO,MAAMC,UAAU,GAAArD,OAAA,CAAAqD,UAAA,GAAGzC,sBAAsB,CAAC,CAAC","ignoreList":[]}
@@ -3,28 +3,35 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.HotUpdaterConstants = void 0;
7
6
  Object.defineProperty(exports, "HotUpdaterErrorCode", {
8
7
  enumerable: true,
9
8
  get: function () {
10
9
  return _error.HotUpdaterErrorCode;
11
10
  }
12
11
  });
13
- exports.isChannelSwitched = exports.getMinBundleId = exports.getFingerprintHash = exports.getDefaultChannel = exports.getCrashHistory = exports.getChannel = exports.getBundleId = exports.getBaseURL = exports.getAppVersion = exports.clearCrashHistory = exports.addListener = void 0;
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;
14
13
  Object.defineProperty(exports, "isHotUpdaterError", {
15
14
  enumerable: true,
16
15
  get: function () {
17
16
  return _error.isHotUpdaterError;
18
17
  }
19
18
  });
20
- exports.resetChannel = exports.reload = exports.notifyAppReady = void 0;
19
+ exports.setCohort = exports.resetChannel = exports.reload = exports.notifyAppReady = void 0;
21
20
  exports.setReloadBehavior = setReloadBehavior;
22
21
  exports.updateBundle = updateBundle;
22
+ var _core = require("@hot-updater/core");
23
23
  var _reactNative = require("react-native");
24
24
  var _error = require("./error.js");
25
25
  var _NativeHotUpdater = _interopRequireDefault(require("./specs/NativeHotUpdater.js"));
26
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
27
  const NIL_UUID = "00000000-0000-0000-0000-000000000000";
28
+ const normalizeAndValidateCohort = cohort => {
29
+ const normalized = (0, _core.normalizeCohortValue)(cohort);
30
+ if (!(0, _core.isValidCohort)(normalized)) {
31
+ throw new Error(_core.INVALID_COHORT_ERROR_MESSAGE);
32
+ }
33
+ return normalized;
34
+ };
28
35
 
29
36
  /**
30
37
  * Built-in reload behaviors used by `HotUpdater.reload()`.
@@ -48,12 +55,10 @@ const NIL_UUID = "00000000-0000-0000-0000-000000000000";
48
55
  * - `custom`: Run a user-provided JS handler on both platforms
49
56
  */
50
57
 
51
- const HotUpdaterConstants = exports.HotUpdaterConstants = {
52
- HOT_UPDATER_BUNDLE_ID: __HOT_UPDATER_BUNDLE_ID || NIL_UUID
53
- };
54
58
  class HotUpdaterSessionState {
55
59
  inflightUpdates = new Map();
56
60
  lastInstalledBundleId = null;
61
+ activeBundleSnapshotCache = new Map();
57
62
  constructor() {
58
63
  const constants = _NativeHotUpdater.default.getConstants();
59
64
  this.defaultChannel = constants.DEFAULT_CHANNEL ?? constants.CHANNEL;
@@ -85,16 +90,58 @@ class HotUpdaterSessionState {
85
90
  if (channel) {
86
91
  this.currentChannel = channel;
87
92
  }
93
+ this.clearActiveBundleSnapshotCache();
88
94
  }
89
95
  resetChannelState() {
90
96
  this.currentChannel = this.defaultChannel;
91
97
  this.lastInstalledBundleId = null;
92
98
  this.inflightUpdates.clear();
99
+ this.clearActiveBundleSnapshotCache();
100
+ }
101
+ getCachedBundleId() {
102
+ return this.getActiveBundleSnapshotValue("bundleId");
103
+ }
104
+ cacheBundleId(bundleId) {
105
+ this.setActiveBundleSnapshotValue("bundleId", bundleId);
106
+ }
107
+ getCachedManifest() {
108
+ const manifest = this.getActiveBundleSnapshotValue("manifest");
109
+ return manifest ? cloneManifest(manifest) : undefined;
110
+ }
111
+ cacheManifest(manifest) {
112
+ this.setActiveBundleSnapshotValue("manifest", cloneManifest(manifest));
113
+ }
114
+ getCachedBaseURL() {
115
+ return this.getActiveBundleSnapshotValue("baseURL");
116
+ }
117
+ cacheBaseURL(baseURL) {
118
+ this.setActiveBundleSnapshotValue("baseURL", baseURL);
119
+ }
120
+ getCachedCohort() {
121
+ return this.cachedCohort;
122
+ }
123
+ cacheCohort(cohort) {
124
+ this.cachedCohort = cohort;
125
+ }
126
+ clearActiveBundleSnapshotCache() {
127
+ this.activeBundleSnapshotCache.clear();
128
+ }
129
+ getActiveBundleSnapshotValue(key) {
130
+ return this.activeBundleSnapshotCache.get(key);
131
+ }
132
+ setActiveBundleSnapshotValue(key, value) {
133
+ this.activeBundleSnapshotCache.set(key, value);
93
134
  }
94
135
  }
95
136
  const sessionState = new HotUpdaterSessionState();
96
137
  let reloadBehavior = "processRestart";
97
138
  let customReloadHandler = null;
139
+ const cloneManifest = manifest => ({
140
+ bundleId: manifest.bundleId,
141
+ assets: Object.fromEntries(Object.entries(manifest.assets).map(([key, asset]) => [key, {
142
+ fileHash: asset.fileHash
143
+ }]))
144
+ });
98
145
  const getReloadProcess = () => {
99
146
  const nativeModule = _NativeHotUpdater.default;
100
147
  return typeof nativeModule.reloadProcess === "function" ? nativeModule.reloadProcess.bind(nativeModule) : null;
@@ -244,12 +291,58 @@ const getMinBundleId = () => {
244
291
  /**
245
292
  * Fetches the current bundle version id.
246
293
  *
247
- * @async
248
- * @returns {string} Resolves with the current version id or null if not available.
294
+ * JS falls back to MIN_BUNDLE_ID only after native confirms there is no active
295
+ * downloaded bundle. When the native module does not expose `getBundleId()`,
296
+ * treat it as a JS/native SDK mismatch instead of silently reporting the
297
+ * built-in bundle.
298
+ *
299
+ * @returns {string} Resolves with the current version id.
249
300
  */
250
301
  exports.getMinBundleId = getMinBundleId;
251
302
  const getBundleId = () => {
252
- return HotUpdaterConstants.HOT_UPDATER_BUNDLE_ID === NIL_UUID ? getMinBundleId() : HotUpdaterConstants.HOT_UPDATER_BUNDLE_ID;
303
+ const cachedBundleId = sessionState.getCachedBundleId();
304
+ if (cachedBundleId !== undefined) {
305
+ return cachedBundleId;
306
+ }
307
+ const nativeModule = _NativeHotUpdater.default;
308
+ if (typeof nativeModule.getBundleId !== "function") {
309
+ 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.");
310
+ }
311
+ const bundleId = nativeModule.getBundleId();
312
+ const resolvedBundleId = !bundleId || bundleId === NIL_UUID ? getMinBundleId() : bundleId;
313
+ sessionState.cacheBundleId(resolvedBundleId);
314
+ return resolvedBundleId;
315
+ };
316
+
317
+ /**
318
+ * Fetches the current manifest for the active bundle.
319
+ *
320
+ * Returns a normalized manifest with empty assets when manifest.json is missing
321
+ * or invalid.
322
+ */
323
+ exports.getBundleId = getBundleId;
324
+ const getManifest = () => {
325
+ const cachedManifest = sessionState.getCachedManifest();
326
+ if (cachedManifest !== undefined) {
327
+ return cachedManifest;
328
+ }
329
+ const nativeModule = _NativeHotUpdater.default;
330
+ const manifest = nativeModule.getManifest?.();
331
+ let normalizedManifest;
332
+ if (!manifest) {
333
+ normalizedManifest = createEmptyManifest();
334
+ } else if (typeof manifest === "string") {
335
+ try {
336
+ normalizedManifest = normalizeManifest(JSON.parse(manifest));
337
+ } catch {
338
+ normalizedManifest = createEmptyManifest();
339
+ }
340
+ } else {
341
+ normalizedManifest = normalizeManifest(manifest);
342
+ }
343
+ sessionState.cacheBundleId(normalizedManifest.bundleId);
344
+ sessionState.cacheManifest(normalizedManifest);
345
+ return cloneManifest(normalizedManifest);
253
346
  };
254
347
 
255
348
  /**
@@ -257,7 +350,7 @@ const getBundleId = () => {
257
350
  *
258
351
  * @returns {string} Resolves with the channel or null if not available.
259
352
  */
260
- exports.getBundleId = getBundleId;
353
+ exports.getManifest = getManifest;
261
354
  const getChannel = () => {
262
355
  return sessionState.getChannel();
263
356
  };
@@ -308,14 +401,16 @@ exports.getFingerprintHash = getFingerprintHash;
308
401
  * const result = HotUpdater.notifyAppReady();
309
402
  *
310
403
  * if (result.status === "RECOVERED") {
311
- * // Send ROLLBACK analytics event
312
- * analytics.track('bundle_rollback', { crashedBundleId: result.crashedBundleId });
404
+ * // Send ROLLBACK analytics event
405
+ * analytics.track("bundle_rollback", {
406
+ * crashedBundleId: result.crashedBundleId,
407
+ * });
313
408
  * }
314
409
  * ```
315
410
  */
316
411
  const notifyAppReady = () => {
317
412
  const result = _NativeHotUpdater.default.notifyAppReady();
318
- // Oldarch returns JSON string, newarch returns array
413
+ // Older Android old-arch implementations returned JSON strings.
319
414
  if (typeof result === "string") {
320
415
  try {
321
416
  return normalizeNotifyAppReadyResult(JSON.parse(result));
@@ -339,6 +434,53 @@ const normalizeNotifyAppReadyResult = result => {
339
434
  status: "STABLE"
340
435
  };
341
436
  };
437
+ const createEmptyManifest = () => ({
438
+ bundleId: getBundleId(),
439
+ assets: {}
440
+ });
441
+ const normalizeManifest = value => {
442
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
443
+ return createEmptyManifest();
444
+ }
445
+ const bundleIdValue = value.bundleId;
446
+ const bundleId = typeof bundleIdValue === "string" && bundleIdValue.trim() ? bundleIdValue.trim() : getBundleId();
447
+ return {
448
+ bundleId,
449
+ assets: normalizeManifestAssets(value.assets)
450
+ };
451
+ };
452
+ const normalizeManifestAssets = value => {
453
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
454
+ return {};
455
+ }
456
+ return Object.fromEntries(Object.entries(value).flatMap(([key, entry]) => {
457
+ const trimmedKey = key.trim();
458
+ if (!trimmedKey) {
459
+ return [];
460
+ }
461
+ if (typeof entry === "string") {
462
+ const fileHash = entry.trim();
463
+ if (!fileHash) {
464
+ return [];
465
+ }
466
+ return [[trimmedKey, {
467
+ fileHash
468
+ }]];
469
+ }
470
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
471
+ return [];
472
+ }
473
+ const {
474
+ fileHash
475
+ } = entry;
476
+ if (typeof fileHash !== "string" || !fileHash.trim()) {
477
+ return [];
478
+ }
479
+ return [[trimmedKey, {
480
+ fileHash: fileHash.trim()
481
+ }]];
482
+ }));
483
+ };
342
484
 
343
485
  /**
344
486
  * Gets the list of bundle IDs that have been marked as crashed.
@@ -348,7 +490,7 @@ const normalizeNotifyAppReadyResult = result => {
348
490
  */
349
491
  const getCrashHistory = () => {
350
492
  const result = _NativeHotUpdater.default.getCrashHistory();
351
- // Oldarch returns JSON string, newarch returns array
493
+ // Older Android old-arch implementations returned JSON strings.
352
494
  if (typeof result === "string") {
353
495
  try {
354
496
  return JSON.parse(result);
@@ -379,11 +521,14 @@ const clearCrashHistory = () => {
379
521
  */
380
522
  exports.clearCrashHistory = clearCrashHistory;
381
523
  const getBaseURL = () => {
382
- const result = _NativeHotUpdater.default.getBaseURL();
383
- if (typeof result === "string" && result !== "") {
384
- return result;
524
+ const cachedBaseURL = sessionState.getCachedBaseURL();
525
+ if (cachedBaseURL !== undefined) {
526
+ return cachedBaseURL;
385
527
  }
386
- return null;
528
+ const result = _NativeHotUpdater.default.getBaseURL();
529
+ const baseURL = typeof result === "string" && result !== "" ? result : null;
530
+ sessionState.cacheBaseURL(baseURL);
531
+ return baseURL;
387
532
  };
388
533
 
389
534
  /**
@@ -400,5 +545,35 @@ const resetChannel = async () => {
400
545
  }
401
546
  return ok;
402
547
  };
548
+
549
+ /**
550
+ * Sets the persisted cohort used for update checks.
551
+ *
552
+ * HotUpdater only derives a device-based cohort when nothing has been stored
553
+ * yet. If you need to restore that initial value later, read it with
554
+ * `getCohort()` before calling `setCohort()`, then store it yourself.
555
+ */
403
556
  exports.resetChannel = resetChannel;
557
+ const setCohort = cohort => {
558
+ const normalized = normalizeAndValidateCohort(cohort);
559
+ _NativeHotUpdater.default.setCohort(normalized);
560
+ sessionState.cacheCohort(normalized);
561
+ };
562
+
563
+ /**
564
+ * Gets the persisted cohort used for rollout calculations.
565
+ * If none has been stored yet, native derives the initial value once and
566
+ * persists it before returning.
567
+ */
568
+ exports.setCohort = setCohort;
569
+ const getCohort = () => {
570
+ const cachedCohort = sessionState.getCachedCohort();
571
+ if (cachedCohort !== undefined) {
572
+ return cachedCohort;
573
+ }
574
+ const cohort = normalizeAndValidateCohort(_NativeHotUpdater.default.getCohort());
575
+ sessionState.cacheCohort(cohort);
576
+ return cohort;
577
+ };
578
+ exports.getCohort = getCohort;
404
579
  //# sourceMappingURL=native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_error","_NativeHotUpdater","_interopRequireDefault","e","__esModule","default","NIL_UUID","HotUpdaterConstants","exports","HOT_UPDATER_BUNDLE_ID","__HOT_UPDATER_BUNDLE_ID","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","constructor","constants","HotUpdaterNative","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","NativeEventEmitter","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","Platform","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":["_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","getReloadProcess","nativeModule","reloadProcess","bind","eventEmitter","NativeEventEmitter","addListener","eventName","listener","subscription","remove","exports","updateBundle","paramsOrBundleId","fileUrl","updateBundleId","status","shouldSkipCurrentBundleIdCheck","localeCompare","getBundleId","existing","targetFileUrl","targetFileHash","targetChannel","ok","getAppVersion","APP_VERSION","reload","Platform","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":[]}