react-native-bspatch 3.0.6 → 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 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
- - **Content-addressed asset store** — images/assets downloaded once per content hash and redirected via `setCustomSourceTransformer`
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
 
@@ -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 reuse it across versions.
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
- - Asset redirection via `setCustomSourceTransformer` requires React Native **0.69+**
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
@@ -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
- Object.defineProperty(exports, "resetOtaAssetResolver", {
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","_otaAssetResolver","_GitHubRawStorage","e","__esModule","default","applyPatch","oldBundlePath","newBundlePath","patchPath","NativeBsPatch","markAsHealthy","reloadBundle","_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;AACA,IAAAW,iBAAA,GAAAhB,OAAA;AACA,IAAAiB,iBAAA,GAAAjB,OAAA;AAA0E,SAAAD,uBAAAmB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AApBnE,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;AAAC,IAAAC,QAAA,GAAAlB,OAAA,CAAAU,OAAA,GAQc;EACbC,UAAU;EACVM,YAAY;EACZD;AACF,CAAC","ignoreList":[]}
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 and syncs assets from the content-addressed asset store.
185
- * Only downloads assets that are not already cached locally.
186
- *
187
- * @param assetManifestUrl URL to the asset-manifest.json for this version
188
- * @param config OTA configuration
189
- * @param log Logger instance
190
- * @param onStatus Status update callback
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(`Manifest fetch failed with status ${resp.respInfo.status}`);
208
+ throw new Error(`status ${resp.respInfo.status}`);
216
209
  }
217
-
218
- // Save manifest to disk for future reloads (AssetResolver needs it)
219
- if (!(await _reactNativeBlobUtil.default.fs.exists(versionDir))) {
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 manifest leaves images unresolved
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 downloadNext = async () => {
257
- if (index >= assets.length) return;
258
- const asset = assets[index++];
259
- const filename = `${asset.hash}.${asset.ext}`;
260
- const localPath = `${ASSET_STORE_DIR}/${filename}`;
261
-
262
- // Check if already cached
263
- if (await _reactNativeBlobUtil.default.fs.exists(localPath)) {
264
- cached++;
265
- updateProgress();
266
- await downloadNext(); // Start next download
267
- return;
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
- } else {
280
- await downloadWithRetry(assetUrl, localPath, config, () => {});
281
- if (!(await verifyHash(localPath, asset.hash))) {
282
- await _reactNativeBlobUtil.default.fs.unlink(localPath).catch(() => {});
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
- downloaded++;
286
- log.emit(_otaLogger.OtaEvent.DOWNLOAD_SUCCESS, {
287
- message: `Asset downloaded: ${filename}`
288
- });
289
- }
290
- } catch (e) {
291
- if (__DEV__) {
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
- failed++; // keep going, fail the sync at the end
295
- } finally {
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
- // Start initial batch of downloads
302
- const initialWorkers = Math.min(maxConcurrency, assets.length);
303
- const workers = Array(initialWorkers).fill(null).map(() => downloadNext());
304
- await Promise.all(workers);
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
- onStatus(_types.OtaStatus.SYNCING_ASSETS, `Assets synced (${downloaded} new, ${cached} cached)`);
309
- console.log(`[otaCore] Assets: ${downloaded} downloaded, ${cached} from cache`);
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":"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","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":[]}
@@ -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
- export { initOtaAssetResolver, resetOtaAssetResolver } from './ota/otaAssetResolver';
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,
@@ -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;AAC3B,SAASC,oBAAoB,EAAEC,qBAAqB,QAAQ,wBAAwB;AACpF,SAASC,wBAAwB,QAAQ,gCAAgC;AAEzE,eAAe;EACbR,UAAU;EACVK,YAAY;EACZD;AACF,CAAC","ignoreList":[]}
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);