react-native-bspatch 5.0.0 → 5.0.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.
- package/README.md +1 -0
- package/lib/commonjs/ota/OtaProvider.js +57 -23
- package/lib/commonjs/ota/OtaProvider.js.map +1 -1
- package/lib/commonjs/ota/eligibility.js +10 -3
- package/lib/commonjs/ota/eligibility.js.map +1 -1
- package/lib/module/ota/OtaProvider.js +57 -23
- package/lib/module/ota/OtaProvider.js.map +1 -1
- package/lib/module/ota/eligibility.js +10 -3
- package/lib/module/ota/eligibility.js.map +1 -1
- package/lib/typescript/ota/OtaProvider.d.ts.map +1 -1
- package/lib/typescript/ota/eligibility.d.ts +8 -2
- package/lib/typescript/ota/eligibility.d.ts.map +1 -1
- package/lib/typescript/ota/types.d.ts +6 -0
- package/lib/typescript/ota/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ota/OtaProvider.tsx +59 -25
- package/src/ota/eligibility.ts +12 -3
- package/src/ota/types.ts +6 -0
package/README.md
CHANGED
|
@@ -348,6 +348,7 @@ const {
|
|
|
348
348
|
installId, // Stable random ID of this install (rollout bucket, QA lists, telemetry)
|
|
349
349
|
applyUpdate, // () => Promise<void> — download and apply update immediately
|
|
350
350
|
applyVersion, // (version) => Promise<void> — download and apply a specific version from the manifest
|
|
351
|
+
applyEntry, // (entry) => Promise<void> — install exactly this registry entry (QA/version list); skips kill switch/rollout/QA list, never the native/Hermes checks
|
|
351
352
|
resetToFactory, // () => Promise<void> — wipe OTA state, reload APK/IPA
|
|
352
353
|
markAsHealthy, // () => Promise<void> — manually mark launch OK
|
|
353
354
|
checkUpdate, // ({ force }?) => Promise<void> — check now (throttled by minCheckIntervalMs unless force)
|
|
@@ -128,20 +128,20 @@ function OtaProvider({
|
|
|
128
128
|
}
|
|
129
129
|
}, [config, onEvent]);
|
|
130
130
|
|
|
131
|
-
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
131
|
+
/** What decides which registry entries this install may take */
|
|
132
|
+
const eligibilityContext = (0, _react.useCallback)(async () => {
|
|
133
|
+
const metadata = await (0, _otaMetadata.loadMetadata)(config.baseAppVersion);
|
|
134
|
+
return {
|
|
135
|
+
platform: _reactNative.Platform.OS,
|
|
136
|
+
failedVersions: metadata.failedVersions ?? [],
|
|
137
|
+
runtimeFingerprint: nativeString(() => _NativeBsPatch.default.getRuntimeFingerprint()),
|
|
138
|
+
hermesBytecodeVersion: hermesBytecodeVersion(),
|
|
139
|
+
installId: await (0, _installId.getInstallId)()
|
|
140
|
+
};
|
|
141
|
+
}, [config.baseAppVersion]);
|
|
142
|
+
|
|
143
|
+
/** Installs one registry entry in the foreground (status + progress), then reloads */
|
|
144
|
+
const installEntry = (0, _react.useCallback)(async directPatch => {
|
|
145
145
|
try {
|
|
146
146
|
const effectiveConfig = await getEffectiveConfig();
|
|
147
147
|
setStatus(_types.OtaStatus.DOWNLOADING);
|
|
@@ -163,6 +163,45 @@ function OtaProvider({
|
|
|
163
163
|
}
|
|
164
164
|
}, [getEffectiveConfig, setProgressIfChanged]);
|
|
165
165
|
|
|
166
|
+
/**
|
|
167
|
+
* Core apply update logic — separated so it can be mapped to button clicks
|
|
168
|
+
* OR called automatically by checkUpdates()
|
|
169
|
+
*/
|
|
170
|
+
const executeApplyUpdate = (0, _react.useCallback)(async (patchList, currentVer, targetVer) => {
|
|
171
|
+
const directPatch = (0, _otaCore.selectUpdate)(patchList, currentVer, targetVer);
|
|
172
|
+
if (!directPatch) {
|
|
173
|
+
if (__DEV__) {
|
|
174
|
+
console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
|
|
175
|
+
}
|
|
176
|
+
setStatus(_types.OtaStatus.ERROR);
|
|
177
|
+
setMessage('No upgrade path found.');
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
await installEntry(directPatch);
|
|
181
|
+
}, [installEntry]);
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Installs exactly this registry entry (a version list in a debug/QA screen): the patch
|
|
185
|
+
* when it starts from the running version, else its full bundle. Ignores the kill switch,
|
|
186
|
+
* rollout and QA list; still refuses what would break the app (native code, Hermes, …).
|
|
187
|
+
*/
|
|
188
|
+
const applyEntry = (0, _react.useCallback)(async entry => {
|
|
189
|
+
if (!isDebugUpdateEnabled) {
|
|
190
|
+
setStatus(_types.OtaStatus.UP_TO_DATE);
|
|
191
|
+
setMessage('OTA updates are disabled while running a debug build.');
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const reason = (0, _eligibility.ineligibleReason)(entry, await eligibilityContext(), {
|
|
195
|
+
ignoreControls: true
|
|
196
|
+
});
|
|
197
|
+
if (reason) {
|
|
198
|
+
setStatus(_types.OtaStatus.ERROR);
|
|
199
|
+
setMessage(`Can't install V${entry.toVersion}: ${reason}`);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
await installEntry(entry);
|
|
203
|
+
}, [eligibilityContext, installEntry, isDebugUpdateEnabled]);
|
|
204
|
+
|
|
166
205
|
/**
|
|
167
206
|
* Exposed method for manual trigger
|
|
168
207
|
*/
|
|
@@ -237,13 +276,7 @@ function OtaProvider({
|
|
|
237
276
|
|
|
238
277
|
// Storage providers return every platform: keep what this install may take (platform,
|
|
239
278
|
// native fingerprint, Hermes, rollout/QA lists, kill switch, versions that crashed here)
|
|
240
|
-
const context =
|
|
241
|
-
platform: _reactNative.Platform.OS,
|
|
242
|
-
failedVersions: metadata.failedVersions ?? [],
|
|
243
|
-
runtimeFingerprint: nativeString(() => _NativeBsPatch.default.getRuntimeFingerprint()),
|
|
244
|
-
hermesBytecodeVersion: hermesBytecodeVersion(),
|
|
245
|
-
installId: await (0, _installId.getInstallId)()
|
|
246
|
-
};
|
|
279
|
+
const context = await eligibilityContext();
|
|
247
280
|
const platformPatches = remotePatches.filter(p => {
|
|
248
281
|
const reason = (0, _eligibility.ineligibleReason)(p, context);
|
|
249
282
|
if (reason && __DEV__ && p.toVersion > localV) {
|
|
@@ -282,7 +315,7 @@ function OtaProvider({
|
|
|
282
315
|
isCheckingRef.current = false;
|
|
283
316
|
setIsChecking(false);
|
|
284
317
|
}
|
|
285
|
-
}, [config, configError, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
|
|
318
|
+
}, [config, configError, eligibilityContext, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
|
|
286
319
|
|
|
287
320
|
/**
|
|
288
321
|
* Bootstrap: runs once on mount.
|
|
@@ -411,11 +444,12 @@ function OtaProvider({
|
|
|
411
444
|
installId,
|
|
412
445
|
applyUpdate,
|
|
413
446
|
applyVersion,
|
|
447
|
+
applyEntry,
|
|
414
448
|
resetToFactory,
|
|
415
449
|
markAsHealthy,
|
|
416
450
|
checkUpdate: checkUpdates,
|
|
417
451
|
reloadBundle: () => _NativeBsPatch.default.reloadBundle()
|
|
418
|
-
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, resetToFactory, markAsHealthy, checkUpdates]);
|
|
452
|
+
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, applyEntry, resetToFactory, markAsHealthy, checkUpdates]);
|
|
419
453
|
|
|
420
454
|
// Logic to determine if we should block the UI
|
|
421
455
|
const isBlocking = (0, _react.useMemo)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NativeBsPatch","_interopRequireDefault","_eligibility","_installId","_otaCore","_otaLogger","_otaMetadata","_types","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtaContext","createContext","undefined","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","useState","OtaStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","isMandatory","setIsMandatory","installId","setInstallId","appState","useRef","AppState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","Platform","OS","appBuild","NativeBsPatch","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","directPatch","selectUpdate","console","warn","ERROR","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","percent","error","applyVersion","targetVersion","UP_TO_DATE","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","createOtaLogger","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","metadata","loadMetadata","context","failedVersions","getInstallId","platformPatches","filter","p","reason","ineligibleReason","toVersion","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","then","readDir","DOCUMENT_DIR","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","exists","OTA_DIR","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","useContext","StyleSheet","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NativeBsPatch","_interopRequireDefault","_eligibility","_installId","_otaCore","_otaLogger","_otaMetadata","_types","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtaContext","createContext","undefined","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","useState","OtaStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","isMandatory","setIsMandatory","installId","setInstallId","appState","useRef","AppState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","Platform","OS","appBuild","NativeBsPatch","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","getAppVersion","eligibilityContext","metadata","loadMetadata","failedVersions","getInstallId","installEntry","directPatch","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","percent","error","console","ERROR","executeApplyUpdate","patchList","currentVer","targetVer","selectUpdate","warn","applyEntry","UP_TO_DATE","reason","ineligibleReason","ignoreControls","toVersion","applyVersion","targetVersion","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","createOtaLogger","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","context","platformPatches","filter","p","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","then","readDir","DOCUMENT_DIR","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","exists","OTA_DIR","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","useContext","StyleSheet","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,12 +16,18 @@ const rolloutBucket = (installId, version) => {
|
|
|
16
16
|
return h % 100;
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Why this client must not install the entry, or null when it may.
|
|
21
|
+
* ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
|
|
22
|
+
* rollout and QA list, keep every check that protects the app.
|
|
23
|
+
*/
|
|
20
24
|
exports.rolloutBucket = rolloutBucket;
|
|
21
|
-
const ineligibleReason = (e, ctx
|
|
25
|
+
const ineligibleReason = (e, ctx, {
|
|
26
|
+
ignoreControls = false
|
|
27
|
+
} = {}) => {
|
|
22
28
|
if (e.platform && e.platform.toLowerCase() !== ctx.platform) return 'other platform';
|
|
23
29
|
if (ctx.failedVersions.includes(e.toVersion)) return 'crashed on boot here before';
|
|
24
|
-
if (e.disabled) return 'disabled';
|
|
30
|
+
if (e.disabled && !ignoreControls) return 'disabled';
|
|
25
31
|
const missing = (e.requires ?? []).filter(f => !SUPPORTED_FEATURES.includes(f));
|
|
26
32
|
if (missing.length) return `needs a newer client (${missing.join(', ')})`;
|
|
27
33
|
if (e.runtimeFingerprint && e.runtimeFingerprint !== ctx.runtimeFingerprint) {
|
|
@@ -30,6 +36,7 @@ const ineligibleReason = (e, ctx) => {
|
|
|
30
36
|
if (e.hermesBytecodeVersion && ctx.hermesBytecodeVersion && e.hermesBytecodeVersion !== ctx.hermesBytecodeVersion) {
|
|
31
37
|
return `Hermes bytecode ${e.hermesBytecodeVersion}, runtime reads ${ctx.hermesBytecodeVersion}`;
|
|
32
38
|
}
|
|
39
|
+
if (ignoreControls) return null;
|
|
33
40
|
if (e.allowInstallIds?.length && !e.allowInstallIds.includes(ctx.installId)) return 'not in the QA list';
|
|
34
41
|
if (e.rolloutPercent !== undefined && rolloutBucket(ctx.installId, e.toVersion) >= e.rolloutPercent) {
|
|
35
42
|
return `outside the ${e.rolloutPercent}% rollout`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SUPPORTED_FEATURES","exports","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;;;;;AAEA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACO,MAAME,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;
|
|
1
|
+
{"version":3,"names":["SUPPORTED_FEATURES","exports","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","ignoreControls","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;;;;;AAEA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACO,MAAME,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAJ,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAKO,MAAMQ,gBAAgB,GAAGA,CAC5BC,CAAW,EACXC,GAAuB,EACvB;EAAEC,cAAc,GAAG;AAAoC,CAAC,GAAG,CAAC,CAAC,KAC7C;EAChB,IAAIF,CAAC,CAACG,QAAQ,IAAIH,CAAC,CAACG,QAAQ,CAACC,WAAW,CAAC,CAAC,KAAKH,GAAG,CAACE,QAAQ,EAAE,OAAO,gBAAgB;EACpF,IAAIF,GAAG,CAACI,cAAc,CAACC,QAAQ,CAACN,CAAC,CAACO,SAAS,CAAC,EAAE,OAAO,6BAA6B;EAClF,IAAIP,CAAC,CAACQ,QAAQ,IAAI,CAACN,cAAc,EAAE,OAAO,UAAU;EACpD,MAAMO,OAAO,GAAG,CAACT,CAAC,CAACU,QAAQ,IAAI,EAAE,EAAEC,MAAM,CAACC,CAAC,IAAI,CAACvB,kBAAkB,CAACiB,QAAQ,CAACM,CAAC,CAAC,CAAC;EAC/E,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAO,yBAAyBJ,OAAO,CAACK,IAAI,CAAC,IAAI,CAAC,GAAG;EACzE,IAAId,CAAC,CAACe,kBAAkB,IAAIf,CAAC,CAACe,kBAAkB,KAAKd,GAAG,CAACc,kBAAkB,EAAE;IACzE,OAAOd,GAAG,CAACc,kBAAkB,GACvB,uDAAuD,GACvD,uFAAuF;EACjG;EACA,IAAIf,CAAC,CAACgB,qBAAqB,IAAIf,GAAG,CAACe,qBAAqB,IAAIhB,CAAC,CAACgB,qBAAqB,KAAKf,GAAG,CAACe,qBAAqB,EAAE;IAC/G,OAAO,mBAAmBhB,CAAC,CAACgB,qBAAqB,mBAAmBf,GAAG,CAACe,qBAAqB,EAAE;EACnG;EACA,IAAId,cAAc,EAAE,OAAO,IAAI;EAC/B,IAAIF,CAAC,CAACiB,eAAe,EAAEJ,MAAM,IAAI,CAACb,CAAC,CAACiB,eAAe,CAACX,QAAQ,CAACL,GAAG,CAACT,SAAS,CAAC,EAAE,OAAO,oBAAoB;EACxG,IAAIQ,CAAC,CAACkB,cAAc,KAAKC,SAAS,IAAI5B,aAAa,CAACU,GAAG,CAACT,SAAS,EAAEQ,CAAC,CAACO,SAAS,CAAC,IAAIP,CAAC,CAACkB,cAAc,EAAE;IACjG,OAAO,eAAelB,CAAC,CAACkB,cAAc,WAAW;EACrD;EACA,OAAO,IAAI;AACf,CAAC;AAAC5B,OAAA,CAAAS,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -121,20 +121,20 @@ export function OtaProvider({
|
|
|
121
121
|
}
|
|
122
122
|
}, [config, onEvent]);
|
|
123
123
|
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
124
|
+
/** What decides which registry entries this install may take */
|
|
125
|
+
const eligibilityContext = useCallback(async () => {
|
|
126
|
+
const metadata = await loadMetadata(config.baseAppVersion);
|
|
127
|
+
return {
|
|
128
|
+
platform: Platform.OS,
|
|
129
|
+
failedVersions: metadata.failedVersions ?? [],
|
|
130
|
+
runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
|
|
131
|
+
hermesBytecodeVersion: hermesBytecodeVersion(),
|
|
132
|
+
installId: await getInstallId()
|
|
133
|
+
};
|
|
134
|
+
}, [config.baseAppVersion]);
|
|
135
|
+
|
|
136
|
+
/** Installs one registry entry in the foreground (status + progress), then reloads */
|
|
137
|
+
const installEntry = useCallback(async directPatch => {
|
|
138
138
|
try {
|
|
139
139
|
const effectiveConfig = await getEffectiveConfig();
|
|
140
140
|
setStatus(OtaStatus.DOWNLOADING);
|
|
@@ -156,6 +156,45 @@ export function OtaProvider({
|
|
|
156
156
|
}
|
|
157
157
|
}, [getEffectiveConfig, setProgressIfChanged]);
|
|
158
158
|
|
|
159
|
+
/**
|
|
160
|
+
* Core apply update logic — separated so it can be mapped to button clicks
|
|
161
|
+
* OR called automatically by checkUpdates()
|
|
162
|
+
*/
|
|
163
|
+
const executeApplyUpdate = useCallback(async (patchList, currentVer, targetVer) => {
|
|
164
|
+
const directPatch = selectUpdate(patchList, currentVer, targetVer);
|
|
165
|
+
if (!directPatch) {
|
|
166
|
+
if (__DEV__) {
|
|
167
|
+
console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
|
|
168
|
+
}
|
|
169
|
+
setStatus(OtaStatus.ERROR);
|
|
170
|
+
setMessage('No upgrade path found.');
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
await installEntry(directPatch);
|
|
174
|
+
}, [installEntry]);
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Installs exactly this registry entry (a version list in a debug/QA screen): the patch
|
|
178
|
+
* when it starts from the running version, else its full bundle. Ignores the kill switch,
|
|
179
|
+
* rollout and QA list; still refuses what would break the app (native code, Hermes, …).
|
|
180
|
+
*/
|
|
181
|
+
const applyEntry = useCallback(async entry => {
|
|
182
|
+
if (!isDebugUpdateEnabled) {
|
|
183
|
+
setStatus(OtaStatus.UP_TO_DATE);
|
|
184
|
+
setMessage('OTA updates are disabled while running a debug build.');
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const reason = ineligibleReason(entry, await eligibilityContext(), {
|
|
188
|
+
ignoreControls: true
|
|
189
|
+
});
|
|
190
|
+
if (reason) {
|
|
191
|
+
setStatus(OtaStatus.ERROR);
|
|
192
|
+
setMessage(`Can't install V${entry.toVersion}: ${reason}`);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
await installEntry(entry);
|
|
196
|
+
}, [eligibilityContext, installEntry, isDebugUpdateEnabled]);
|
|
197
|
+
|
|
159
198
|
/**
|
|
160
199
|
* Exposed method for manual trigger
|
|
161
200
|
*/
|
|
@@ -230,13 +269,7 @@ export function OtaProvider({
|
|
|
230
269
|
|
|
231
270
|
// Storage providers return every platform: keep what this install may take (platform,
|
|
232
271
|
// native fingerprint, Hermes, rollout/QA lists, kill switch, versions that crashed here)
|
|
233
|
-
const context =
|
|
234
|
-
platform: Platform.OS,
|
|
235
|
-
failedVersions: metadata.failedVersions ?? [],
|
|
236
|
-
runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
|
|
237
|
-
hermesBytecodeVersion: hermesBytecodeVersion(),
|
|
238
|
-
installId: await getInstallId()
|
|
239
|
-
};
|
|
272
|
+
const context = await eligibilityContext();
|
|
240
273
|
const platformPatches = remotePatches.filter(p => {
|
|
241
274
|
const reason = ineligibleReason(p, context);
|
|
242
275
|
if (reason && __DEV__ && p.toVersion > localV) {
|
|
@@ -275,7 +308,7 @@ export function OtaProvider({
|
|
|
275
308
|
isCheckingRef.current = false;
|
|
276
309
|
setIsChecking(false);
|
|
277
310
|
}
|
|
278
|
-
}, [config, configError, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
|
|
311
|
+
}, [config, configError, eligibilityContext, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
|
|
279
312
|
|
|
280
313
|
/**
|
|
281
314
|
* Bootstrap: runs once on mount.
|
|
@@ -404,11 +437,12 @@ export function OtaProvider({
|
|
|
404
437
|
installId,
|
|
405
438
|
applyUpdate,
|
|
406
439
|
applyVersion,
|
|
440
|
+
applyEntry,
|
|
407
441
|
resetToFactory,
|
|
408
442
|
markAsHealthy,
|
|
409
443
|
checkUpdate: checkUpdates,
|
|
410
444
|
reloadBundle: () => NativeBsPatch.reloadBundle()
|
|
411
|
-
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, resetToFactory, markAsHealthy, checkUpdates]);
|
|
445
|
+
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, applyEntry, resetToFactory, markAsHealthy, checkUpdates]);
|
|
412
446
|
|
|
413
447
|
// Logic to determine if we should block the UI
|
|
414
448
|
const isBlocking = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","ActivityIndicator","AppState","Platform","StyleSheet","Text","View","NativeBsPatch","ineligibleReason","getInstallId","applyOtaPatchInternal","fetchOtaManifest","selectUpdate","validateOtaConfig","createOtaLogger","OtaEvent","DOCUMENT_DIR","loadMetadata","markHealthy","OTA_DIR","OtaStatus","OtaUpdateMode","jsx","_jsx","jsxs","_jsxs","OtaContext","undefined","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","get","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","isMandatory","setIsMandatory","installId","setInstallId","appState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","e","Error","setProgressIfChanged","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","OS","appBuild","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","directPatch","console","warn","ERROR","effectiveConfig","DOWNLOADING","s","msg","m","percent","error","applyVersion","targetVersion","UP_TO_DATE","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","emit","CHECK_UPDATE","remotePatches","metadata","context","failedVersions","platformPatches","filter","p","reason","toVersion","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","bootstrap","then","readDir","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","resetToFactory","APPLYING","RESET_FACTORY","exists","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","Provider","style","styles","loadingContainer","loadingCard","size","color","loadingTitle","loadingText","progressText","toFixed","useOta","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","ActivityIndicator","AppState","Platform","StyleSheet","Text","View","NativeBsPatch","ineligibleReason","getInstallId","applyOtaPatchInternal","fetchOtaManifest","selectUpdate","validateOtaConfig","createOtaLogger","OtaEvent","DOCUMENT_DIR","loadMetadata","markHealthy","OTA_DIR","OtaStatus","OtaUpdateMode","jsx","_jsx","jsxs","_jsxs","OtaContext","undefined","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","get","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","isMandatory","setIsMandatory","installId","setInstallId","appState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","e","Error","setProgressIfChanged","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","OS","appBuild","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","getAppVersion","eligibilityContext","metadata","failedVersions","installEntry","directPatch","effectiveConfig","DOWNLOADING","s","msg","m","percent","error","console","ERROR","executeApplyUpdate","patchList","currentVer","targetVer","warn","applyEntry","UP_TO_DATE","reason","ignoreControls","toVersion","applyVersion","targetVersion","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","emit","CHECK_UPDATE","remotePatches","context","platformPatches","filter","p","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","bootstrap","then","readDir","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","resetToFactory","APPLYING","RESET_FACTORY","exists","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","Provider","style","styles","loadingContainer","loadingCard","size","color","loadingTitle","loadingText","progressText","toFixed","useOta","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SACEC,iBAAiB,EACjBC,QAAQ,EAERC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,IAAI,QACC,cAAc;AACrB,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,SAASC,gBAAgB,QAAiC,eAAe;AACzE,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,qBAAqB,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,iBAAiB,QAAQ,WAAW;AACpG,SAASC,eAAe,EAAEC,QAAQ,QAA0B,aAAa;AACzE,SAASC,YAAY,EAAEC,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,eAAe;AAChF,SAKEC,SAAS,EACTC,aAAa,QACR,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEjB,MAAMC,UAAU,gBAAGhC,aAAa,CAAuBiC,SAAS,CAAC;AAEjE,MAAMC,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;;AAEpD;AACA,MAAMC,YAAY,GAAIC,GAAiB,IAAa;EAClD,IAAI;IACF,OAAOA,GAAG,CAAC,CAAC,IAAI,EAAE;EACpB,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF,CAAC;;AAED;AACA,MAAMC,qBAAqB,GAAGA,CAAA,KAA0B;EACtD,MAAMC,CAAC,GAAIC,UAAU,CAASC,cAAc,EAAEC,oBAAoB,GAAG,CAAC,GAAG,kBAAkB,CAAC;EAC5F,OAAOH,CAAC,GAAGI,MAAM,CAACJ,CAAC,CAAC,GAAGL,SAAS;AAClC,CAAC;AAED,OAAO,SAASU,WAAWA,CAAC;EAC1BC,QAAQ;EACRC,MAAM;EACNC,WAAW;EACXC,cAAc,GAAG;AAMnB,CAAC,EAAE;EACD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG3C,QAAQ,CAAYoB,SAAS,CAACwB,IAAI,CAAC;EAC/D,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG9C,QAAQ,CAAS,iBAAiB,CAAC;EACjE,MAAM,CAAC+C,QAAQ,EAAEC,WAAW,CAAC,GAAGhD,QAAQ,CAAS,CAAC,CAAC;EAEnD,MAAM,CAACiD,cAAc,EAAEC,iBAAiB,CAAC,GAAGlD,QAAQ,CAClDuC,MAAM,CAACY,cACT,CAAC;EACD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGrD,QAAQ,CAChDuC,MAAM,CAACY,cACT,CAAC;EACD,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GAAGvD,QAAQ,CAAS,CAAC,CAAC;EAC3D,MAAM,CAACwD,UAAU,EAAEC,aAAa,CAAC,GAAGzD,QAAQ,CAAU,KAAK,CAAC;EAC5D,MAAM,CAAC0D,OAAO,EAAEC,UAAU,CAAC,GAAG3D,QAAQ,CAAoB,IAAI,CAAC;EAC/D,MAAM,CAAC4D,OAAO,EAAEC,UAAU,CAAC,GAAG7D,QAAQ,CAAa,EAAE,CAAC;EACtD,MAAM,CAAC8D,aAAa,EAAEC,gBAAgB,CAAC,GAAG/D,QAAQ,CAAU,KAAK,CAAC;EAClE,MAAM,CAACgE,aAAa,EAAEC,gBAAgB,CAAC,GAAGjE,QAAQ,CAAU,KAAK,CAAC;EAClE,MAAM,CAACkE,WAAW,EAAEC,cAAc,CAAC,GAAGnE,QAAQ,CAAU,KAAK,CAAC;EAC9D,MAAM,CAACoE,SAAS,EAAEC,YAAY,CAAC,GAAGrE,QAAQ,CAAS,EAAE,CAAC;EAEtD,MAAMsE,QAAQ,GAAGvE,MAAM,CAACG,QAAQ,CAACqE,YAAY,CAAC;EAC9C,MAAMC,aAAa,GAAGzE,MAAM,CAAC,KAAK,CAAC;EACnC,MAAM0E,aAAa,GAAG1E,MAAM,CAAC,KAAK,CAAC;EACnC;EACA,MAAM2E,iBAAiB,GAAG3E,MAAM,CAACwC,MAAM,CAACY,cAAc,CAAC;EACvD,MAAMwB,WAAW,GAAG5E,MAAM,CAAC,CAAC,CAAC;EAC7B,MAAM6E,YAAY,GAAG7E,MAAM,CAAC,CAAC,CAAC;EAC9B,MAAM8E,aAAa,GAAG9E,MAAM,CAACwC,MAAM,CAACuC,UAAU,IAAI,EAAE,CAAC;EACrD,MAAMC,YAAY,GAAGhF,MAAM,CAAC,EAAE,CAAC;EAC/B,MAAMiF,oBAAoB,GAAG,CAACC,OAAO,IAAI1C,MAAM,CAAC2C,iBAAiB,KAAK,IAAI;;EAE1E;EACA;EACA,MAAMC,WAAW,GAAGrF,OAAO,CAAC,MAAM;IAChC,MAAMsF,CAAC,GAAGvE,iBAAiB,CAAC0B,MAAM,CAAC;IACnC,OAAO6C,CAAC,IAAI,wCAAwCA,CAAC,EAAE;EACzD,CAAC,EAAE,CAAC7C,MAAM,CAAC,CAAC;EACZ,IAAI0C,OAAO,IAAIE,WAAW,EAAE;IAC1B,MAAM,IAAIE,KAAK,CAACF,WAAW,CAAC;EAC9B;EAEA,MAAMG,oBAAoB,GAAG3F,WAAW,CAAE4F,YAAoB,IAAK;IACjE,IAAIZ,WAAW,CAACa,OAAO,KAAKD,YAAY,EAAE;MACxC;IACF;IACAZ,WAAW,CAACa,OAAO,GAAGD,YAAY;IAClCvC,WAAW,CAACuC,YAAY,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAME,OAAO,GAAG9F,WAAW,CAAE+F,KAAkB,IAAK;IAClDnD,MAAM,CAACkD,OAAO,GAAGC,KAAK,CAAC;IACvB,MAAMC,SAAS,GAAGpD,MAAM,CAACoD,SAAS;IAClC,IAAI,CAACA,SAAS,EAAE;IAChBC,KAAK,CAACD,SAAS,CAACE,GAAG,EAAE;MACnBC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QAAE,cAAc,EAAE,kBAAkB;QAAE,GAAGJ,SAAS,CAACI;MAAQ,CAAC;MACrEC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;QACnB,GAAGR,KAAK;QACRtB,SAAS,EAAEW,YAAY,CAACS,OAAO;QAC/BW,QAAQ,EAAEhG,QAAQ,CAACiG,EAAE;QACrBtB,UAAU,EAAED,aAAa,CAACW,OAAO;QACjCa,QAAQ,EAAExE,YAAY,CAAC,MAAMtB,aAAa,CAAC+F,WAAW,CAAC,CAAC,CAAC;QACzDC,kBAAkB,EAAE1E,YAAY,CAAC,MAAMtB,aAAa,CAACiG,qBAAqB,CAAC,CAAC,CAAC;QAC7EC,MAAM,EAAElE,MAAM,CAACmE,YAAY,EAAEC,OAAO;QACpCC,UAAU,EAAElC,iBAAiB,CAACc;MAChC,CAAC;IACH,CAAC,CAAC,CAACqB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACpB,CAAC,EAAE,CAACtE,MAAM,CAAC,CAAC;EAEZ,MAAMuE,kBAAkB,GAAGnH,WAAW,CAAC,YAAgC;IACrE;IACA,MAAMoH,SAAS,GAAGxE,MAAM,CAACwE,SAAS,IAAIlF,YAAY,CAAC,MAAMtB,aAAa,CAACyG,qBAAqB,CAAC,CAAC,CAAC,IAAIrF,SAAS;IAC5G,MAAMsF,IAAI,GAAG;MAAE,GAAG1E,MAAM;MAAEwE,SAAS;MAAEtB;IAAQ,CAAC;IAC9C,IAAIlD,MAAM,CAACuC,UAAU,EAAE,OAAOmC,IAAI;IAClC,IAAI;MACF,MAAMC,SAAS,GAAG,MAAM3G,aAAa,CAAC4G,aAAa,CAAC,CAAC;MACrD,IAAI,CAACD,SAAS,EAAE;QACd,MAAM,IAAI7B,KAAK,CAAC,4BAA4B,CAAC;MAC/C;MACAR,aAAa,CAACW,OAAO,GAAG0B,SAAS;MACjC,OAAO;QAAE,GAAGD,IAAI;QAAEnC,UAAU,EAAEoC;MAAU,CAAC;IAC3C,CAAC,CAAC,OAAO9B,CAAC,EAAE;MACV,MAAM,IAAIC,KAAK,CACb,+DAAgED,CAAC,CAAWvC,OAAO,IAAI,GACvF,+GACF,CAAC;IACH;EACF,CAAC,EAAE,CAACN,MAAM,EAAEkD,OAAO,CAAC,CAAC;;EAErB;EACA,MAAM2B,kBAAkB,GAAGzH,WAAW,CAAC,YAAyC;IAC9E,MAAM0H,QAAQ,GAAG,MAAMpG,YAAY,CAACsB,MAAM,CAACY,cAAc,CAAC;IAC1D,OAAO;MACLgD,QAAQ,EAAEhG,QAAQ,CAACiG,EAAE;MACrBkB,cAAc,EAAED,QAAQ,CAACC,cAAc,IAAI,EAAE;MAC7Cf,kBAAkB,EAAE1E,YAAY,CAAC,MAAMtB,aAAa,CAACiG,qBAAqB,CAAC,CAAC,CAAC;MAC7EzE,qBAAqB,EAAEA,qBAAqB,CAAC,CAAC;MAC9CqC,SAAS,EAAE,MAAM3D,YAAY,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,CAAC8B,MAAM,CAACY,cAAc,CAAC,CAAC;;EAE3B;EACA,MAAMoE,YAAY,GAAG5H,WAAW,CAC9B,MAAO6H,WAAqB,IAAK;IAC/B,IAAI;MACF,MAAMC,eAAe,GAAG,MAAMX,kBAAkB,CAAC,CAAC;MAClDnE,SAAS,CAACvB,SAAS,CAACsG,WAAW,CAAC;MAChC/C,WAAW,CAACa,OAAO,GAAG,CAAC;MACvBxC,WAAW,CAAC,CAAC,CAAC;MACd,MAAMtC,qBAAqB,CACzB8G,WAAW,EACXC,eAAe,EACf,CAACE,CAAY,EAAEC,GAAW,EAAEC,CAAc,KAAK;QAC7C/E,UAAU,CAAC8E,GAAG,CAAC;QACfjF,SAAS,CAACgF,CAAC,CAAC;QACZ,IAAIE,CAAC,EAAElE,UAAU,CAACkE,CAAC,CAAC;MACtB,CAAC,EACAC,OAAe,IAAK;QACnBxC,oBAAoB,CAACwC,OAAO,CAAC;MAC/B,CACF,CAAC;IACH,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAI9C,OAAO,EAAE;QACX+C,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;MACrD;MACApF,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;MAC1BnF,UAAU,CAAC,kBAAmBiF,KAAK,CAAWlF,OAAO,EAAE,CAAC;IAC1D;EACF,CAAC,EACD,CAACiE,kBAAkB,EAAExB,oBAAoB,CAC3C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAM4C,kBAAkB,GAAGvI,WAAW,CACpC,OAAOwI,SAAqB,EAAEC,UAAkB,EAAEC,SAAiB,KAAK;IACtE,MAAMb,WAAW,GAAG5G,YAAY,CAACuH,SAAS,EAAEC,UAAU,EAAEC,SAAS,CAAC;IAClE,IAAI,CAACb,WAAW,EAAE;MAChB,IAAIvC,OAAO,EAAE;QACX+C,OAAO,CAACM,IAAI,CAAC,yCAAyC,EAAEF,UAAU,EAAE,IAAI,EAAEC,SAAS,CAAC;MACtF;MACA1F,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;MAC1BnF,UAAU,CAAC,wBAAwB,CAAC;MACpC;IACF;IACA,MAAMyE,YAAY,CAACC,WAAW,CAAC;EACjC,CAAC,EACD,CAACD,YAAY,CACf,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMgB,UAAU,GAAG5I,WAAW,CAAC,MAAO+F,KAAe,IAAK;IACxD,IAAI,CAACV,oBAAoB,EAAE;MACzBrC,SAAS,CAACvB,SAAS,CAACoH,UAAU,CAAC;MAC/B1F,UAAU,CAAC,uDAAuD,CAAC;MACnE;IACF;IACA,MAAM2F,MAAM,GAAGjI,gBAAgB,CAACkF,KAAK,EAAE,MAAM0B,kBAAkB,CAAC,CAAC,EAAE;MAAEsB,cAAc,EAAE;IAAK,CAAC,CAAC;IAC5F,IAAID,MAAM,EAAE;MACV9F,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;MAC1BnF,UAAU,CAAC,kBAAkB4C,KAAK,CAACiD,SAAS,KAAKF,MAAM,EAAE,CAAC;MAC1D;IACF;IACA,MAAMlB,YAAY,CAAC7B,KAAK,CAAC;EAC3B,CAAC,EAAE,CAAC0B,kBAAkB,EAAEG,YAAY,EAAEvC,oBAAoB,CAAC,CAAC;;EAE5D;AACF;AACA;EACE,MAAM4D,YAAY,GAAGjJ,WAAW,CAAC,MAAOkJ,aAAqB,IAAK;IAChE,IAAI,CAAC7D,oBAAoB,EAAE;MACzBzB,eAAe,CAAC,CAAC,CAAC;MAClBZ,SAAS,CAACvB,SAAS,CAACoH,UAAU,CAAC;MAC/B1F,UAAU,CAAC,uDAAuD,CAAC;MACnE;IACF;IACA,MAAMoF,kBAAkB,CAACtE,OAAO,EAAEX,cAAc,EAAE4F,aAAa,CAAC;EAClE,CAAC,EAAE,CAAC5F,cAAc,EAAEiF,kBAAkB,EAAElD,oBAAoB,EAAEpB,OAAO,CAAC,CAAC;EAEvE,MAAMkF,WAAW,GAAGnJ,WAAW,CAC7B,MAAMiJ,YAAY,CAACxF,aAAa,CAAC,EACjC,CAACwF,YAAY,EAAExF,aAAa,CAC9B,CAAC;EAED,MAAM2F,wBAAwB,GAAGpJ,WAAW,CAC1C,OACEwI,SAAqB,EACrBa,MAAc,EACdC,OAAe,KACZ;IACH,MAAMzB,WAAW,GAAG5G,YAAY,CAACuH,SAAS,EAAEa,MAAM,EAAEC,OAAO,CAAC;IAC5D,IAAI,CAACzB,WAAW,EAAE;IAElB,IAAI;MACF,MAAMC,eAAe,GAAG,MAAMX,kBAAkB,CAAC,CAAC;MAClD,MAAMpG,qBAAqB,CACzB8G,WAAW,EACXC,eAAe,EACf,CAACE,CAAY,EAAEC,GAAW,EAAEC,CAAc,KAAK;QAC7C,IAAIF,CAAC,KAAKvG,SAAS,CAAC8H,OAAO,EAAE;UAC3BjF,gBAAgB,CAAC,IAAI,CAAC;UACtBtB,SAAS,CAACvB,SAAS,CAACoH,UAAU,CAAC;UAC/B1F,UAAU,CAAC,WAAWmG,OAAO,wBAAwB,CAAC;UACtD,IAAIpB,CAAC,EAAElE,UAAU,CAACkE,CAAC,CAAC;UACpB,IAAIL,WAAW,CAAC2B,SAAS,EAAE;YACzBhF,cAAc,CAAC,IAAI,CAAC;YACpB;YACA;YACA,IAAIjE,QAAQ,CAACqE,YAAY,KAAK,QAAQ,EAAEhE,aAAa,CAAC6I,YAAY,CAAC,CAAC;UACtE;QACF;MACF,CAAC,EACD,MAAM,CAAC,CAAC;MAAE;MACV;QAAEC,UAAU,EAAE;MAAM,CAAC,CAAE;MACzB,CAAC;IACH,CAAC,CAAC,OAAOjE,CAAC,EAAE;MACV,IAAIH,OAAO,EAAE;QACX+C,OAAO,CAACM,IAAI,CAAC,gDAAgD,EAAElD,CAAC,CAAC;MACnE;IACF;EACF,CAAC,EACD,CAAC0B,kBAAkB,CACrB,CAAC;;EAED;AACF;AACA;AACA;AACA;EACE,MAAMwC,YAAY,GAAG3J,WAAW,CAAC,MAAO4J,OAA6B,IAAK;IACxE,IAAI/E,aAAa,CAACgB,OAAO,IAAIL,WAAW,EAAE;IAC1C,IAAI,CAACH,oBAAoB,EAAE;MACzBzB,eAAe,CAAC,CAAC,CAAC;MAClBE,aAAa,CAAC,KAAK,CAAC;MACpBd,SAAS,CAACvB,SAAS,CAACoH,UAAU,CAAC;MAC/B1F,UAAU,CAAC,uDAAuD,CAAC;MACnE;IACF;IACA,MAAM0G,WAAW,GAAGjH,MAAM,CAACkH,kBAAkB,IAAI7H,6BAA6B;IAC9E,IAAI,CAAC2H,OAAO,EAAEG,KAAK,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGhF,YAAY,CAACY,OAAO,GAAGgE,WAAW,EAAE;IACxE5E,YAAY,CAACY,OAAO,GAAGmE,IAAI,CAACC,GAAG,CAAC,CAAC;IACjCpF,aAAa,CAACgB,OAAO,GAAG,IAAI;IAC5B/B,aAAa,CAAC,IAAI,CAAC;IACnBd,SAAS,CAACvB,SAAS,CAACyI,QAAQ,CAAC;IAC7B/G,UAAU,CAAC,yBAAyB,CAAC;IAErC,IAAI;MACF,MAAM2E,eAAe,GAAG,MAAMX,kBAAkB,CAAC,CAAC;MAClDhG,eAAe,CAAC2G,eAAe,CAAChC,OAAO,CAAC,CAACqE,IAAI,CAAC/I,QAAQ,CAACgJ,YAAY,CAAC;MACpE,MAAMC,aAAa,GAAG,MAAMrJ,gBAAgB,CAAC8G,eAAe,CAAC;MAC7D,MAAMJ,QAAQ,GAAG,MAAMpG,YAAY,CAACsB,MAAM,CAACY,cAAc,CAAC;MAC1D,MAAM6F,MAAM,GAAG3B,QAAQ,CAACpE,cAAc;;MAEtC;MACA;MACA,MAAMgH,OAAO,GAAG,MAAM7C,kBAAkB,CAAC,CAAC;MAC1C,MAAM8C,eAAe,GAAGF,aAAa,CAACG,MAAM,CAACC,CAAC,IAAI;QAChD,MAAM3B,MAAM,GAAGjI,gBAAgB,CAAC4J,CAAC,EAAEH,OAAO,CAAC;QAC3C,IAAIxB,MAAM,IAAIxD,OAAO,IAAImF,CAAC,CAACzB,SAAS,GAAGK,MAAM,EAAE;UAC7ChB,OAAO,CAACqC,GAAG,CAAC,2BAA2BD,CAAC,CAACzB,SAAS,KAAKyB,CAAC,CAACE,EAAE,MAAM7B,MAAM,EAAE,CAAC;QAC5E;QACA,OAAO,CAACA,MAAM;MAChB,CAAC,CAAC;MAEF,MAAM8B,IAAI,GACRL,eAAe,CAACM,MAAM,GAAG,CAAC,GACtBC,IAAI,CAACC,GAAG,CAAC,GAAGR,eAAe,CAACS,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACzB,SAAS,CAAC,CAAC,GAClDK,MAAM;MAEZnF,UAAU,CAACqG,eAAe,CAAC;MAC3BhH,iBAAiB,CAAC8F,MAAM,CAAC;MACzB3F,gBAAgB,CAACkH,IAAI,CAAC;MAEtB,IAAIA,IAAI,GAAGvB,MAAM,EAAE;QACjBzF,eAAe,CAAC,CAAC,CAAC;QAClBT,UAAU,CAAC,sBAAsBkG,MAAM,OAAOuB,IAAI,EAAE,CAAC;QACrD5H,SAAS,CAACvB,SAAS,CAACwJ,gBAAgB,CAAC;;QAErC;QACA,MAAMC,OAAO,GAAGtI,MAAM,CAACsI,OAAO,EAAEC,QAAQ,GACpC,MAAMvK,aAAa,CAACwK,cAAc,CAAC,CAAC,CAAClE,KAAK,CAAC,MAAM,SAAS,CAAC,GAC3D,MAAM;QACV,IAAIgE,OAAO,KAAK,MAAM,IAAIA,OAAO,KAAK,UAAU,EAAE;UAChD/H,UAAU,CAAC,sBAAsBkG,MAAM,OAAOuB,IAAI,sBAAsB,CAAC;QAC3E,CAAC,MAAM,IAAIhI,MAAM,CAACyI,UAAU,KAAK3J,aAAa,CAAC4J,mBAAmB,EAAE;UAClElC,wBAAwB,CAACmB,eAAe,EAAElB,MAAM,EAAEuB,IAAI,CAAC;QACzD,CAAC,MAAM,IACLhI,MAAM,CAACyI,UAAU,KAAK3J,aAAa,CAAC6J,YAAY,IAChD3I,MAAM,CAACyI,UAAU,KAAK3J,aAAa,CAAC8J,iBAAiB,EACrD;UACA;UACA,MAAMjD,kBAAkB,CAACgC,eAAe,EAAElB,MAAM,EAAEuB,IAAI,CAAC;QACzD;MACF,CAAC,MAAM;QACLhH,eAAe,CAAC,CAAC,CAAC;QAClBT,UAAU,CAAC,yBAAyBkG,MAAM,GAAG,CAAC;QAC9CrG,SAAS,CAACvB,SAAS,CAACoH,UAAU,CAAC;MACjC;IACF,CAAC,CAAC,OAAOT,KAAK,EAAE;MACdjF,UAAU,CAAC,iBAAkBiF,KAAK,CAAWlF,OAAO,EAAE,CAAC;MACvDF,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;IAC5B,CAAC,SAAS;MACRzD,aAAa,CAACgB,OAAO,GAAG,KAAK;MAC7B/B,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAAClB,MAAM,EAAE4C,WAAW,EAAEiC,kBAAkB,EAAEc,kBAAkB,EAAElD,oBAAoB,EAAE+D,wBAAwB,EAAEjC,kBAAkB,CAAC,CAAC;;EAErI;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEjH,SAAS,CAAC,MAAM;IACd,MAAMuL,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC5B3K,YAAY,CAAC,CAAC,CAAC4K,IAAI,CAACf,EAAE,IAAI;QACxBvF,YAAY,CAACS,OAAO,GAAG8E,EAAE;QACzBjG,YAAY,CAACiG,EAAE,CAAC;MAClB,CAAC,CAAC,CAACzD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;MAElB;MACAtG,aAAa,CAAC+K,OAAO,CAACtK,YAAY,CAAC,CAACqK,IAAI,CAACE,IAAI,IAAI;QAC/C,KAAK,MAAMC,GAAG,IAAID,IAAI,EAAE;UACtB,IAAIC,GAAG,CAACC,UAAU,CAAC,YAAY,CAAC,EAAE;YAChClL,aAAa,CAACmL,UAAU,CAAC,GAAG1K,YAAY,IAAIwK,GAAG,EAAE,CAAC,CAAC3E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;UACpE;QACF;MACF,CAAC,CAAC,CAACA,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MAElB,MAAMQ,QAAQ,GAAG,MAAMpG,YAAY,CAACsB,MAAM,CAACY,cAAc,CAAC;MAC1DuB,iBAAiB,CAACc,OAAO,GAAG6B,QAAQ,CAACpE,cAAc;;MAEnD;MACAC,iBAAiB,CAACmE,QAAQ,CAACpE,cAAc,CAAC;;MAE1C;MACA,IAAIkC,WAAW,EAAE;QACf6C,OAAO,CAACD,KAAK,CAAC5C,WAAW,CAAC;QAC1BrC,UAAU,CAACqC,WAAW,CAAC;QACvBxC,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;QAC1B;MACF;MACAxD,aAAa,CAACe,OAAO,GAAG,IAAI;;MAE5B;MACA,MAAMmG,IAAI,GAAGpJ,MAAM,CAACyI,UAAU,IAAI3J,aAAa,CAACuK,MAAM;MACtD,IACED,IAAI,KAAKtK,aAAa,CAAC6J,YAAY,IACnCS,IAAI,KAAKtK,aAAa,CAAC4J,mBAAmB,EAC1C;QACA3B,YAAY,CAAC,CAAC;MAChB,CAAC,MAAM;QACLxG,UAAU,CAAC,WAAWuE,QAAQ,CAACpE,cAAc,GAAG,CAAC;QACjDN,SAAS,CAACvB,SAAS,CAACoH,UAAU,CAAC;MACjC;IACF,CAAC;;IAED;IACA4C,SAAS,CAAC,CAAC,CACRvE,KAAK,CAACkB,KAAK,IAAI;MACdC,OAAO,CAACM,IAAI,CAAC,gEAAgE,EAAEP,KAAK,CAAC;MACrFjF,UAAU,CAAC,iBAAkBiF,KAAK,CAAWlF,OAAO,EAAE,CAAC;MACvDF,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;IAC5B,CAAC,CAAC,CACD4D,OAAO,CAAC,MAAM9H,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAM+H,cAAc,GAAG/L,MAAM,CAAC,KAAK,CAAC;EACpC+L,cAAc,CAACtG,OAAO,GAAGtB,WAAW,IAAIF,aAAa;EACrDnE,SAAS,CAAC,MAAM;IACd,MAAMkM,YAAY,GAAG7L,QAAQ,CAAC8L,gBAAgB,CAC5C,QAAQ,EACPC,YAA4B,IAAK;MAChC,IACE3H,QAAQ,CAACkB,OAAO,CAAC0G,KAAK,CAAC,qBAAqB,CAAC,IAC7CD,YAAY,KAAK,QAAQ,IACzBxH,aAAa,CAACe,OAAO,EACrB;QACA,IAAIsG,cAAc,CAACtG,OAAO,EAAE;UAC1BjF,aAAa,CAAC6I,YAAY,CAAC,CAAC;UAC5B;QACF;QACA,MAAMuC,IAAI,GAAGpJ,MAAM,CAACyI,UAAU,IAAI3J,aAAa,CAACuK,MAAM;QACtD,IAAID,IAAI,KAAKtK,aAAa,CAAC8J,iBAAiB,EAAE;UAC5C7B,YAAY,CAAC,CAAC;QAChB;MACF;MACAhF,QAAQ,CAACkB,OAAO,GAAGyG,YAAY;IACjC,CACF,CAAC;IAED,OAAO,MAAM;MACXF,YAAY,CAACI,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAAC5J,MAAM,CAACyI,UAAU,EAAE1B,YAAY,CAAC,CAAC;EAErC,MAAM8C,aAAa,GAAGzM,WAAW,CAAC,YAAY;IAC5C,MAAM0K,GAAG,GAAGvJ,eAAe,CAAC2E,OAAO,CAAC;IACpC4E,GAAG,CAACP,IAAI,CAAC/I,QAAQ,CAACsL,YAAY,CAAC;IAC/B,MAAMvH,UAAU,GAAG,MAAMvE,aAAa,CAAC4G,aAAa,CAAC,CAAC,CAACN,KAAK,CAAC,MAAMtE,MAAM,CAACuC,UAAU,CAAC;IACrF,MAAM5D,WAAW,CAACqB,MAAM,CAACY,cAAc,EAAEuB,iBAAiB,CAACc,OAAO,EAAEV,UAAU,CAAC;EACjF,CAAC,EAAE,CAACvC,MAAM,EAAEkD,OAAO,CAAC,CAAC;EAErB,MAAM6G,cAAc,GAAG3M,WAAW,CAAC,YAAY;IAC7C,MAAM0K,GAAG,GAAGvJ,eAAe,CAAC2E,OAAO,CAAC;IACpC,IAAI;MACF9C,SAAS,CAACvB,SAAS,CAACmL,QAAQ,CAAC;MAC7BzJ,UAAU,CAAC,0BAA0B,CAAC;MACtCuH,GAAG,CAACP,IAAI,CAAC/I,QAAQ,CAACyL,aAAa,CAAC;MAChC,IAAI,MAAMjM,aAAa,CAACkM,MAAM,CAACtL,OAAO,CAAC,EAAE;QACvC;QACA,MAAMZ,aAAa,CAACmM,QAAQ,CAACvL,OAAO,EAAE,GAAGH,YAAY,cAAc2I,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC;QAChF;MACF;MACA9G,UAAU,CAAC,0CAA0C,CAAC;MACtDvC,aAAa,CAAC6I,YAAY,CAAC,CAAC;IAC9B,CAAC,CAAC,OAAOrB,KAAK,EAAE;MACdpF,SAAS,CAACvB,SAAS,CAAC6G,KAAK,CAAC;MAC1BnF,UAAU,CAAC,iBAAkBiF,KAAK,CAAWlF,OAAO,EAAE,CAAC;IACzD;EACF,CAAC,EAAE,CAAC4C,OAAO,CAAC,CAAC;;EAEb;EACA,MAAMkH,KAAK,GAAG7M,OAAO,CAAW,OAAO;IACrC4C,MAAM;IACNG,OAAO;IACPE,QAAQ;IACRE,cAAc;IACdG,aAAa;IACbE,YAAY;IACZE,UAAU;IACVE,OAAO;IACPM,aAAa;IACbE,WAAW;IACXE,SAAS;IACT0E,WAAW;IACXF,YAAY;IACZL,UAAU;IACV+D,cAAc;IACdF,aAAa;IACbQ,WAAW,EAAEtD,YAAY;IACzBF,YAAY,EAAEA,CAAA,KAAM7I,aAAa,CAAC6I,YAAY,CAAC;EACjD,CAAC,CAAC,EAAE,CACF1G,MAAM,EACNG,OAAO,EACPE,QAAQ,EACRE,cAAc,EACdG,aAAa,EACbE,YAAY,EACZE,UAAU,EACVE,OAAO,EACPM,aAAa,EACbE,WAAW,EACXE,SAAS,EACT0E,WAAW,EACXF,YAAY,EACZL,UAAU,EACV+D,cAAc,EACdF,aAAa,EACb9C,YAAY,CACb,CAAC;;EAEF;EACA,MAAMuD,UAAU,GAAG/M,OAAO,CAAC,MAAM;IAC/B,OACE2C,cAAc,KACb,CAACqB,aAAa,IACZvB,MAAM,CAACyI,UAAU,KAAK3J,aAAa,CAAC6J,YAAY,KAC9CxI,MAAM,KAAKtB,SAAS,CAACwB,IAAI,IACxBF,MAAM,KAAKtB,SAAS,CAACyI,QAAQ,IAC7BnH,MAAM,KAAKtB,SAAS,CAACsG,WAAW,IAChChF,MAAM,KAAKtB,SAAS,CAACmL,QAAQ,IAC7B7J,MAAM,KAAKtB,SAAS,CAACwJ,gBAAgB,CAAE,CAAC;EAElD,CAAC,EAAE,CAACnI,cAAc,EAAEqB,aAAa,EAAEvB,MAAM,CAACyI,UAAU,EAAEtI,MAAM,CAAC,CAAC;;EAE9D;EACA;EACA;EACA,MAAMoK,gBAAgB,GAAG/M,MAAM,CAAC,KAAK,CAAC;EACtCF,SAAS,CAAC,MAAM;IACd,IAAIgN,UAAU,IAAI,CAAC/I,aAAa,IAAIgJ,gBAAgB,CAACtH,OAAO,EAAE;IAC9DsH,gBAAgB,CAACtH,OAAO,GAAG,IAAI;IAC/B4G,aAAa,CAAC,CAAC,CAACvF,KAAK,CAACzB,CAAC,IAAI4C,OAAO,CAACM,IAAI,CAAC,qCAAqC,EAAElD,CAAC,CAAC,CAAC;IAClF;EACF,CAAC,EAAE,CAACyH,UAAU,EAAE/I,aAAa,CAAC,CAAC;EAE/B,oBACEvC,IAAA,CAACG,UAAU,CAACqL,QAAQ;IAACJ,KAAK,EAAEA,KAAM;IAAArK,QAAA,EAC/B,CAACuK,UAAU,GACVvK,QAAQ,GACNE,WAAW,KAAKb,SAAS,GAC3Ba,WAAW,gBAEXjB,IAAA,CAACjB,IAAI;MAAC0M,KAAK,EAAEC,MAAM,CAACC,gBAAiB;MAAA5K,QAAA,eACnCb,KAAA,CAACnB,IAAI;QAAC0M,KAAK,EAAEC,MAAM,CAACE,WAAY;QAAA7K,QAAA,gBAC9Bf,IAAA,CAACtB,iBAAiB;UAACmN,IAAI,EAAC,OAAO;UAACC,KAAK,EAAC;QAAS,CAAE,CAAC,eAClD9L,IAAA,CAAClB,IAAI;UAAC2M,KAAK,EAAEC,MAAM,CAACK,YAAa;UAAAhL,QAAA,EAAC;QAAW,CAAM,CAAC,eACpDf,IAAA,CAAClB,IAAI;UAAC2M,KAAK,EAAEC,MAAM,CAACM,WAAY;UAAAjL,QAAA,EAAEO;QAAO,CAAO,CAAC,EAChDH,MAAM,KAAKtB,SAAS,CAACsG,WAAW,IAAIhF,MAAM,KAAKtB,SAAS,CAACmL,QAAQ,gBAChE9K,KAAA,CAACpB,IAAI;UAAC2M,KAAK,EAAEC,MAAM,CAACO,YAAa;UAAAlL,QAAA,GAAES,QAAQ,CAAC0K,OAAO,CAAC,CAAC,CAAC,EAAC,GAAC;QAAA,CAAM,CAAC,GAC7D,IAAI;MAAA,CACJ;IAAC,CACH;EACP,CACkB,CAAC;AAE1B;AAEA,OAAO,SAASC,MAAMA,CAAA,EAAG;EACvB,MAAMzD,OAAO,GAAGrK,UAAU,CAAC8B,UAAU,CAAC;EACtC,IAAIuI,OAAO,KAAKtI,SAAS,EAAE;IACzB,MAAM,IAAI0D,KAAK,CAAC,2CAA2C,CAAC;EAC9D;EACA,OAAO4E,OAAO;AAChB;AAEA,MAAMgD,MAAM,GAAG7M,UAAU,CAACuN,MAAM,CAAC;EAC/BT,gBAAgB,EAAE;IAChBU,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,SAAS;IAC1BC,iBAAiB,EAAE;EACrB,CAAC;EACDb,WAAW,EAAE;IACXc,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,GAAG;IACbH,eAAe,EAAE,SAAS;IAC1BI,YAAY,EAAE,EAAE;IAChBH,iBAAiB,EAAE,EAAE;IACrBI,eAAe,EAAE,EAAE;IACnBN,UAAU,EAAE,QAAQ;IACpBO,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE;EACf,CAAC;EACDhB,YAAY,EAAE;IACZiB,SAAS,EAAE,EAAE;IACblB,KAAK,EAAE,SAAS;IAChBmB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDlB,WAAW,EAAE;IACXgB,SAAS,EAAE,CAAC;IACZlB,KAAK,EAAE,SAAS;IAChBmB,QAAQ,EAAE,EAAE;IACZE,UAAU,EAAE,EAAE;IACdC,SAAS,EAAE;EACb,CAAC;EACDnB,YAAY,EAAE;IACZe,SAAS,EAAE,EAAE;IACblB,KAAK,EAAE,SAAS;IAChBmB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -12,11 +12,17 @@ export const rolloutBucket = (installId, version) => {
|
|
|
12
12
|
return h % 100;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
/**
|
|
16
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Why this client must not install the entry, or null when it may.
|
|
17
|
+
* ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
|
|
18
|
+
* rollout and QA list, keep every check that protects the app.
|
|
19
|
+
*/
|
|
20
|
+
export const ineligibleReason = (e, ctx, {
|
|
21
|
+
ignoreControls = false
|
|
22
|
+
} = {}) => {
|
|
17
23
|
if (e.platform && e.platform.toLowerCase() !== ctx.platform) return 'other platform';
|
|
18
24
|
if (ctx.failedVersions.includes(e.toVersion)) return 'crashed on boot here before';
|
|
19
|
-
if (e.disabled) return 'disabled';
|
|
25
|
+
if (e.disabled && !ignoreControls) return 'disabled';
|
|
20
26
|
const missing = (e.requires ?? []).filter(f => !SUPPORTED_FEATURES.includes(f));
|
|
21
27
|
if (missing.length) return `needs a newer client (${missing.join(', ')})`;
|
|
22
28
|
if (e.runtimeFingerprint && e.runtimeFingerprint !== ctx.runtimeFingerprint) {
|
|
@@ -25,6 +31,7 @@ export const ineligibleReason = (e, ctx) => {
|
|
|
25
31
|
if (e.hermesBytecodeVersion && ctx.hermesBytecodeVersion && e.hermesBytecodeVersion !== ctx.hermesBytecodeVersion) {
|
|
26
32
|
return `Hermes bytecode ${e.hermesBytecodeVersion}, runtime reads ${ctx.hermesBytecodeVersion}`;
|
|
27
33
|
}
|
|
34
|
+
if (ignoreControls) return null;
|
|
28
35
|
if (e.allowInstallIds?.length && !e.allowInstallIds.includes(ctx.installId)) return 'not in the QA list';
|
|
29
36
|
if (e.rolloutPercent !== undefined && rolloutBucket(ctx.installId, e.toVersion) >= e.rolloutPercent) {
|
|
30
37
|
return `outside the ${e.rolloutPercent}% rollout`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SUPPORTED_FEATURES","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACA,OAAO,MAAMC,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AACA,OAAO,MAAMK,gBAAgB,GAAGA,
|
|
1
|
+
{"version":3,"names":["SUPPORTED_FEATURES","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","ignoreControls","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACA,OAAO,MAAMC,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,gBAAgB,GAAGA,CAC5BC,CAAW,EACXC,GAAuB,EACvB;EAAEC,cAAc,GAAG;AAAoC,CAAC,GAAG,CAAC,CAAC,KAC7C;EAChB,IAAIF,CAAC,CAACG,QAAQ,IAAIH,CAAC,CAACG,QAAQ,CAACC,WAAW,CAAC,CAAC,KAAKH,GAAG,CAACE,QAAQ,EAAE,OAAO,gBAAgB;EACpF,IAAIF,GAAG,CAACI,cAAc,CAACC,QAAQ,CAACN,CAAC,CAACO,SAAS,CAAC,EAAE,OAAO,6BAA6B;EAClF,IAAIP,CAAC,CAACQ,QAAQ,IAAI,CAACN,cAAc,EAAE,OAAO,UAAU;EACpD,MAAMO,OAAO,GAAG,CAACT,CAAC,CAACU,QAAQ,IAAI,EAAE,EAAEC,MAAM,CAACC,CAAC,IAAI,CAACtB,kBAAkB,CAACgB,QAAQ,CAACM,CAAC,CAAC,CAAC;EAC/E,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAO,yBAAyBJ,OAAO,CAACK,IAAI,CAAC,IAAI,CAAC,GAAG;EACzE,IAAId,CAAC,CAACe,kBAAkB,IAAIf,CAAC,CAACe,kBAAkB,KAAKd,GAAG,CAACc,kBAAkB,EAAE;IACzE,OAAOd,GAAG,CAACc,kBAAkB,GACvB,uDAAuD,GACvD,uFAAuF;EACjG;EACA,IAAIf,CAAC,CAACgB,qBAAqB,IAAIf,GAAG,CAACe,qBAAqB,IAAIhB,CAAC,CAACgB,qBAAqB,KAAKf,GAAG,CAACe,qBAAqB,EAAE;IAC/G,OAAO,mBAAmBhB,CAAC,CAACgB,qBAAqB,mBAAmBf,GAAG,CAACe,qBAAqB,EAAE;EACnG;EACA,IAAId,cAAc,EAAE,OAAO,IAAI;EAC/B,IAAIF,CAAC,CAACiB,eAAe,EAAEJ,MAAM,IAAI,CAACb,CAAC,CAACiB,eAAe,CAACX,QAAQ,CAACL,GAAG,CAACT,SAAS,CAAC,EAAE,OAAO,oBAAoB;EACxG,IAAIQ,CAAC,CAACkB,cAAc,KAAKC,SAAS,IAAI5B,aAAa,CAACU,GAAG,CAACT,SAAS,EAAEQ,CAAC,CAACO,SAAS,CAAC,IAAIP,CAAC,CAACkB,cAAc,EAAE;IACjG,OAAO,eAAelB,CAAC,CAACkB,cAAc,WAAW;EACrD;EACA,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtaProvider.d.ts","sourceRoot":"","sources":["../../../src/ota/OtaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAgBf,OAAO,EACL,SAAS,EAGT,QAAQ,EAGT,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAqB,GACtB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,
|
|
1
|
+
{"version":3,"file":"OtaProvider.d.ts","sourceRoot":"","sources":["../../../src/ota/OtaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAgBf,OAAO,EACL,SAAS,EAGT,QAAQ,EAGT,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,cAAqB,GACtB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,qBA+gBA;AAED,wBAAgB,MAAM,aAMrB"}
|
|
@@ -14,6 +14,12 @@ export type EligibilityContext = {
|
|
|
14
14
|
};
|
|
15
15
|
/** FNV-1a: stable 0-99 bucket for an install and version (a different slice of installs per version) */
|
|
16
16
|
export declare const rolloutBucket: (installId: string, version: number) => number;
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Why this client must not install the entry, or null when it may.
|
|
19
|
+
* ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
|
|
20
|
+
* rollout and QA list, keep every check that protects the app.
|
|
21
|
+
*/
|
|
22
|
+
export declare const ineligibleReason: (e: OtaPatch, ctx: EligibilityContext, { ignoreControls }?: {
|
|
23
|
+
ignoreControls?: boolean;
|
|
24
|
+
}) => string | null;
|
|
19
25
|
//# sourceMappingURL=eligibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../../src/ota/eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,UAAkB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,MAOlE,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../../src/ota/eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,UAAkB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,MAOlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GACzB,GAAG,QAAQ,EACX,KAAK,kBAAkB,EACvB,qBAA4B;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,KAC9D,MAAM,GAAG,IAoBX,CAAC"}
|
|
@@ -193,6 +193,12 @@ export type OtaState = {
|
|
|
193
193
|
applyUpdate: () => Promise<void>;
|
|
194
194
|
/** Installs and reloads `version` from the last checked manifest (full bundle, or a patch from the current version) */
|
|
195
195
|
applyVersion: (version: number) => Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* Installs and reloads exactly this registry entry (e.g. a row of a version list): its
|
|
198
|
+
* patch when it starts from the running version, else its full bundle. Ignores the kill
|
|
199
|
+
* switch, rollout and QA list; still refuses entries for other native code or Hermes.
|
|
200
|
+
*/
|
|
201
|
+
applyEntry: (entry: OtaPatch) => Promise<void>;
|
|
196
202
|
resetToFactory: () => Promise<void>;
|
|
197
203
|
markAsHealthy: () => Promise<void>;
|
|
198
204
|
/** Checks now unless the last check was under minCheckIntervalMs ago (force: always) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/ota/OtaProvider.tsx
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
View,
|
|
18
18
|
} from 'react-native';
|
|
19
19
|
import NativeBsPatch from '../NativeBsPatch';
|
|
20
|
-
import { ineligibleReason } from './eligibility';
|
|
20
|
+
import { ineligibleReason, type EligibilityContext } from './eligibility';
|
|
21
21
|
import { getInstallId } from './installId';
|
|
22
22
|
import { applyOtaPatchInternal, fetchOtaManifest, selectUpdate, validateOtaConfig } from './otaCore';
|
|
23
23
|
import { createOtaLogger, OtaEvent, type OtaLogEntry } from './otaLogger';
|
|
@@ -150,23 +150,21 @@ export function OtaProvider({
|
|
|
150
150
|
}
|
|
151
151
|
}, [config, onEvent]);
|
|
152
152
|
|
|
153
|
-
/**
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
setStatus(OtaStatus.ERROR);
|
|
166
|
-
setMessage('No upgrade path found.');
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
153
|
+
/** What decides which registry entries this install may take */
|
|
154
|
+
const eligibilityContext = useCallback(async (): Promise<EligibilityContext> => {
|
|
155
|
+
const metadata = await loadMetadata(config.baseAppVersion);
|
|
156
|
+
return {
|
|
157
|
+
platform: Platform.OS,
|
|
158
|
+
failedVersions: metadata.failedVersions ?? [],
|
|
159
|
+
runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
|
|
160
|
+
hermesBytecodeVersion: hermesBytecodeVersion(),
|
|
161
|
+
installId: await getInstallId(),
|
|
162
|
+
};
|
|
163
|
+
}, [config.baseAppVersion]);
|
|
169
164
|
|
|
165
|
+
/** Installs one registry entry in the foreground (status + progress), then reloads */
|
|
166
|
+
const installEntry = useCallback(
|
|
167
|
+
async (directPatch: OtaPatch) => {
|
|
170
168
|
try {
|
|
171
169
|
const effectiveConfig = await getEffectiveConfig();
|
|
172
170
|
setStatus(OtaStatus.DOWNLOADING);
|
|
@@ -195,6 +193,46 @@ export function OtaProvider({
|
|
|
195
193
|
[getEffectiveConfig, setProgressIfChanged],
|
|
196
194
|
);
|
|
197
195
|
|
|
196
|
+
/**
|
|
197
|
+
* Core apply update logic — separated so it can be mapped to button clicks
|
|
198
|
+
* OR called automatically by checkUpdates()
|
|
199
|
+
*/
|
|
200
|
+
const executeApplyUpdate = useCallback(
|
|
201
|
+
async (patchList: OtaPatch[], currentVer: number, targetVer: number) => {
|
|
202
|
+
const directPatch = selectUpdate(patchList, currentVer, targetVer);
|
|
203
|
+
if (!directPatch) {
|
|
204
|
+
if (__DEV__) {
|
|
205
|
+
console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
|
|
206
|
+
}
|
|
207
|
+
setStatus(OtaStatus.ERROR);
|
|
208
|
+
setMessage('No upgrade path found.');
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
await installEntry(directPatch);
|
|
212
|
+
},
|
|
213
|
+
[installEntry],
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Installs exactly this registry entry (a version list in a debug/QA screen): the patch
|
|
218
|
+
* when it starts from the running version, else its full bundle. Ignores the kill switch,
|
|
219
|
+
* rollout and QA list; still refuses what would break the app (native code, Hermes, …).
|
|
220
|
+
*/
|
|
221
|
+
const applyEntry = useCallback(async (entry: OtaPatch) => {
|
|
222
|
+
if (!isDebugUpdateEnabled) {
|
|
223
|
+
setStatus(OtaStatus.UP_TO_DATE);
|
|
224
|
+
setMessage('OTA updates are disabled while running a debug build.');
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
const reason = ineligibleReason(entry, await eligibilityContext(), { ignoreControls: true });
|
|
228
|
+
if (reason) {
|
|
229
|
+
setStatus(OtaStatus.ERROR);
|
|
230
|
+
setMessage(`Can't install V${entry.toVersion}: ${reason}`);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
await installEntry(entry);
|
|
234
|
+
}, [eligibilityContext, installEntry, isDebugUpdateEnabled]);
|
|
235
|
+
|
|
198
236
|
/**
|
|
199
237
|
* Exposed method for manual trigger
|
|
200
238
|
*/
|
|
@@ -284,13 +322,7 @@ export function OtaProvider({
|
|
|
284
322
|
|
|
285
323
|
// Storage providers return every platform: keep what this install may take (platform,
|
|
286
324
|
// native fingerprint, Hermes, rollout/QA lists, kill switch, versions that crashed here)
|
|
287
|
-
const context =
|
|
288
|
-
platform: Platform.OS,
|
|
289
|
-
failedVersions: metadata.failedVersions ?? [],
|
|
290
|
-
runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
|
|
291
|
-
hermesBytecodeVersion: hermesBytecodeVersion(),
|
|
292
|
-
installId: await getInstallId(),
|
|
293
|
-
};
|
|
325
|
+
const context = await eligibilityContext();
|
|
294
326
|
const platformPatches = remotePatches.filter(p => {
|
|
295
327
|
const reason = ineligibleReason(p, context);
|
|
296
328
|
if (reason && __DEV__ && p.toVersion > localV) {
|
|
@@ -340,7 +372,7 @@ export function OtaProvider({
|
|
|
340
372
|
isCheckingRef.current = false;
|
|
341
373
|
setIsChecking(false);
|
|
342
374
|
}
|
|
343
|
-
}, [config, configError, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
|
|
375
|
+
}, [config, configError, eligibilityContext, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
|
|
344
376
|
|
|
345
377
|
/**
|
|
346
378
|
* Bootstrap: runs once on mount.
|
|
@@ -485,6 +517,7 @@ export function OtaProvider({
|
|
|
485
517
|
installId,
|
|
486
518
|
applyUpdate,
|
|
487
519
|
applyVersion,
|
|
520
|
+
applyEntry,
|
|
488
521
|
resetToFactory,
|
|
489
522
|
markAsHealthy,
|
|
490
523
|
checkUpdate: checkUpdates,
|
|
@@ -503,6 +536,7 @@ export function OtaProvider({
|
|
|
503
536
|
installId,
|
|
504
537
|
applyUpdate,
|
|
505
538
|
applyVersion,
|
|
539
|
+
applyEntry,
|
|
506
540
|
resetToFactory,
|
|
507
541
|
markAsHealthy,
|
|
508
542
|
checkUpdates,
|
package/src/ota/eligibility.ts
CHANGED
|
@@ -25,11 +25,19 @@ export const rolloutBucket = (installId: string, version: number): number => {
|
|
|
25
25
|
return h % 100;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
/**
|
|
29
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Why this client must not install the entry, or null when it may.
|
|
30
|
+
* ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
|
|
31
|
+
* rollout and QA list, keep every check that protects the app.
|
|
32
|
+
*/
|
|
33
|
+
export const ineligibleReason = (
|
|
34
|
+
e: OtaPatch,
|
|
35
|
+
ctx: EligibilityContext,
|
|
36
|
+
{ ignoreControls = false }: { ignoreControls?: boolean } = {},
|
|
37
|
+
): string | null => {
|
|
30
38
|
if (e.platform && e.platform.toLowerCase() !== ctx.platform) return 'other platform';
|
|
31
39
|
if (ctx.failedVersions.includes(e.toVersion)) return 'crashed on boot here before';
|
|
32
|
-
if (e.disabled) return 'disabled';
|
|
40
|
+
if (e.disabled && !ignoreControls) return 'disabled';
|
|
33
41
|
const missing = (e.requires ?? []).filter(f => !SUPPORTED_FEATURES.includes(f));
|
|
34
42
|
if (missing.length) return `needs a newer client (${missing.join(', ')})`;
|
|
35
43
|
if (e.runtimeFingerprint && e.runtimeFingerprint !== ctx.runtimeFingerprint) {
|
|
@@ -40,6 +48,7 @@ export const ineligibleReason = (e: OtaPatch, ctx: EligibilityContext): string |
|
|
|
40
48
|
if (e.hermesBytecodeVersion && ctx.hermesBytecodeVersion && e.hermesBytecodeVersion !== ctx.hermesBytecodeVersion) {
|
|
41
49
|
return `Hermes bytecode ${e.hermesBytecodeVersion}, runtime reads ${ctx.hermesBytecodeVersion}`;
|
|
42
50
|
}
|
|
51
|
+
if (ignoreControls) return null;
|
|
43
52
|
if (e.allowInstallIds?.length && !e.allowInstallIds.includes(ctx.installId)) return 'not in the QA list';
|
|
44
53
|
if (e.rolloutPercent !== undefined && rolloutBucket(ctx.installId, e.toVersion) >= e.rolloutPercent) {
|
|
45
54
|
return `outside the ${e.rolloutPercent}% rollout`;
|
package/src/ota/types.ts
CHANGED
|
@@ -209,6 +209,12 @@ export type OtaState = {
|
|
|
209
209
|
applyUpdate: () => Promise<void>;
|
|
210
210
|
/** Installs and reloads `version` from the last checked manifest (full bundle, or a patch from the current version) */
|
|
211
211
|
applyVersion: (version: number) => Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Installs and reloads exactly this registry entry (e.g. a row of a version list): its
|
|
214
|
+
* patch when it starts from the running version, else its full bundle. Ignores the kill
|
|
215
|
+
* switch, rollout and QA list; still refuses entries for other native code or Hermes.
|
|
216
|
+
*/
|
|
217
|
+
applyEntry: (entry: OtaPatch) => Promise<void>;
|
|
212
218
|
resetToFactory: () => Promise<void>;
|
|
213
219
|
markAsHealthy: () => Promise<void>;
|
|
214
220
|
/** Checks now unless the last check was under minCheckIntervalMs ago (force: always) */
|