@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.
- package/android/build.gradle +12 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +3 -0
- package/android/src/main/cpp/CMakeLists.txt +9 -0
- package/android/src/main/cpp/HotUpdaterRecovery.cpp +143 -0
- package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +325 -210
- package/android/src/main/java/com/hotupdater/BundleMetadata.kt +73 -16
- package/android/src/main/java/com/hotupdater/CohortService.kt +73 -0
- package/android/src/main/java/com/hotupdater/DecompressService.kt +28 -22
- package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +1 -1
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +51 -13
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +533 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryReceiver.kt +14 -0
- package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +55 -0
- package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +19 -7
- package/android/src/newarch/HotUpdaterModule.kt +16 -25
- package/android/src/oldarch/HotUpdaterModule.kt +20 -26
- package/android/src/oldarch/HotUpdaterSpec.kt +12 -2
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +340 -232
- package/ios/HotUpdater/Internal/BundleMetadata.swift +61 -8
- package/ios/HotUpdater/Internal/CohortService.swift +63 -0
- package/ios/HotUpdater/Internal/DecompressService.swift +53 -30
- package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +9 -1
- package/ios/HotUpdater/Internal/HotUpdater.mm +376 -70
- package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.h +7 -0
- package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.mm +4 -0
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +321 -9
- package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +24 -8
- package/lib/commonjs/DefaultResolver.js +3 -5
- package/lib/commonjs/DefaultResolver.js.map +1 -1
- package/lib/commonjs/checkForUpdate.js +2 -0
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native.js +211 -39
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.spec.js +443 -0
- package/lib/commonjs/native.spec.js.map +1 -0
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/wrap.js +4 -5
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/module/DefaultResolver.js +3 -5
- package/lib/module/DefaultResolver.js.map +1 -1
- package/lib/module/checkForUpdate.js +3 -1
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/index.js +14 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/native.js +204 -34
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.spec.js +442 -0
- package/lib/module/native.spec.js.map +1 -0
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/wrap.js +5 -6
- package/lib/module/wrap.js.map +1 -1
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +14 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +43 -23
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +32 -8
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +6 -3
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.d.ts +3 -6
- package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +14 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +43 -23
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +32 -8
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +6 -3
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/wrap.d.ts +3 -6
- package/lib/typescript/module/wrap.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/DefaultResolver.ts +4 -4
- package/src/checkForUpdate.ts +4 -0
- package/src/index.ts +21 -0
- package/src/native.spec.ts +480 -0
- package/src/native.ts +285 -39
- package/src/specs/NativeHotUpdater.ts +36 -6
- package/src/types.ts +7 -3
- package/src/wrap.tsx +8 -12
package/lib/module/index.js
CHANGED
|
@@ -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
|
*
|
package/lib/module/index.js.map
CHANGED
|
@@ -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":";;AAAA,SAEEA,cAAc,QAET,qBAAkB;AACzB,SAASC,qBAAqB,QAAQ,sBAAmB;AACzD,SACEC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,cAAc,EACdC,iBAAiB,EACjBC,MAAM,EACNC,YAAY,EACZC,iBAAiB,EAEjBC,YAAY,QACP,aAAU;AACjB,SAASC,eAAe,QAAQ,YAAS;AAEzC,SAA2DC,IAAI,QAAQ,WAAQ;
|
|
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":[]}
|
package/lib/module/native.js
CHANGED
|
@@ -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
|
-
*
|
|
226
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
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
|
|
302
|
-
|
|
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
|
-
//
|
|
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
|
|
356
|
-
if (
|
|
357
|
-
return
|
|
494
|
+
const cachedBaseURL = sessionState.getCachedBaseURL();
|
|
495
|
+
if (cachedBaseURL !== undefined) {
|
|
496
|
+
return cachedBaseURL;
|
|
358
497
|
}
|
|
359
|
-
|
|
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
|
package/lib/module/native.js.map
CHANGED
|
@@ -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":[]}
|