react-native-bspatch 3.0.5 → 3.1.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/README.md +4 -5
- package/lib/commonjs/index.js +11 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ota/OtaProvider.js +1 -12
- package/lib/commonjs/ota/OtaProvider.js.map +1 -1
- package/lib/commonjs/ota/otaCore.js +62 -95
- package/lib/commonjs/ota/otaCore.js.map +1 -1
- package/lib/module/index.js +8 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ota/OtaProvider.js +1 -12
- package/lib/module/ota/OtaProvider.js.map +1 -1
- package/lib/module/ota/otaCore.js +62 -95
- package/lib/module/ota/otaCore.js.map +1 -1
- package/lib/typescript/index.d.ts +7 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/ota/OtaProvider.d.ts.map +1 -1
- package/lib/typescript/ota/otaCore.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +8 -1
- package/src/ota/OtaProvider.tsx +1 -12
- package/src/ota/otaCore.ts +64 -134
- package/lib/commonjs/ota/otaAssetResolver.js +0 -141
- package/lib/commonjs/ota/otaAssetResolver.js.map +0 -1
- package/lib/module/ota/otaAssetResolver.js +0 -134
- package/lib/module/ota/otaAssetResolver.js.map +0 -1
- package/lib/typescript/ota/otaAssetResolver.d.ts +0 -15
- package/lib/typescript/ota/otaAssetResolver.d.ts.map +0 -1
- package/src/ota/otaAssetResolver.ts +0 -179
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Premium OTA update solution for React Native using **TurboModules** + **bsdiff b
|
|
|
17
17
|
- **Crash detection + auto-rollback** — native-side protection runs **before** JS boots; if the updated bundle crashes, the app automatically rolls back to the previous version
|
|
18
18
|
- **Integrity verification** — SHA-256 hash check on both source bundle and result bundle
|
|
19
19
|
- **Disk Garbage Collection** — automatically removes obsolete bundle versions and dangling temporary files
|
|
20
|
-
- **
|
|
20
|
+
- **OTA assets without a JS resolver** — images/assets are downloaded once per content hash and placed next to the bundle, where React Native looks for them by default (correct from the first render)
|
|
21
21
|
- **Structured telemetry** — all OTA events forwarded to your analytics via `onEvent` callback
|
|
22
22
|
- **New Architecture ready** — built with TurboModules (no legacy Bridge)
|
|
23
23
|
|
|
@@ -26,7 +26,7 @@ Premium OTA update solution for React Native using **TurboModules** + **bsdiff b
|
|
|
26
26
|
## Requirements
|
|
27
27
|
|
|
28
28
|
- React Native **0.76+** (New Architecture enabled by default)
|
|
29
|
-
- `react-native-blob-util` **0.24.
|
|
29
|
+
- `react-native-blob-util` **0.24.11+** — required peer dependency for file I/O (0.24.10 stops Android file downloads after the first 8 KB: "Download interrupted.")
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
@@ -375,7 +375,7 @@ The release version is read from the native project (`versionName` / `MARKETING_
|
|
|
375
375
|
### How It Works
|
|
376
376
|
|
|
377
377
|
1. **Bundle** — `npx react-native bundle` + `hermesc` generate Hermes bytecode (`.hbc`), uploaded as the version's full bundle.
|
|
378
|
-
2. **Assets** — Every asset is copied to the content-addressed `asset-store/` (`{sha256}.{ext}`) and listed in the per-version manifest. Clients download each hash once and
|
|
378
|
+
2. **Assets** — Every asset is copied to the content-addressed `asset-store/` (`{sha256}.{ext}`) and listed in the per-version manifest with its Metro path. Clients download each hash once (cached in `ota/assets/`) and copy it to `ota/vN/<path>` — the location React Native resolves for a bundle loaded from `ota/vN/` (`drawable-*/`, `raw/` on Android; `assets/…` on iOS).
|
|
379
379
|
3. **Patch** — `bsdiff` generates a delta from each of the last 5 OTA bundles (v2+) to the new one.
|
|
380
380
|
4. **Registry** — Updates `ota_registry.json` with new `baseHash`, `bundleHash`, and asset manifest URL for each platform/channel.
|
|
381
381
|
5. **Upload** — Uploads bundles, patches, and asset store to the configured server.
|
|
@@ -526,7 +526,6 @@ react-native-bspatch/
|
|
|
526
526
|
│ ├── otaCore.ts # Pipeline: patch from installed OTA bundle, else full bundle
|
|
527
527
|
│ ├── otaMetadata.ts # Locked metadata updates, health marking, disk GC
|
|
528
528
|
│ ├── otaLogger.ts # Structured event telemetry
|
|
529
|
-
│ ├── otaAssetResolver.ts # Image source interceptor + asset store
|
|
530
529
|
│ ├── OtaProvider.tsx # React provider + update modes
|
|
531
530
|
│ ├── types.ts
|
|
532
531
|
│ └── storage/
|
|
@@ -555,4 +554,4 @@ react-native-bspatch/
|
|
|
555
554
|
- The first OTA after a store install, and clients more than 5 OTA versions behind, download the full bundle (patches are only built from the last 5 OTA versions)
|
|
556
555
|
- Health is confirmed when the app first renders; a crash after that is not rolled back
|
|
557
556
|
- OTA version numbers are shared by both platforms of a flavor, so `patch android` then `patch ios` gives iOS the next number
|
|
558
|
-
-
|
|
557
|
+
- Each retained OTA version keeps its own copy of its assets next to the bundle (~asset size × up to 4 versions); downloads are still once per content hash
|
package/lib/commonjs/index.js
CHANGED
|
@@ -18,21 +18,10 @@ Object.defineProperty(exports, "GitHubRawStorageProvider", {
|
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
exports.applyPatch = applyPatch;
|
|
21
|
-
exports.default = void 0;
|
|
22
|
-
Object.defineProperty(exports, "initOtaAssetResolver", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () {
|
|
25
|
-
return _otaAssetResolver.initOtaAssetResolver;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
21
|
+
exports.initOtaAssetResolver = exports.default = void 0;
|
|
28
22
|
exports.markAsHealthy = markAsHealthy;
|
|
29
23
|
exports.reloadBundle = reloadBundle;
|
|
30
|
-
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _otaAssetResolver.resetOtaAssetResolver;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
24
|
+
exports.resetOtaAssetResolver = void 0;
|
|
36
25
|
var _NativeBsPatch = _interopRequireDefault(require("./NativeBsPatch"));
|
|
37
26
|
var _otaLogger = require("./ota/otaLogger");
|
|
38
27
|
Object.keys(_otaLogger).forEach(function (key) {
|
|
@@ -70,7 +59,6 @@ Object.keys(_types).forEach(function (key) {
|
|
|
70
59
|
}
|
|
71
60
|
});
|
|
72
61
|
});
|
|
73
|
-
var _otaAssetResolver = require("./ota/otaAssetResolver");
|
|
74
62
|
var _GitHubRawStorage = require("./ota/storage/GitHubRawStorage");
|
|
75
63
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
76
64
|
function applyPatch(oldBundlePath, newBundlePath, patchPath) {
|
|
@@ -82,6 +70,15 @@ function markAsHealthy() {
|
|
|
82
70
|
function reloadBundle() {
|
|
83
71
|
return _NativeBsPatch.default.reloadBundle();
|
|
84
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated No-ops since 3.1: OTA assets are placed next to the bundle, where React
|
|
75
|
+
* Native resolves them by default, so no source transformer is needed.
|
|
76
|
+
*/
|
|
77
|
+
const initOtaAssetResolver = async _version => {};
|
|
78
|
+
/** @deprecated No-op since 3.1, see initOtaAssetResolver. */
|
|
79
|
+
exports.initOtaAssetResolver = initOtaAssetResolver;
|
|
80
|
+
const resetOtaAssetResolver = () => {};
|
|
81
|
+
exports.resetOtaAssetResolver = resetOtaAssetResolver;
|
|
85
82
|
var _default = exports.default = {
|
|
86
83
|
applyPatch,
|
|
87
84
|
reloadBundle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_NativeBsPatch","_interopRequireDefault","require","_otaLogger","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_OtaProvider","_types","
|
|
1
|
+
{"version":3,"names":["_NativeBsPatch","_interopRequireDefault","require","_otaLogger","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_OtaProvider","_types","_GitHubRawStorage","e","__esModule","default","applyPatch","oldBundlePath","newBundlePath","patchPath","NativeBsPatch","markAsHealthy","reloadBundle","initOtaAssetResolver","_version","resetOtaAssetResolver","_default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAkBA,IAAAC,UAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,UAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,UAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,UAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,YAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,YAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,MAAA,GAAAf,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAY,MAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,MAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,MAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AASA,IAAAW,iBAAA,GAAAhB,OAAA;AAA0E,SAAAD,uBAAAkB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA3BnE,SAASG,UAAUA,CACxBC,aAAqB,EACrBC,aAAqB,EACrBC,SAAiB,EACC;EAClB,OAAOC,sBAAa,CAACJ,UAAU,CAACC,aAAa,EAAEC,aAAa,EAAEC,SAAS,CAAC;AAC1E;AAEO,SAASE,aAAaA,CAAA,EAAS;EACpC,OAAOD,sBAAa,CAACC,aAAa,CAAC,CAAC;AACtC;AAEO,SAASC,YAAYA,CAAA,EAAS;EACnC,OAAOF,sBAAa,CAACE,YAAY,CAAC,CAAC;AACrC;AAMA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAG,MAAOC,QAAgB,IAAoB,CAAC,CAAC;AACjF;AAAAlB,OAAA,CAAAiB,oBAAA,GAAAA,oBAAA;AACO,MAAME,qBAAqB,GAAGA,CAAA,KAAY,CAAC,CAAC;AAACnB,OAAA,CAAAmB,qBAAA,GAAAA,qBAAA;AAAA,IAAAC,QAAA,GAAApB,OAAA,CAAAS,OAAA,GAGrC;EACbC,UAAU;EACVM,YAAY;EACZD;AACF,CAAC","ignoreList":[]}
|
|
@@ -9,7 +9,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _reactNativeBlobUtil = _interopRequireDefault(require("react-native-blob-util"));
|
|
11
11
|
var _NativeBsPatch = _interopRequireDefault(require("../NativeBsPatch"));
|
|
12
|
-
var _otaAssetResolver = require("./otaAssetResolver");
|
|
13
12
|
var _otaCore = require("./otaCore");
|
|
14
13
|
var _otaLogger = require("./otaLogger");
|
|
15
14
|
var _otaMetadata = require("./otaMetadata");
|
|
@@ -97,11 +96,7 @@ function OtaProvider({
|
|
|
97
96
|
await (0, _otaCore.applyOtaPatchInternal)(directPatch, effectiveConfig, (s, msg, m) => {
|
|
98
97
|
setMessage(msg);
|
|
99
98
|
setStatus(s);
|
|
100
|
-
if (m)
|
|
101
|
-
setMetrics(m);
|
|
102
|
-
// Initialize asset resolver for the new version immediately
|
|
103
|
-
(0, _otaAssetResolver.initOtaAssetResolver)(targetVer);
|
|
104
|
-
}
|
|
99
|
+
if (m) setMetrics(m);
|
|
105
100
|
}, percent => {
|
|
106
101
|
setProgressIfChanged(percent);
|
|
107
102
|
});
|
|
@@ -135,7 +130,6 @@ function OtaProvider({
|
|
|
135
130
|
pendingReloadRef.current = true;
|
|
136
131
|
setStatus(_types.OtaStatus.UP_TO_DATE);
|
|
137
132
|
setMessage(`Update V${targetV} ready for next launch`);
|
|
138
|
-
// Not initOtaAssetResolver: the running bundle still needs its own manifest
|
|
139
133
|
if (m) setMetrics(m);
|
|
140
134
|
}
|
|
141
135
|
}, () => {},
|
|
@@ -238,11 +232,6 @@ function OtaProvider({
|
|
|
238
232
|
// Display current version immediately
|
|
239
233
|
setCurrentVersion(metadata.currentVersion);
|
|
240
234
|
|
|
241
|
-
// Initialize asset resolver with current version (if not base)
|
|
242
|
-
if (metadata.currentVersion > config.baseAppVersion) {
|
|
243
|
-
await (0, _otaAssetResolver.initOtaAssetResolver)(metadata.currentVersion);
|
|
244
|
-
}
|
|
245
|
-
|
|
246
235
|
// (Native layer handled crash detection and any necessary rollback)
|
|
247
236
|
if (configError) {
|
|
248
237
|
console.error(configError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeBlobUtil","_interopRequireDefault","_NativeBsPatch","_otaAssetResolver","_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","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","appState","useRef","AppState","currentState","isCheckingRef","pendingReloadRef","bootstrapDone","runningVersionRef","progressRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","getEffectiveConfig","appVersion","nativeVer","NativeBsPatch","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","console","log","directPatch","selectUpdate","warn","ERROR","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","initOtaAssetResolver","percent","error","applyUpdate","UP_TO_DATE","downloadBackgroundUpdate","localV","targetV","SUCCESS","autoReload","checkUpdates","CHECKING","createOtaLogger","onEvent","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","metadata","loadMetadata","length","failed","failedVersions","platformPatches","filter","p","platform","Platform","OS","includes","toVersion","maxV","Math","max","map","UPDATE_AVAILABLE","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","ReactNativeBlobUtil","fs","ls","dirs","DocumentDir","then","dir","startsWith","unlink","catch","mode","MANUAL","subscription","addEventListener","nextAppState","reloadBundle","match","remove","markAsHealthy","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","otaDir","exists","trashDir","Date","now","mv","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","context","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","_reactNativeBlobUtil","_interopRequireDefault","_NativeBsPatch","_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","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","appState","useRef","AppState","currentState","isCheckingRef","pendingReloadRef","bootstrapDone","runningVersionRef","progressRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","getEffectiveConfig","appVersion","nativeVer","NativeBsPatch","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","console","log","directPatch","selectUpdate","warn","ERROR","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","percent","error","applyUpdate","UP_TO_DATE","downloadBackgroundUpdate","localV","targetV","SUCCESS","autoReload","checkUpdates","CHECKING","createOtaLogger","onEvent","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","metadata","loadMetadata","length","failed","failedVersions","platformPatches","filter","p","platform","Platform","OS","includes","toVersion","maxV","Math","max","map","UPDATE_AVAILABLE","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","ReactNativeBlobUtil","fs","ls","dirs","DocumentDir","then","dir","startsWith","unlink","catch","mode","MANUAL","subscription","addEventListener","nextAppState","reloadBundle","match","remove","markAsHealthy","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","otaDir","exists","trashDir","Date","now","mv","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","context","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":[]}
|
|
@@ -180,31 +180,24 @@ const fetchOtaManifest = config => getStorage(config).fetchManifest(config);
|
|
|
180
180
|
exports.fetchOtaManifest = fetchOtaManifest;
|
|
181
181
|
const ASSET_STORE_DIR = `${_reactNativeBlobUtil.default.fs.dirs.DocumentDir}/ota/assets`;
|
|
182
182
|
|
|
183
|
+
/** Relative path inside the version dir: no absolute paths, no `..` segments. */
|
|
184
|
+
const isSafeRelativePath = p => /^[A-Za-z0-9_\-.@/]+$/.test(p) && !p.startsWith('/') && !p.split('/').includes('..');
|
|
185
|
+
|
|
183
186
|
/**
|
|
184
|
-
* Downloads
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
187
|
+
* Downloads this version's assets and places each one next to the bundle, at the
|
|
188
|
+
* path React Native resolves by default for a bundle loaded from a file:
|
|
189
|
+
* Android: ota/vN/drawable-xxhdpi/foo.png, ota/vN/raw/bar.glb
|
|
190
|
+
* iOS: ota/vN/assets/src/images/foo@2x.png
|
|
191
|
+
* So images resolve correctly from the very first render, with no JS source
|
|
192
|
+
* transformer (which raced the first render). Files are fetched once per content
|
|
193
|
+
* hash into ota/assets/ and copied from there for later versions.
|
|
191
194
|
*/
|
|
192
195
|
const downloadAndSyncAssets = async (assetManifestUrl, version, config, log, onStatus, onProgress) => {
|
|
196
|
+
const fs = _reactNativeBlobUtil.default.fs;
|
|
193
197
|
onStatus(_types.OtaStatus.SYNCING_ASSETS, 'Syncing assets...');
|
|
194
198
|
const versionDir = `${OTA_DIR}/v${version}`;
|
|
195
|
-
const manifestPath = `${versionDir}/asset-manifest-v${version}.json`;
|
|
196
|
-
|
|
197
|
-
// Ensure asset store dir exists
|
|
198
|
-
if (!(await _reactNativeBlobUtil.default.fs.exists(ASSET_STORE_DIR))) {
|
|
199
|
-
await _reactNativeBlobUtil.default.fs.mkdir(ASSET_STORE_DIR);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// Fetch the asset manifest
|
|
203
199
|
let assets = [];
|
|
204
200
|
try {
|
|
205
|
-
if (__DEV__) {
|
|
206
|
-
console.log(`[otaCore] Fetching asset manifest from: ${assetManifestUrl}`);
|
|
207
|
-
}
|
|
208
201
|
const resp = await _reactNativeBlobUtil.default.config({
|
|
209
202
|
followRedirect: true,
|
|
210
203
|
timeout: 10000
|
|
@@ -212,101 +205,75 @@ const downloadAndSyncAssets = async (assetManifestUrl, version, config, log, onS
|
|
|
212
205
|
'Cache-Control': 'no-cache'
|
|
213
206
|
});
|
|
214
207
|
if (resp.respInfo.status !== 200) {
|
|
215
|
-
throw new Error(`
|
|
208
|
+
throw new Error(`status ${resp.respInfo.status}`);
|
|
216
209
|
}
|
|
217
|
-
|
|
218
|
-
//
|
|
219
|
-
|
|
220
|
-
await _reactNativeBlobUtil.default.fs.mkdir(versionDir);
|
|
221
|
-
}
|
|
222
|
-
const manifestData = typeof resp.data === 'string' ? resp.data : JSON.stringify(resp.data);
|
|
223
|
-
await _reactNativeBlobUtil.default.fs.writeFile(manifestPath, manifestData, 'utf8');
|
|
224
|
-
if (__DEV__) {
|
|
225
|
-
console.log(`[otaCore] Saved asset manifest to: ${manifestPath}`);
|
|
226
|
-
}
|
|
227
|
-
const manifest = JSON.parse(manifestData);
|
|
228
|
-
// Hash/ext become file names: reject anything that isn't a plain sha256 + extension
|
|
229
|
-
assets = (manifest.assets || []).filter(a => /^[a-f0-9]{64}$/i.test(a.hash) && /^[a-z0-9]+$/i.test(a.ext));
|
|
210
|
+
const manifest = typeof resp.data === 'string' ? JSON.parse(resp.data) : resp.data;
|
|
211
|
+
// Hash/ext/path become file names: reject anything unexpected
|
|
212
|
+
assets = (manifest.assets || []).filter(a => /^[a-f0-9]{64}$/i.test(a.hash) && /^[a-z0-9]+$/i.test(a.ext) && typeof a.originalPath === 'string' && isSafeRelativePath(a.originalPath));
|
|
230
213
|
} catch (e) {
|
|
231
|
-
// Fatal: activating the bundle without its
|
|
214
|
+
// Fatal: activating the bundle without its assets leaves images blank
|
|
232
215
|
throw new Error(`Failed to fetch asset manifest: ${e.message}`);
|
|
233
216
|
}
|
|
234
|
-
if (assets.length === 0)
|
|
235
|
-
if (__DEV__) {
|
|
236
|
-
console.log('[otaCore] No new assets to sync for this version.');
|
|
237
|
-
}
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// Only notify UI now that we actually have assets to download
|
|
217
|
+
if (assets.length === 0) return;
|
|
242
218
|
onStatus(_types.OtaStatus.SYNCING_ASSETS, `Syncing ${assets.length} asset(s)...`);
|
|
219
|
+
// One promise per dir: parallel workers would otherwise race mkdir (EEXIST)
|
|
220
|
+
const dirs = new Map();
|
|
221
|
+
const ensureDir = dir => {
|
|
222
|
+
if (!dirs.has(dir)) {
|
|
223
|
+
dirs.set(dir, fs.exists(dir).then(ok => ok ? undefined : fs.mkdir(dir)));
|
|
224
|
+
}
|
|
225
|
+
return dirs.get(dir);
|
|
226
|
+
};
|
|
227
|
+
await ensureDir(ASSET_STORE_DIR);
|
|
243
228
|
let processed = 0;
|
|
244
229
|
let downloaded = 0;
|
|
245
|
-
let cached = 0;
|
|
246
230
|
let failed = 0;
|
|
247
|
-
const updateProgress = () => {
|
|
248
|
-
processed++;
|
|
249
|
-
const percent = Math.round(processed / assets.length * 100);
|
|
250
|
-
onProgress(percent);
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
// Concurrency-limited download queue
|
|
254
|
-
const maxConcurrency = 6; // Optimal for most mobile networks
|
|
255
231
|
let index = 0;
|
|
256
|
-
const
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
// Download missing asset
|
|
271
|
-
onStatus(_types.OtaStatus.SYNCING_ASSETS, `Syncing assets (${processed + 1}/${assets.length})...`);
|
|
272
|
-
try {
|
|
273
|
-
const storage = getStorage(config);
|
|
274
|
-
const assetUrl = await storage.getAssetUrl(asset.hash, asset.ext, config);
|
|
275
|
-
if (!assetUrl) {
|
|
276
|
-
if (__DEV__) {
|
|
277
|
-
console.warn(`[otaCore] Could not get URL for asset ${filename}`);
|
|
232
|
+
const worker = async () => {
|
|
233
|
+
while (index < assets.length) {
|
|
234
|
+
const asset = assets[index++];
|
|
235
|
+
const storePath = getLocalAssetPath(asset.hash, asset.ext);
|
|
236
|
+
try {
|
|
237
|
+
if (!(await fs.exists(storePath))) {
|
|
238
|
+
const url = await getStorage(config).getAssetUrl(asset.hash, asset.ext, config);
|
|
239
|
+
if (!url) throw new Error('no URL');
|
|
240
|
+
await downloadWithRetry(url, storePath, config, () => {});
|
|
241
|
+
if (!(await verifyHash(storePath, asset.hash))) {
|
|
242
|
+
await fs.unlink(storePath).catch(() => {});
|
|
243
|
+
throw new Error('hash mismatch');
|
|
244
|
+
}
|
|
245
|
+
downloaded++;
|
|
278
246
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
await
|
|
283
|
-
throw new Error('hash mismatch');
|
|
247
|
+
const dest = `${versionDir}/${asset.originalPath}`;
|
|
248
|
+
const parts = asset.originalPath.split('/').slice(0, -1);
|
|
249
|
+
for (let i = 1; i <= parts.length; i++) {
|
|
250
|
+
await ensureDir(`${versionDir}/${parts.slice(0, i).join('/')}`);
|
|
284
251
|
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
console.warn(`[otaCore] Failed to download asset ${filename}:`, e);
|
|
252
|
+
if (await fs.exists(dest)) await fs.unlink(dest);
|
|
253
|
+
await fs.cp(storePath, dest);
|
|
254
|
+
} catch (e) {
|
|
255
|
+
if (__DEV__) {
|
|
256
|
+
console.warn(`[otaCore] Asset ${asset.originalPath} failed:`, e);
|
|
257
|
+
}
|
|
258
|
+
failed++; // keep going, fail the sync at the end
|
|
293
259
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
updateProgress();
|
|
297
|
-
await downloadNext(); // Start next download
|
|
260
|
+
processed++;
|
|
261
|
+
onProgress(Math.round(processed / assets.length * 100));
|
|
298
262
|
}
|
|
299
263
|
};
|
|
300
264
|
|
|
301
|
-
//
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
265
|
+
// Concurrency-limited queue: 6 parallel requests suit most mobile networks
|
|
266
|
+
await Promise.all(Array.from({
|
|
267
|
+
length: Math.min(6, assets.length)
|
|
268
|
+
}, worker));
|
|
305
269
|
if (failed > 0) {
|
|
306
270
|
throw new Error(`${failed} asset(s) failed to download`);
|
|
307
271
|
}
|
|
308
|
-
|
|
309
|
-
|
|
272
|
+
log.emit(_otaLogger.OtaEvent.DOWNLOAD_SUCCESS, {
|
|
273
|
+
version,
|
|
274
|
+
message: `Assets: ${assets.length} placed, ${downloaded} downloaded`
|
|
275
|
+
});
|
|
276
|
+
onStatus(_types.OtaStatus.SYNCING_ASSETS, `Assets synced (${downloaded} new)`);
|
|
310
277
|
};
|
|
311
278
|
|
|
312
279
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeBlobUtil","_interopRequireDefault","_NativeBsPatch","_otaLogger","_otaMetadata","_GitHubRawStorage","_types","e","__esModule","default","OTA_DIR","ReactNativeBlobUtil","fs","dirs","DocumentDir","DEFAULT_STORAGE","GitHubRawStorageProvider","getStorage","config","storage","validateOtaConfig","baseUrl","channel","customServer","test","JSON","stringify","exports","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","verifyHash","path","expectedHash","hash","toLowerCase","assertSigned","filePath","signature","what","publicKey","valid","NativeBsPatch","verifySignature","catch","Error","downloadWithRetry","url","destPath","onProgress","headers","retryLimit","network","retry","timeout","timeoutMs","taskRef","partPath","task","fileCache","followRedirect","fetch","progress","received","total","percent","Math","floor","cancel","resp","status","respInfo","exists","unlink","mv","delay","pow","__DEV__","console","warn","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","OtaStatus","SYNCING_ASSETS","versionDir","manifestPath","mkdir","assets","manifestData","data","writeFile","manifest","parse","filter","ext","message","length","processed","downloaded","cached","failed","updateProgress","round","maxConcurrency","index","downloadNext","asset","filename","localPath","assetUrl","getAssetUrl","emit","OtaEvent","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","appVersion","id","selectUpdate","patchList","localV","targetV","forTarget","p","toVersion","platform","Platform","OS","find","fromVersion","updateInFlight","applyOtaPatchInternal","args","runUpdatePipeline","options","autoReload","allowDebugUpdates","UP_TO_DATE","createOtaLogger","onEvent","ensureOtaDir","totalStart","Date","now","finalBundlePath","getBundlePath","baseAppVersion","tempBundle","localPatchPath","minAppVersion","currentAppVer","getAppVersion","undefined","VERSION_INCOMPATIBLE","download","remoteName","dest","DOWNLOAD_START","dlStart","getUpdateFileUrl","dlError","DOWNLOAD_FAIL","error","downloadMs","sizeBytes","stat","size","durationMs","sizeKB","assertHash","expected","actual","HASH_MISMATCH","metadata","commit","metrics","manifestUrl","nativeAppVersion","updateMetadata","registerNewVersion","totalMs","PATCH_SUCCESS","patchSizeKB","SUCCESS","fromCache","reloadBundle","applyPatchFile","sourcePath","DOWNLOADING","APPLYING","sigError","SIGNATURE_INVALID","baseHash","PATCH_START","applyStart","success","applyPatch","applyMs","PATCH_FAIL","bundleHash","bundleSignature","installFullBundle","fullBundleUrl","FALLBACK_FULL_BUNDLE","cleanup","loadMetadata","currentVersion","canPatch","ERROR"],"sourceRoot":"../../../src","sources":["ota/otaCore.ts"],"mappings":";;;;;;AAaA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAOA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAOiB,SAAAE,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAhCjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBA,MAAMG,OAAO,GAAG,GAAGC,4BAAmB,CAACC,EAAE,CAACC,IAAI,CAACC,WAAW,MAAM;;AAEhE;;AAEA,MAAMC,eAAe,GAAG,IAAIC,0CAAwB,CAAC,CAAC;;AAEtD;AACA,MAAMC,UAAU,GAAIC,MAAiB,IACjCA,MAAM,CAACC,OAAO,IAAIJ,eAAe;;AAErC;AACA;AACA;AACA;AACO,MAAMK,iBAAiB,GAAIF,MAAiB,IAAoB;EACnE,IAAIA,MAAM,CAACC,OAAO,EAAE,OAAO,IAAI;EAC/B,MAAM;IAAEE,OAAO;IAAEC;EAAQ,CAAC,GAAGJ,MAAM,CAACK,YAAY,IAAI,CAAC,CAAC;EACtD,IAAI,CAACF,OAAO,IAAI,CAAC,cAAc,CAACG,IAAI,CAACH,OAAO,CAAC,EAAE;IAC3C,OAAO,oDAAoDI,IAAI,CAACC,SAAS,CAACL,OAAO,CAAC,EAAE;EACxF;EACA,IAAI,CAACC,OAAO,EAAE;IACV,OAAO,yCAAyCG,IAAI,CAACC,SAAS,CAACJ,OAAO,CAAC,EAAE;EAC7E;EACA,OAAO,IAAI;AACf,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXAK,OAAA,CAAAP,iBAAA,GAAAA,iBAAA;AAYO,MAAMQ,SAAS,GAAGA,CAACC,CAAS,EAAEC,CAAS,KAAc;EACxD,MAAMC,EAAE,GAAGF,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;EACnC,MAAMC,EAAE,GAAGL,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;EACnC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;IACxB,MAAMC,EAAE,GAAGN,EAAE,CAACK,CAAC,CAAC,IAAI,CAAC;IACrB,MAAME,EAAE,GAAGH,EAAE,CAACC,CAAC,CAAC,IAAI,CAAC;IACrB,IAAIC,EAAE,GAAGC,EAAE,EAAE,OAAO,IAAI;IACxB,IAAID,EAAE,GAAGC,EAAE,EAAE,OAAO,KAAK;EAC7B;EACA,OAAO,IAAI,CAAC,CAAC;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAX,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAOO,MAAMW,UAAU,GAAG,MAAAA,CACtBC,IAAY,EACZC,YAAqB,KACF;EACnB,IAAI,CAACA,YAAY,EAAE,OAAO,IAAI;EAC9B,IAAI;IACA,MAAMC,IAAI,GAAG,MAAM/B,4BAAmB,CAACC,EAAE,CAAC8B,IAAI,CAACF,IAAI,EAAE,QAAQ,CAAC;IAC9D,OAAOE,IAAI,CAACC,WAAW,CAAC,CAAC,KAAKF,YAAY,CAACE,WAAW,CAAC,CAAC;EAC5D,CAAC,CAAC,MAAM;IACJ,OAAO,KAAK;EAChB;AACJ,CAAC;;AAED;AACA;AACA;AACA;AAHAhB,OAAA,CAAAY,UAAA,GAAAA,UAAA;AAIA,MAAMK,YAAY,GAAG,MAAAA,CACjBC,QAAgB,EAChBC,SAA6B,EAC7B5B,MAAiB,EACjB6B,IAAY,KACI;EAChB,IAAI,CAAC7B,MAAM,CAAC8B,SAAS,EAAE;EACvB,MAAMC,KAAK,GACP,CAAC,CAACH,SAAS,KACV,MAAMI,sBAAa,CAACC,eAAe,CAACN,QAAQ,EAAEC,SAAS,EAAE5B,MAAM,CAAC8B,SAAS,CAAC,CAACI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;EACnG,IAAI,CAACH,KAAK,EAAE;IACR,MAAM,IAAII,KAAK,CAAC,GAAGN,IAAI,+BAA+B,CAAC;EAC3D;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMO,iBAAiB,GAAG,MAAAA,CACtBC,GAAW,EACXC,QAAgB,EAChBtC,MAAiB,EACjBuC,UAAqC,EACrCC,OAA+B,GAAG,CAAC,CAAC,KACpB;EAChB,MAAMC,UAAU,GAAGzC,MAAM,CAAC0C,OAAO,EAAEC,KAAK,IAAI,CAAC;EAC7C,MAAMC,OAAO,GAAG5C,MAAM,CAAC0C,OAAO,EAAEG,SAAS,IAAI,KAAK;EAElD,KAAK,IAAI3B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuB,UAAU,EAAEvB,CAAC,EAAE,EAAE;IACjC,IAAI4B,OAAsC,GAAG,IAAI;IACjD;IACA;IACA,MAAMC,QAAQ,GAAG,GAAGT,QAAQ,OAAO;IACnC,IAAI;MACA,MAAMU,IAAI,GAAGvD,4BAAmB,CAACO,MAAM,CAAC;QACpCiD,SAAS,EAAE,IAAI;QACf3B,IAAI,EAAEyB,QAAQ;QACdG,cAAc,EAAE,IAAI;QACpBN;MACJ,CAAC,CAAC,CACGO,KAAK,CAAC,KAAK,EAAEd,GAAG,EAAE;QACf,eAAe,EAAE,UAAU;QAC3B,GAAGG;MACP,CAAC,CAAC,CACDY,QAAQ,CAAC,CAACC,QAAa,EAAEC,KAAU,KAAK;QACrC,MAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CACrBzC,MAAM,CAACqC,QAAQ,CAAC,GAAGrC,MAAM,CAACsC,KAAK,CAAC,GAAI,GACzC,CAAC;QACDf,UAAU,CAACgB,OAAO,CAAC;MACvB,CAAC,CAAC;MACNT,OAAO,GAAG;QAAEY,MAAM,EAAEA,CAAA,KAAMV,IAAI,CAACU,MAAM,CAAC;MAAE,CAAC;MACzC,MAAMC,IAAI,GAAG,MAAMX,IAAI;MACvB,MAAMY,MAAM,GAAGD,IAAI,CAACE,QAAQ,CAACD,MAAM;MACnC,IAAIA,MAAM,GAAG,GAAG,IAAIA,MAAM,IAAI,GAAG,EAAE;QAC/B,MAAM,IAAIzB,KAAK,CAAC,QAAQyB,MAAM,QAAQvB,GAAG,EAAE,CAAC;MAChD;MACA,IAAI,MAAM5C,4BAAmB,CAACC,EAAE,CAACoE,MAAM,CAACxB,QAAQ,CAAC,EAAE;QAC/C,MAAM7C,4BAAmB,CAACC,EAAE,CAACqE,MAAM,CAACzB,QAAQ,CAAC;MACjD;MACA,MAAM7C,4BAAmB,CAACC,EAAE,CAACsE,EAAE,CAACjB,QAAQ,EAAET,QAAQ,CAAC;MACnD;IACJ,CAAC,CAAC,OAAOjD,CAAC,EAAE;MACR;MACAyD,OAAO,EAAEY,MAAM,CAAC,CAAC;MACjB,MAAMjE,4BAAmB,CAACC,EAAE,CAACqE,MAAM,CAAChB,QAAQ,CAAC,CAACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MAC7D,IAAIhB,CAAC,KAAKuB,UAAU,GAAG,CAAC,EAAE,MAAMpD,CAAC;MACjC,MAAM4E,KAAK,GAAGT,IAAI,CAACU,GAAG,CAAC,CAAC,EAAEhD,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;MACrC,IAAIiD,OAAO,EAAE;QACTC,OAAO,CAACC,IAAI,CACR,8BACInD,CAAC,GAAG,CAAC,wBACe+C,KAAK,OACjC,CAAC;MACL;MACA,MAAM,IAAIK,OAAO,CAAOC,OAAO,IAAIC,UAAU,CAACD,OAAO,EAAEN,KAAK,CAAC,CAAC;IAClE;EACJ;AACJ,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMQ,gBAAgB,GAAIzE,MAAiB,IAC9CD,UAAU,CAACC,MAAM,CAAC,CAAC0E,aAAa,CAAC1E,MAAM,CAAC;;AAE5C;AAAAS,OAAA,CAAAgE,gBAAA,GAAAA,gBAAA;AAEA,MAAME,eAAe,GAAG,GAAGlF,4BAAmB,CAACC,EAAE,CAACC,IAAI,CAACC,WAAW,aAAa;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMgF,qBAAqB,GAAG,MAAAA,CAC1BC,gBAAwB,EACxBC,OAAe,EACf9E,MAAiB,EACjB+E,GAAuC,EACvCC,QAIS,EACTzC,UAAqC,KACrB;EAChByC,QAAQ,CAACC,gBAAS,CAACC,cAAc,EAAE,mBAAmB,CAAC;EAEvD,MAAMC,UAAU,GAAG,GAAG3F,OAAO,KAAKsF,OAAO,EAAE;EAC3C,MAAMM,YAAY,GAAG,GAAGD,UAAU,oBAAoBL,OAAO,OAAO;;EAEpE;EACA,IAAI,EAAE,MAAMrF,4BAAmB,CAACC,EAAE,CAACoE,MAAM,CAACa,eAAe,CAAC,CAAC,EAAE;IACzD,MAAMlF,4BAAmB,CAACC,EAAE,CAAC2F,KAAK,CAACV,eAAe,CAAC;EACvD;;EAEA;EACA,IAAIW,MAAkB,GAAG,EAAE;EAC3B,IAAI;IACA,IAAInB,OAAO,EAAE;MACTC,OAAO,CAACW,GAAG,CACP,2CAA2CF,gBAAgB,EAC/D,CAAC;IACL;IACA,MAAMlB,IAAI,GAAG,MAAMlE,4BAAmB,CAACO,MAAM,CAAC;MAC1CkD,cAAc,EAAE,IAAI;MACpBN,OAAO,EAAE;IACb,CAAC,CAAC,CAACO,KAAK,CAAC,KAAK,EAAE0B,gBAAgB,EAAE;MAC9B,eAAe,EAAE;IACrB,CAAC,CAAC;IAEF,IAAIlB,IAAI,CAACE,QAAQ,CAACD,MAAM,KAAK,GAAG,EAAE;MAC9B,MAAM,IAAIzB,KAAK,CACX,qCAAqCwB,IAAI,CAACE,QAAQ,CAACD,MAAM,EAC7D,CAAC;IACL;;IAEA;IACA,IAAI,EAAE,MAAMnE,4BAAmB,CAACC,EAAE,CAACoE,MAAM,CAACqB,UAAU,CAAC,CAAC,EAAE;MACpD,MAAM1F,4BAAmB,CAACC,EAAE,CAAC2F,KAAK,CAACF,UAAU,CAAC;IAClD;IAEA,MAAMI,YAAY,GACd,OAAO5B,IAAI,CAAC6B,IAAI,KAAK,QAAQ,GACvB7B,IAAI,CAAC6B,IAAI,GACTjF,IAAI,CAACC,SAAS,CAACmD,IAAI,CAAC6B,IAAI,CAAC;IACnC,MAAM/F,4BAAmB,CAACC,EAAE,CAAC+F,SAAS,CAClCL,YAAY,EACZG,YAAY,EACZ,MACJ,CAAC;IACD,IAAIpB,OAAO,EAAE;MACTC,OAAO,CAACW,GAAG,CAAC,sCAAsCK,YAAY,EAAE,CAAC;IACrE;IAEA,MAAMM,QAAQ,GAAGnF,IAAI,CAACoF,KAAK,CAACJ,YAAY,CAAC;IACzC;IACAD,MAAM,GAAG,CAACI,QAAQ,CAACJ,MAAM,IAAI,EAAE,EAAEM,MAAM,CAClCjF,CAAM,IACH,iBAAiB,CAACL,IAAI,CAACK,CAAC,CAACa,IAAI,CAAC,IAC9B,cAAc,CAAClB,IAAI,CAACK,CAAC,CAACkF,GAAG,CACjC,CAAC;EACL,CAAC,CAAC,OAAOxG,CAAC,EAAE;IACR;IACA,MAAM,IAAI8C,KAAK,CAAC,mCAAoC9C,CAAC,CAAWyG,OAAO,EAAE,CAAC;EAC9E;EAEA,IAAIR,MAAM,CAACS,MAAM,KAAK,CAAC,EAAE;IACrB,IAAI5B,OAAO,EAAE;MACTC,OAAO,CAACW,GAAG,CAAC,mDAAmD,CAAC;IACpE;IACA;EACJ;;EAEA;EACAC,QAAQ,CAACC,gBAAS,CAACC,cAAc,EAAE,WAAWI,MAAM,CAACS,MAAM,cAAc,CAAC;EAE1E,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,MAAM,GAAG,CAAC;EACd,IAAIC,MAAM,GAAG,CAAC;EAEd,MAAMC,cAAc,GAAGA,CAAA,KAAM;IACzBJ,SAAS,EAAE;IACX,MAAMzC,OAAO,GAAGC,IAAI,CAAC6C,KAAK,CAAEL,SAAS,GAAGV,MAAM,CAACS,MAAM,GAAI,GAAG,CAAC;IAC7DxD,UAAU,CAACgB,OAAO,CAAC;EACvB,CAAC;;EAED;EACA,MAAM+C,cAAc,GAAG,CAAC,CAAC,CAAC;EAC1B,IAAIC,KAAK,GAAG,CAAC;EAEb,MAAMC,YAAY,GAAG,MAAAA,CAAA,KAA2B;IAC5C,IAAID,KAAK,IAAIjB,MAAM,CAACS,MAAM,EAAE;IAE5B,MAAMU,KAAK,GAAGnB,MAAM,CAACiB,KAAK,EAAE,CAAC;IAC7B,MAAMG,QAAQ,GAAG,GAAGD,KAAK,CAACjF,IAAI,IAAIiF,KAAK,CAACZ,GAAG,EAAE;IAC7C,MAAMc,SAAS,GAAG,GAAGhC,eAAe,IAAI+B,QAAQ,EAAE;;IAElD;IACA,IAAI,MAAMjH,4BAAmB,CAACC,EAAE,CAACoE,MAAM,CAAC6C,SAAS,CAAC,EAAE;MAChDT,MAAM,EAAE;MACRE,cAAc,CAAC,CAAC;MAChB,MAAMI,YAAY,CAAC,CAAC,CAAC,CAAC;MACtB;IACJ;;IAEA;IACAxB,QAAQ,CACJC,gBAAS,CAACC,cAAc,EACxB,mBAAmBc,SAAS,GAAG,CAAC,IAAIV,MAAM,CAACS,MAAM,MACrD,CAAC;IACD,IAAI;MACA,MAAM9F,OAAO,GAAGF,UAAU,CAACC,MAAM,CAAC;MAClC,MAAM4G,QAAQ,GAAG,MAAM3G,OAAO,CAAC4G,WAAW,CACtCJ,KAAK,CAACjF,IAAI,EACViF,KAAK,CAACZ,GAAG,EACT7F,MACJ,CAAC;MACD,IAAI,CAAC4G,QAAQ,EAAE;QACX,IAAIzC,OAAO,EAAE;UACTC,OAAO,CAACC,IAAI,CACR,yCAAyCqC,QAAQ,EACrD,CAAC;QACL;MACJ,CAAC,MAAM;QACH,MAAMtE,iBAAiB,CAACwE,QAAQ,EAAED,SAAS,EAAE3G,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,EAAE,MAAMqB,UAAU,CAACsF,SAAS,EAAEF,KAAK,CAACjF,IAAI,CAAC,CAAC,EAAE;UAC5C,MAAM/B,4BAAmB,CAACC,EAAE,CAACqE,MAAM,CAAC4C,SAAS,CAAC,CAACzE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;UAC9D,MAAM,IAAIC,KAAK,CAAC,eAAe,CAAC;QACpC;QACA8D,UAAU,EAAE;QACZlB,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACC,gBAAgB,EAAE;UAChClB,OAAO,EAAE,qBAAqBY,QAAQ;QAC1C,CAAC,CAAC;MACN;IACJ,CAAC,CAAC,OAAOrH,CAAC,EAAE;MACR,IAAI8E,OAAO,EAAE;QACTC,OAAO,CAACC,IAAI,CACR,sCAAsCqC,QAAQ,GAAG,EACjDrH,CACJ,CAAC;MACL;MACA8G,MAAM,EAAE,CAAC,CAAC;IACd,CAAC,SAAS;MACNC,cAAc,CAAC,CAAC;MAChB,MAAMI,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1B;EACJ,CAAC;;EAED;EACA,MAAMS,cAAc,GAAGzD,IAAI,CAAC0D,GAAG,CAACZ,cAAc,EAAEhB,MAAM,CAACS,MAAM,CAAC;EAC9D,MAAMoB,OAAO,GAAGC,KAAK,CAACH,cAAc,CAAC,CAChCI,IAAI,CAAC,IAAI,CAAC,CACVtG,GAAG,CAAC,MAAMyF,YAAY,CAAC,CAAC,CAAC;EAC9B,MAAMlC,OAAO,CAACgD,GAAG,CAACH,OAAO,CAAC;EAE1B,IAAIhB,MAAM,GAAG,CAAC,EAAE;IACZ,MAAM,IAAIhE,KAAK,CAAC,GAAGgE,MAAM,8BAA8B,CAAC;EAC5D;EAEAnB,QAAQ,CACJC,gBAAS,CAACC,cAAc,EACxB,kBAAkBe,UAAU,SAASC,MAAM,UAC/C,CAAC;EACD9B,OAAO,CAACW,GAAG,CACP,qBAAqBkB,UAAU,gBAAgBC,MAAM,aACzD,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMqB,iBAAiB,GAAGA,CAAC/F,IAAY,EAAEqE,GAAW,KACvD,GAAGlB,eAAe,IAAInD,IAAI,IAAIqE,GAAG,EAAE;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AANApF,OAAA,CAAA8G,iBAAA,GAAAA,iBAAA;AAOO,MAAMC,iBAAiB,GAAGA,CAACC,KAAe,EAAEC,MAAc,KAC7D,GAAGA,MAAM,cAAcD,KAAK,CAACE,UAAU,IAAIF,KAAK,CAACG,EAAE,QAAQ;;AAE/D;AACA;AACA;AACA;AAHAnH,OAAA,CAAA+G,iBAAA,GAAAA,iBAAA;AAIO,MAAMK,YAAY,GAAGA,CACxBC,SAAqB,EACrBC,MAAc,EACdC,OAAe,KACQ;EACvB,MAAMC,SAAS,GAAGH,SAAS,CAAClC,MAAM,CAC9BsC,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAKH,OAAO,KAAK,CAACE,CAAC,CAACE,QAAQ,IAAIF,CAAC,CAACE,QAAQ,KAAKC,qBAAQ,CAACC,EAAE,CAC9E,CAAC;EACD,OACIL,SAAS,CAACM,IAAI,CAACL,CAAC,IAAIA,CAAC,CAACxB,QAAQ,IAAIwB,CAAC,CAACM,WAAW,KAAKT,MAAM,CAAC,IAC3DE,SAAS,CAACM,IAAI,CAACL,CAAC,IAAI,CAACA,CAAC,CAACxB,QAAQ,CAAC;AAExC,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXAjG,OAAA,CAAAoH,YAAA,GAAAA,YAAA;AAYA,IAAIY,cAAc,GAAG,KAAK;;AAE1B;AACO,MAAMC,qBAA+C,GAAG,MAAAA,CAAO,GAAGC,IAAI,KAAK;EAC9E,IAAIF,cAAc,EAAE;IAChB,MAAM,IAAItG,KAAK,CAAC,2CAA2C,CAAC;EAChE;EACAsG,cAAc,GAAG,IAAI;EACrB,IAAI;IACA,OAAO,MAAMG,iBAAiB,CAAC,GAAGD,IAAI,CAAC;EAC3C,CAAC,SAAS;IACNF,cAAc,GAAG,KAAK;EAC1B;AACJ,CAAC;AAAChI,OAAA,CAAAiI,qBAAA,GAAAA,qBAAA;AAEF,MAAME,iBAAiB,GAAG,MAAAA,CACtBnB,KAAe,EACfzH,MAAiB,EACjBgF,QAIS,EACTzC,UAAqC,EACrCsG,OAAiC,GAAG;EAAEC,UAAU,EAAE;AAAK,CAAC,KACvD;EACD,IAAI3E,OAAO,IAAInE,MAAM,CAAC+I,iBAAiB,KAAK,IAAI,EAAE;IAC9C/D,QAAQ,CACJC,gBAAS,CAAC+D,UAAU,EACpB,uDACJ,CAAC;IACD,MAAM,IAAI7G,KAAK,CAAC,uDAAuD,CAAC;EAC5E;EAEA,MAAM4C,GAAG,GAAG,IAAAkE,0BAAe,EAACjJ,MAAM,CAACkJ,OAAO,CAAC;EAC3C,MAAM,IAAAC,yBAAY,EAAC,CAAC;EACpB,MAAMC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAC7B,MAAM5J,EAAE,GAAGD,4BAAmB,CAACC,EAAE;EAEjC,MAAM6J,eAAe,GACjB,IAAAC,0BAAa,EAAC/B,KAAK,CAACU,SAAS,EAAEnI,MAAM,CAACyJ,cAAc,CAAC,IAAI,EAAE;EAC/D,MAAMC,UAAU,GAAG,GAAGH,eAAe,MAAM;EAC3C,MAAMpE,UAAU,GAAG,GAAG3F,OAAO,KAAKiI,KAAK,CAACU,SAAS,EAAE;EACnD,MAAMwB,cAAc,GAAGnC,iBAAiB,CAACC,KAAK,EAAE/H,EAAE,CAACC,IAAI,CAACC,WAAW,CAAC;;EAEpE;EACA;EACA,IAAI6H,KAAK,CAACmC,aAAa,EAAE;IACrB,IAAIC,aAAa,GAAG7J,MAAM,CAAC2H,UAAU;IACrC,IAAI,CAACkC,aAAa,EAAE;MAChBA,aAAa,GAAG,MAAM7H,sBAAa,CAAC8H,aAAa,CAAC,CAAC,CAAC5H,KAAK,CAAC,MAAM6H,SAAS,CAAC;IAC9E;IACA,IAAI,CAACF,aAAa,EAAE;MAChB,MAAM,IAAI1H,KAAK,CACX,oFACJ,CAAC;IACL;IACA,IAAI,CAACzB,SAAS,CAACmJ,aAAa,EAAEpC,KAAK,CAACmC,aAAa,CAAC,EAAE;MAChD7E,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACiD,oBAAoB,EAAE;QACpClE,OAAO,EAAE,OAAO+D,aAAa,eAAepC,KAAK,CAACmC,aAAa,EAAE;QACjE9E,OAAO,EAAE2C,KAAK,CAACU;MACnB,CAAC,CAAC;MACF,MAAM,IAAIhG,KAAK,CACX,cAAc0H,aAAa,0BAA0BpC,KAAK,CAACmC,aAAa,UAC5E,CAAC;IACL;EACJ;EAEA,IAAI,EAAE,MAAMlK,EAAE,CAACoE,MAAM,CAACqB,UAAU,CAAC,CAAC,EAAE;IAChC,MAAMzF,EAAE,CAAC2F,KAAK,CAACF,UAAU,CAAC;EAC9B;EAEA,MAAM8E,QAAQ,GAAG,MAAAA,CAAOC,UAAkB,EAAEC,IAAY,KAAK;IACzDpF,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACqD,cAAc,EAAE;MAAEtF,OAAO,EAAE2C,KAAK,CAACU;IAAU,CAAC,CAAC;IAC/D,MAAMkC,OAAO,GAAGhB,IAAI,CAACC,GAAG,CAAC,CAAC;IAC1B,IAAI;MACA,MAAMjH,GAAG,GAAG,MAAMtC,UAAU,CAACC,MAAM,CAAC,CAACsK,gBAAgB,CAACJ,UAAU,EAAElK,MAAM,CAAC;MACzE,MAAMoC,iBAAiB,CAACC,GAAG,EAAE8H,IAAI,EAAEnK,MAAM,EAAEuC,UAAU,CAAC;IAC1D,CAAC,CAAC,OAAOgI,OAAO,EAAE;MACdxF,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACyD,aAAa,EAAE;QAC7BC,KAAK,EAAGF,OAAO,CAAWzE,OAAO;QACjChB,OAAO,EAAE2C,KAAK,CAACU;MACnB,CAAC,CAAC;MACF,MAAMoC,OAAO;IACjB;IACA,MAAMG,UAAU,GAAGrB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGe,OAAO;IACvC,MAAMM,SAAS,GAAG3J,MAAM,CAAC,CAAC,MAAMtB,EAAE,CAACkL,IAAI,CAACT,IAAI,CAAC,EAAEU,IAAI,CAAC;IACpD9F,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACC,gBAAgB,EAAE;MAChClC,OAAO,EAAE2C,KAAK,CAACU,SAAS;MACxB2C,UAAU,EAAEJ,UAAU;MACtBK,MAAM,EAAEJ,SAAS,GAAG;IACxB,CAAC,CAAC;IACF,OAAO;MAAED,UAAU;MAAEC;IAAU,CAAC;EACpC,CAAC;EAED,MAAMK,UAAU,GAAG,MAAAA,CAAO1J,IAAY,EAAE2J,QAA4B,EAAEpJ,IAAY,KAAK;IACnF,IAAI,CAACoJ,QAAQ,KAAK,MAAM5J,UAAU,CAACC,IAAI,EAAE2J,QAAQ,CAAC,CAAC,EAAE;IACrD,MAAMC,MAAM,GAAG,MAAMxL,EAAE,CAAC8B,IAAI,CAACF,IAAI,EAAE,QAAQ,CAAC,CAACY,KAAK,CAAC,MAAM,EAAE,CAAC;IAC5D6C,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACoE,aAAa,EAAE;MAC7BrF,OAAO,EAAE,GAAGjE,IAAI,gBAAgB;MAChCiD,OAAO,EAAE2C,KAAK,CAACU,SAAS;MACxBiD,QAAQ,EAAE;QAAEH,QAAQ;QAAEC,MAAM;QAAE5J;MAAK;IACvC,CAAC,CAAC;IACF,MAAM,IAAIa,KAAK,CAAC,GAAGN,IAAI,gBAAgB,CAAC;EAC5C,CAAC;;EAED;EACA,MAAMwJ,MAAM,GAAG,MAAOC,OAAkD,IAAK;IACzE,IAAI7D,KAAK,CAAC5C,gBAAgB,EAAE;MACxB,MAAM0G,WAAW,GAAG,MAAMxL,UAAU,CAACC,MAAM,CAAC,CAACsK,gBAAgB,CACzD7C,KAAK,CAAC5C,gBAAgB,EACtB7E,MACJ,CAAC;MACD,MAAM4E,qBAAqB,CACvB2G,WAAW,EACX9D,KAAK,CAACU,SAAS,EACfnI,MAAM,EACN+E,GAAG,EACHC,QAAQ,EACRzC,UACJ,CAAC;IACL;IAEA,IAAI,MAAM7C,EAAE,CAACoE,MAAM,CAACyF,eAAe,CAAC,EAAE;MAClC,MAAM7J,EAAE,CAACqE,MAAM,CAACwF,eAAe,CAAC;IACpC;IACA,MAAM7J,EAAE,CAACsE,EAAE,CAAC0F,UAAU,EAAEH,eAAe,CAAC;;IAExC;IACA,MAAMiC,gBAAgB,GAAG,MAAMxJ,sBAAa,CAAC8H,aAAa,CAAC,CAAC,CAAC5H,KAAK,CAAC,MAAMlC,MAAM,CAAC2H,UAAU,CAAC;IAC3F,MAAM,IAAA8D,2BAAc,EAACzL,MAAM,CAACyJ,cAAc,EAAE2B,QAAQ,IAChD,IAAAM,+BAAkB,EAACN,QAAQ,EAAE3D,KAAK,CAACU,SAAS,EAAEqD,gBAAgB,CAClE,CAAC;IAED,MAAMG,OAAO,GAAGtC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,UAAU;IACvCrE,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAAC6E,aAAa,EAAE;MAC7B9G,OAAO,EAAE2C,KAAK,CAACU,SAAS;MACxB2C,UAAU,EAAEa,OAAO;MACnBZ,MAAM,EAAEO,OAAO,CAACO;IACpB,CAAC,CAAC;IACF7G,QAAQ,CAACC,gBAAS,CAAC6G,OAAO,EAAE,WAAWrE,KAAK,CAACU,SAAS,cAAc,EAAE;MAClE,GAAGmD,OAAO;MACVK,OAAO;MACPI,SAAS,EAAE;IACf,CAAC,CAAC;;IAEF;IACA;IACA,IAAIlD,OAAO,CAACC,UAAU,KAAK,KAAK,EAAE;MAC9B9G,sBAAa,CAACgK,YAAY,CAAC,CAAC;IAChC,CAAC,MAAM,IAAI7H,OAAO,EAAE;MAChBC,OAAO,CAACW,GAAG,CACP,cAAc0C,KAAK,CAACU,SAAS,mDACjC,CAAC;IACL;EACJ,CAAC;EAED,MAAM8D,cAAc,GAAG,MAAOC,UAAkB,IAAK;IACjDlH,QAAQ,CAACC,gBAAS,CAACkH,WAAW,EAAE,gBAAgB1E,KAAK,CAACU,SAAS,KAAK,CAAC;IACrE,MAAM;MAAEuC,UAAU;MAAEC;IAAU,CAAC,GAAG,MAAMV,QAAQ,CAACxC,KAAK,CAACf,QAAQ,EAAGiD,cAAc,CAAC;;IAEjF;IACA3E,QAAQ,CAACC,gBAAS,CAACmH,QAAQ,EAAE,cAAc,CAAC;IAC5C,IAAI;MACA,MAAM1K,YAAY,CAACiI,cAAc,EAAElC,KAAK,CAAC7F,SAAS,EAAE5B,MAAM,EAAE,OAAO,CAAC;IACxE,CAAC,CAAC,OAAOqM,QAAQ,EAAE;MACftH,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACuF,iBAAiB,EAAE;QAAExH,OAAO,EAAE2C,KAAK,CAACU;MAAU,CAAC,CAAC;MAClE,MAAMkE,QAAQ;IAClB;IACA,MAAMrB,UAAU,CAACkB,UAAU,EAAEzE,KAAK,CAAC8E,QAAQ,EAAE,eAAe,CAAC;IAE7DxH,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACyF,WAAW,EAAE;MAAE1H,OAAO,EAAE2C,KAAK,CAACU;IAAU,CAAC,CAAC;IAC5DnD,QAAQ,CAACC,gBAAS,CAACmH,QAAQ,EAAE,0BAA0B,CAAC;IACxD,MAAMK,UAAU,GAAGpD,IAAI,CAACC,GAAG,CAAC,CAAC;IAC7B,MAAMoD,OAAO,GAAG,MAAM1K,sBAAa,CAAC2K,UAAU,CAACT,UAAU,EAAExC,UAAU,EAAEC,cAAc,CAAC;IACtF,MAAMiD,OAAO,GAAGvD,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGmD,UAAU;IACvC,MAAM/M,EAAE,CAACqE,MAAM,CAAC4F,cAAc,CAAC,CAACzH,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,IAAI,CAACwK,OAAO,EAAE;MACV3H,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAAC8F,UAAU,EAAE;QAC1B/G,OAAO,EAAE,wBAAwB;QACjChB,OAAO,EAAE2C,KAAK,CAACU;MACnB,CAAC,CAAC;MACF,MAAM,IAAIhG,KAAK,CAAC,4BAA4B,CAAC;IACjD;IAEA,MAAM6I,UAAU,CAACtB,UAAU,EAAEjC,KAAK,CAACqF,UAAU,EAAE,eAAe,CAAC;IAC/D,MAAMpL,YAAY,CAACgI,UAAU,EAAEjC,KAAK,CAACsF,eAAe,EAAE/M,MAAM,EAAE,QAAQ,CAAC;IACvE,MAAMqL,MAAM,CAAC;MAAEQ,WAAW,EAAElB,SAAS,GAAG,IAAI;MAAED,UAAU;MAAEkC;IAAQ,CAAC,CAAC;EACxE,CAAC;EAED,MAAMI,iBAAiB,GAAG,MAAAA,CAAA,KAAY;IAClC,IAAI,CAACvF,KAAK,CAACwF,aAAa,EAAE;MACtB,MAAM,IAAI9K,KAAK,CAAC,uBAAuBsF,KAAK,CAACU,SAAS,EAAE,CAAC;IAC7D;IACApD,GAAG,CAAC+B,IAAI,CAACC,mBAAQ,CAACmG,oBAAoB,EAAE;MAAEpI,OAAO,EAAE2C,KAAK,CAACU;IAAU,CAAC,CAAC;IACrEnD,QAAQ,CAACC,gBAAS,CAACkH,WAAW,EAAE,gBAAgB1E,KAAK,CAACU,SAAS,mBAAmB,CAAC;IACnF,MAAM;MAAEuC,UAAU;MAAEC;IAAU,CAAC,GAAG,MAAMV,QAAQ,CAACxC,KAAK,CAACwF,aAAa,EAAEvD,UAAU,CAAC;IACjF,MAAMsB,UAAU,CAACtB,UAAU,EAAEjC,KAAK,CAACqF,UAAU,EAAE,aAAa,CAAC;IAC7D,MAAMpL,YAAY,CAACgI,UAAU,EAAEjC,KAAK,CAACsF,eAAe,EAAE/M,MAAM,EAAE,aAAa,CAAC;IAC5E,MAAMqL,MAAM,CAAC;MAAEQ,WAAW,EAAElB,SAAS,GAAG,IAAI;MAAED,UAAU;MAAEkC,OAAO,EAAE;IAAE,CAAC,CAAC;EAC3E,CAAC;EAED,MAAMO,OAAO,GAAG,MAAAA,CAAA,KAAY;IACxB,MAAMzN,EAAE,CAACqE,MAAM,CAAC4F,cAAc,CAAC,CAACzH,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAMxC,EAAE,CAACqE,MAAM,CAAC2F,UAAU,CAAC,CAACxH,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EAC/C,CAAC;;EAED;EACA,MAAMkJ,QAAQ,GAAG,MAAM,IAAAgC,yBAAY,EAACpN,MAAM,CAACyJ,cAAc,CAAC;EAC1D,MAAMyC,UAAU,GAAG,IAAA1C,0BAAa,EAAC4B,QAAQ,CAACiC,cAAc,EAAErN,MAAM,CAACyJ,cAAc,CAAC;EAChF,MAAM6D,QAAQ,GACV,CAAC,CAAC7F,KAAK,CAACf,QAAQ,IAChBe,KAAK,CAACe,WAAW,KAAK4C,QAAQ,CAACiC,cAAc,IAC7C,CAAC,CAACnB,UAAU,KACX,MAAMxM,EAAE,CAACoE,MAAM,CAACoI,UAAU,CAAC,CAAC;EAEjC,IAAIoB,QAAQ,EAAE;IACV,IAAI;MACA,MAAMrB,cAAc,CAACC,UAAW,CAAC;MACjC;IACJ,CAAC,CAAC,OAAOzB,KAAK,EAAE;MACZ,MAAM0C,OAAO,CAAC,CAAC;MACf,IAAIhJ,OAAO,EAAE;QACTC,OAAO,CAACC,IAAI,CAAC,sDAAsD,EAAEoG,KAAK,CAAC;MAC/E;MACA,IAAI,CAAChD,KAAK,CAACwF,aAAa,EAAE;QACtBjI,QAAQ,CAACC,gBAAS,CAACsI,KAAK,EAAE,UAAW9C,KAAK,CAAW3E,OAAO,EAAE,CAAC;QAC/D,MAAM2E,KAAK;MACf;IACJ;EACJ;EAEA,IAAI;IACA,MAAMuC,iBAAiB,CAAC,CAAC;EAC7B,CAAC,CAAC,OAAOvC,KAAK,EAAE;IACZ,MAAM0C,OAAO,CAAC,CAAC;IACfnI,QAAQ,CAACC,gBAAS,CAACsI,KAAK,EAAE,UAAW9C,KAAK,CAAW3E,OAAO,EAAE,CAAC;IAC/D,MAAM2E,KAAK;EACf;AACJ,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeBlobUtil","_interopRequireDefault","_NativeBsPatch","_otaLogger","_otaMetadata","_GitHubRawStorage","_types","e","__esModule","default","OTA_DIR","ReactNativeBlobUtil","fs","dirs","DocumentDir","DEFAULT_STORAGE","GitHubRawStorageProvider","getStorage","config","storage","validateOtaConfig","baseUrl","channel","customServer","test","JSON","stringify","exports","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","verifyHash","path","expectedHash","hash","toLowerCase","assertSigned","filePath","signature","what","publicKey","valid","NativeBsPatch","verifySignature","catch","Error","downloadWithRetry","url","destPath","onProgress","headers","retryLimit","network","retry","timeout","timeoutMs","taskRef","partPath","task","fileCache","followRedirect","fetch","progress","received","total","percent","Math","floor","cancel","resp","status","respInfo","exists","unlink","mv","delay","pow","__DEV__","console","warn","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","ASSET_STORE_DIR","isSafeRelativePath","p","startsWith","includes","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","OtaStatus","SYNCING_ASSETS","versionDir","assets","manifest","data","parse","filter","ext","originalPath","message","length","Map","ensureDir","dir","has","set","then","ok","undefined","mkdir","get","processed","downloaded","failed","index","worker","asset","storePath","getLocalAssetPath","getAssetUrl","dest","parts","slice","join","cp","round","all","Array","from","min","emit","OtaEvent","DOWNLOAD_SUCCESS","getLocalPatchPath","patch","docDir","appVersion","id","selectUpdate","patchList","localV","targetV","forTarget","toVersion","platform","Platform","OS","find","filename","fromVersion","updateInFlight","applyOtaPatchInternal","args","runUpdatePipeline","options","autoReload","allowDebugUpdates","UP_TO_DATE","createOtaLogger","onEvent","ensureOtaDir","totalStart","Date","now","finalBundlePath","getBundlePath","baseAppVersion","tempBundle","localPatchPath","minAppVersion","currentAppVer","getAppVersion","VERSION_INCOMPATIBLE","download","remoteName","DOWNLOAD_START","dlStart","getUpdateFileUrl","dlError","DOWNLOAD_FAIL","error","downloadMs","sizeBytes","stat","size","durationMs","sizeKB","assertHash","expected","actual","HASH_MISMATCH","metadata","commit","metrics","manifestUrl","nativeAppVersion","updateMetadata","registerNewVersion","totalMs","PATCH_SUCCESS","patchSizeKB","SUCCESS","fromCache","reloadBundle","applyPatchFile","sourcePath","DOWNLOADING","APPLYING","sigError","SIGNATURE_INVALID","baseHash","PATCH_START","applyStart","success","applyPatch","applyMs","PATCH_FAIL","bundleHash","bundleSignature","installFullBundle","fullBundleUrl","FALLBACK_FULL_BUNDLE","cleanup","loadMetadata","currentVersion","canPatch","ERROR"],"sourceRoot":"../../../src","sources":["ota/otaCore.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -13,7 +13,14 @@ export function reloadBundle() {
|
|
|
13
13
|
export * from './ota/otaLogger';
|
|
14
14
|
export * from './ota/OtaProvider';
|
|
15
15
|
export * from './ota/types';
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated No-ops since 3.1: OTA assets are placed next to the bundle, where React
|
|
19
|
+
* Native resolves them by default, so no source transformer is needed.
|
|
20
|
+
*/
|
|
21
|
+
export const initOtaAssetResolver = async _version => {};
|
|
22
|
+
/** @deprecated No-op since 3.1, see initOtaAssetResolver. */
|
|
23
|
+
export const resetOtaAssetResolver = () => {};
|
|
17
24
|
export { GitHubRawStorageProvider } from './ota/storage/GitHubRawStorage';
|
|
18
25
|
export default {
|
|
19
26
|
applyPatch,
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeBsPatch","applyPatch","oldBundlePath","newBundlePath","patchPath","markAsHealthy","reloadBundle","initOtaAssetResolver","resetOtaAssetResolver","GitHubRawStorageProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,OAAO,SAASC,UAAUA,CACxBC,aAAqB,EACrBC,aAAqB,EACrBC,SAAiB,EACC;EAClB,OAAOJ,aAAa,CAACC,UAAU,CAACC,aAAa,EAAEC,aAAa,EAAEC,SAAS,CAAC;AAC1E;AAEA,OAAO,SAASC,aAAaA,CAAA,EAAS;EACpC,OAAOL,aAAa,CAACK,aAAa,CAAC,CAAC;AACtC;AAEA,OAAO,SAASC,YAAYA,CAAA,EAAS;EACnC,OAAON,aAAa,CAACM,YAAY,CAAC,CAAC;AACrC;AAEA,cAAc,iBAAiB;AAC/B,cAAc,mBAAmB;AACjC,cAAc,aAAa;
|
|
1
|
+
{"version":3,"names":["NativeBsPatch","applyPatch","oldBundlePath","newBundlePath","patchPath","markAsHealthy","reloadBundle","initOtaAssetResolver","_version","resetOtaAssetResolver","GitHubRawStorageProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,OAAO,SAASC,UAAUA,CACxBC,aAAqB,EACrBC,aAAqB,EACrBC,SAAiB,EACC;EAClB,OAAOJ,aAAa,CAACC,UAAU,CAACC,aAAa,EAAEC,aAAa,EAAEC,SAAS,CAAC;AAC1E;AAEA,OAAO,SAASC,aAAaA,CAAA,EAAS;EACpC,OAAOL,aAAa,CAACK,aAAa,CAAC,CAAC;AACtC;AAEA,OAAO,SAASC,YAAYA,CAAA,EAAS;EACnC,OAAON,aAAa,CAACM,YAAY,CAAC,CAAC;AACrC;AAEA,cAAc,iBAAiB;AAC/B,cAAc,mBAAmB;AACjC,cAAc,aAAa;;AAE3B;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAG,MAAOC,QAAgB,IAAoB,CAAC,CAAC;AACjF;AACA,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAY,CAAC,CAAC;AACnD,SAASC,wBAAwB,QAAQ,gCAAgC;AAEzE,eAAe;EACbT,UAAU;EACVK,YAAY;EACZD;AACF,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@ import React, { createContext, useCallback, useContext, useEffect, useMemo, useR
|
|
|
4
4
|
import { ActivityIndicator, AppState, Platform, StyleSheet, Text, View } from 'react-native';
|
|
5
5
|
import ReactNativeBlobUtil from 'react-native-blob-util';
|
|
6
6
|
import NativeBsPatch from '../NativeBsPatch';
|
|
7
|
-
import { initOtaAssetResolver } from './otaAssetResolver';
|
|
8
7
|
import { applyOtaPatchInternal, fetchOtaManifest, selectUpdate, validateOtaConfig } from './otaCore';
|
|
9
8
|
import { createOtaLogger, OtaEvent } from './otaLogger';
|
|
10
9
|
import { loadMetadata, markHealthy } from './otaMetadata';
|
|
@@ -90,11 +89,7 @@ export function OtaProvider({
|
|
|
90
89
|
await applyOtaPatchInternal(directPatch, effectiveConfig, (s, msg, m) => {
|
|
91
90
|
setMessage(msg);
|
|
92
91
|
setStatus(s);
|
|
93
|
-
if (m)
|
|
94
|
-
setMetrics(m);
|
|
95
|
-
// Initialize asset resolver for the new version immediately
|
|
96
|
-
initOtaAssetResolver(targetVer);
|
|
97
|
-
}
|
|
92
|
+
if (m) setMetrics(m);
|
|
98
93
|
}, percent => {
|
|
99
94
|
setProgressIfChanged(percent);
|
|
100
95
|
});
|
|
@@ -128,7 +123,6 @@ export function OtaProvider({
|
|
|
128
123
|
pendingReloadRef.current = true;
|
|
129
124
|
setStatus(OtaStatus.UP_TO_DATE);
|
|
130
125
|
setMessage(`Update V${targetV} ready for next launch`);
|
|
131
|
-
// Not initOtaAssetResolver: the running bundle still needs its own manifest
|
|
132
126
|
if (m) setMetrics(m);
|
|
133
127
|
}
|
|
134
128
|
}, () => {},
|
|
@@ -231,11 +225,6 @@ export function OtaProvider({
|
|
|
231
225
|
// Display current version immediately
|
|
232
226
|
setCurrentVersion(metadata.currentVersion);
|
|
233
227
|
|
|
234
|
-
// Initialize asset resolver with current version (if not base)
|
|
235
|
-
if (metadata.currentVersion > config.baseAppVersion) {
|
|
236
|
-
await initOtaAssetResolver(metadata.currentVersion);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
228
|
// (Native layer handled crash detection and any necessary rollback)
|
|
240
229
|
if (configError) {
|
|
241
230
|
console.error(configError);
|