react-native-bspatch 1.0.8 → 1.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.
Files changed (34) hide show
  1. package/README.md +18 -0
  2. package/lib/commonjs/ota/OtaProvider.js +27 -4
  3. package/lib/commonjs/ota/OtaProvider.js.map +1 -1
  4. package/lib/commonjs/ota/otaAssetResolver.js +14 -4
  5. package/lib/commonjs/ota/otaAssetResolver.js.map +1 -1
  6. package/lib/commonjs/ota/otaCore.js +4 -0
  7. package/lib/commonjs/ota/otaCore.js.map +1 -1
  8. package/lib/commonjs/ota/otaMetadata.js +3 -0
  9. package/lib/commonjs/ota/otaMetadata.js.map +1 -1
  10. package/lib/commonjs/ota/types.js.map +1 -1
  11. package/lib/module/ota/OtaProvider.js +27 -4
  12. package/lib/module/ota/OtaProvider.js.map +1 -1
  13. package/lib/module/ota/otaAssetResolver.js +14 -4
  14. package/lib/module/ota/otaAssetResolver.js.map +1 -1
  15. package/lib/module/ota/otaCore.js +4 -0
  16. package/lib/module/ota/otaCore.js.map +1 -1
  17. package/lib/module/ota/otaMetadata.js +3 -0
  18. package/lib/module/ota/otaMetadata.js.map +1 -1
  19. package/lib/module/ota/types.js.map +1 -1
  20. package/lib/typescript/ota/OtaProvider.d.ts.map +1 -1
  21. package/lib/typescript/ota/otaAssetResolver.d.ts.map +1 -1
  22. package/lib/typescript/ota/otaCore.d.ts.map +1 -1
  23. package/lib/typescript/ota/otaMetadata.d.ts.map +1 -1
  24. package/lib/typescript/ota/types.d.ts +5 -0
  25. package/lib/typescript/ota/types.d.ts.map +1 -1
  26. package/package.json +1 -1
  27. package/src/ota/OtaProvider.tsx +34 -4
  28. package/src/ota/otaAssetResolver.ts +15 -5
  29. package/src/ota/otaCore.ts +8 -0
  30. package/src/ota/otaMetadata.ts +4 -0
  31. package/src/ota/types.ts +5 -0
  32. package/tools/build_ota.sh +29 -16
  33. package/tools/update_registry.js +0 -47
  34. package/tools/upload_ota_custom.sh +4 -4
@@ -7,6 +7,7 @@ const ASSET_STORE_DIR = `${ReactNativeBlobUtil.fs.dirs.DocumentDir}/ota/assets`;
7
7
  let assetManifest = null;
8
8
  let assetMap = new Map();
9
9
  let assetList = [];
10
+ let assetLookupCache = new Map();
10
11
  let isPatched = false;
11
12
 
12
13
  /**
@@ -45,6 +46,7 @@ export const initOtaAssetResolver = async version => {
45
46
  });
46
47
  assetMap = map;
47
48
  assetList = list;
49
+ assetLookupCache = new Map();
48
50
  log(`Initialized version ${version} (${list.length} assets, mapped for O(1) lookup)`);
49
51
  patchAssetResolver();
50
52
  } else {
@@ -76,15 +78,22 @@ const patchAssetResolver = () => {
76
78
  return res;
77
79
  }
78
80
  const normUri = uri.toLowerCase().replace(/\//g, '_').replace(/^(assets_)+/, '');
81
+ const cached = assetLookupCache.get(normUri);
79
82
 
80
- // 1. Fast O(1) Map lookup
81
- let found = assetMap.get(normUri);
83
+ // 1. Fast cached lookup from previous exact/fuzzy resolution
84
+ let found = cached === undefined ? undefined : cached;
82
85
 
83
- // 2. Fallback O(N) fuzzy matching (without regex overhead)
84
- if (!found) {
86
+ // 2. Fast O(1) Map lookup
87
+ if (found === undefined) {
88
+ found = assetMap.get(normUri) ?? undefined;
89
+ }
90
+
91
+ // 3. Fallback O(N) fuzzy matching (without regex overhead)
92
+ if (found === undefined) {
85
93
  found = assetList.find(a => {
86
94
  return a._normPath.endsWith(normUri) || normUri.endsWith(a._normPath);
87
95
  });
96
+ assetLookupCache.set(normUri, found ?? null);
88
97
  }
89
98
  if (found) {
90
99
  if (found.isBase) {
@@ -133,6 +142,7 @@ export const resetOtaAssetResolver = () => {
133
142
  assetManifest = null;
134
143
  assetMap = new Map();
135
144
  assetList = [];
145
+ assetLookupCache = new Map();
136
146
  isPatched = false;
137
147
  };
138
148
  //# sourceMappingURL=otaAssetResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Image","Platform","ReactNativeBlobUtil","NativeBsPatch","ASSET_STORE_DIR","fs","dirs","DocumentDir","assetManifest","assetMap","Map","assetList","isPatched","log","msg","formatted","console","logNative","initOtaAssetResolver","version","otaDir","versionDir","manifestPath","exists","content","readFile","JSON","parse","map","list","assets","forEach","a","normPath","originalPath","toLowerCase","replace","_normPath","set","length","patchAssetResolver","e","message","resolveAssetSource","setCustomSourceTransformer","resolver","res","defaultAsset","uri","startsWith","normUri","found","get","find","endsWith","isBase","OS","finalUri","MainBundleDir","localPath","hash","ext","includes","resetOtaAssetResolver"],"sourceRoot":"../../../src","sources":["ota/otaAssetResolver.ts"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,cAAc;AAC9C,OAAOC,mBAAmB,MAAM,wBAAwB;AACxD,OAAOC,aAAa,MAAM,kBAAkB;AAE5C,MAAMC,eAAe,GAAG,GAAGF,mBAAmB,CAACG,EAAE,CAACC,IAAI,CAACC,WAAW,aAAa;AAc/E,IAAIC,aAAmC,GAAG,IAAI;AAC9C,IAAIC,QAAoC,GAAG,IAAIC,GAAG,CAAC,CAAC;AACpD,IAAIC,SAA0B,GAAG,EAAE;AACnC,IAAIC,SAAS,GAAG,KAAK;;AAErB;AACA;AACA;AACA,MAAMC,GAAG,GAAIC,GAAW,IAAW;EAC/B,MAAMC,SAAS,GAAG,sBAAsBD,GAAG,EAAE;EAC7CE,OAAO,CAACH,GAAG,CAACE,SAAS,CAAC;EACtB,IAAIZ,aAAa,EAAEc,SAAS,EAAE;IAC1Bd,aAAa,CAACc,SAAS,CAACF,SAAS,CAAC;EACtC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,oBAAoB,GAAG,MAAOC,OAAe,IAAoB;EAC1E,MAAMC,MAAM,GAAG,GAAGlB,mBAAmB,CAACG,EAAE,CAACC,IAAI,CAACC,WAAW,MAAM;EAC/D,MAAMc,UAAU,GAAG,GAAGD,MAAM,KAAKD,OAAO,EAAE;EAC1C,MAAMG,YAAY,GAAG,GAAGD,UAAU,oBAAoBF,OAAO,OAAO;EAEpE,IAAI;IACA,IAAI,MAAMjB,mBAAmB,CAACG,EAAE,CAACkB,MAAM,CAACD,YAAY,CAAC,EAAE;MACnD,MAAME,OAAO,GAAG,MAAMtB,mBAAmB,CAACG,EAAE,CAACoB,QAAQ,CACjDH,YAAY,EACZ,MACJ,CAAC;MACDd,aAAa,GAAGkB,IAAI,CAACC,KAAK,CAACH,OAAO,CAAkB;;MAEpD;MACA,MAAMI,GAAG,GAAG,IAAIlB,GAAG,CAAwB,CAAC;MAC5C,MAAMmB,IAAI,GAAGrB,aAAa,CAACsB,MAAM,IAAI,EAAE;MACvCD,IAAI,CAACE,OAAO,CAAEC,CAAgB,IAAK;QAC/B,MAAMC,QAAQ,GAAGD,CAAC,CAACE,YAAY,CAC1BC,WAAW,CAAC,CAAC,CACbC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/BJ,CAAC,CAACK,SAAS,GAAGJ,QAAQ,CAAC,CAAC;QACxBL,GAAG,CAACU,GAAG,CAACL,QAAQ,EAAED,CAAC,CAAC;MACxB,CAAC,CAAC;MACFvB,QAAQ,GAAGmB,GAAG;MACdjB,SAAS,GAAGkB,IAAI;MAEhBhB,GAAG,CACC,uBAAuBM,OAAO,KAAKU,IAAI,CAACU,MAAM,kCAClD,CAAC;MACDC,kBAAkB,CAAC,CAAC;IACxB,CAAC,MAAM;MACH3B,GAAG,CAAC,0BAA0BS,YAAY,EAAE,CAAC;IACjD;EACJ,CAAC,CAAC,OAAOmB,CAAC,EAAE;IACR5B,GAAG,CAAC,4BAA6B4B,CAAC,CAAWC,OAAO,EAAE,CAAC;EAC3D;AACJ,CAAC;;AAID;AACA;AACA;AACA;AACA,MAAMF,kBAAkB,GAAGA,CAAA,KAAY;EACnC,IAAI5B,SAAS,EAAE;EACfA,SAAS,GAAG,IAAI;EAEhB,MAAM+B,kBAAkB,GAAI3C,KAAK,CAQ9B2C,kBAAkB;EAErB,IACIA,kBAAkB,IAClB,OAAOA,kBAAkB,CAACC,0BAA0B,KAAK,UAAU,EACrE;IACED,kBAAkB,CAACC,0BAA0B,CAAEC,QAAQ,IAAK;MACxD;MACA,MAAMC,GAAG,GAAGD,QAAQ,CAACE,YAAY,CAAC,CAAC;MACnC,IAAI,CAACD,GAAG,IAAI,CAACtC,aAAa,EAAE,OAAOsC,GAAG;MAEtC,MAAME,GAAG,GAAGF,GAAG,CAACE,GAAG;;MAEnB;MACA;MACA,IAAI,CAACA,GAAG,IAAIA,GAAG,CAACC,UAAU,CAAC,MAAM,CAAC,IAAID,GAAG,CAACC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1D,OAAOH,GAAG;MACd;MAEA,MAAMI,OAAO,GAAGF,GAAG,CACdb,WAAW,CAAC,CAAC,CACbC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;;MAE/B;MACA,IAAIe,KAAK,GAAG1C,QAAQ,CAAC2C,GAAG,CAACF,OAAO,CAAC;;MAEjC;MACA,IAAI,CAACC,KAAK,EAAE;QACRA,KAAK,GAAGxC,SAAS,CAAC0C,IAAI,CAAErB,CAAgB,IAAK;UACzC,OACIA,CAAC,CAACK,SAAS,CAACiB,QAAQ,CAACJ,OAAO,CAAC,IAC7BA,OAAO,CAACI,QAAQ,CAACtB,CAAC,CAACK,SAAS,CAAC;QAErC,CAAC,CAAC;MACN;MAEA,IAAIc,KAAK,EAAE;QACP,IAAIA,KAAK,CAACI,MAAM,EAAE;UACd,IAAItD,QAAQ,CAACuD,EAAE,KAAK,KAAK,EAAE;YACvB;YACA,MAAMC,QAAQ,GAAG,UAAUvD,mBAAmB,CAACG,EAAE,CAACC,IAAI,CAACoD,aAAa,IAAIP,KAAK,CAACjB,YAAY,EAAE;YAC5FrB,GAAG,CAAC,sBAAsBmC,GAAG,oBAAoBS,QAAQ,GAAG,CAAC;YAC7D,OAAO;cAAE,GAAGX,GAAG;cAAEE,GAAG,EAAES;YAAS,CAAC;UACpC,CAAC,MAAM;YACH;YACA,OAAOX,GAAG;UACd;QACJ;QAEA,MAAMa,SAAS,GAAG,GAAGvD,eAAe,IAAI+C,KAAK,CAACS,IAAI,IAAIT,KAAK,CAACU,GAAG,EAAE;QACjE;QACA,MAAMJ,QAAQ,GAAG,UAAUE,SAAS,EAAE;QACtC9C,GAAG,CAAC,eAAemC,GAAG,OAAOG,KAAK,CAACS,IAAI,YAAYH,QAAQ,GAAG,CAAC;QAC/D,OAAO;UAAE,GAAGX,GAAG;UAAEE,GAAG,EAAES;QAAS,CAAC;MACpC;;MAEA;MACA,IAAIT,GAAG,CAACc,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACxBjD,GAAG,CAAC,SAASmC,GAAG,0BAA0B,CAAC;MAC/C;MAEA,OAAOF,GAAG;IACd,CAAC,CAAC;IACFjC,GAAG,CAAC,gDAAgD,CAAC;EACzD,CAAC,MAAM;IACHA,GAAG,CACC,kFACJ,CAAC;EACL;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMkD,qBAAqB,GAAGA,CAAA,KAAY;EAC7CvD,aAAa,GAAG,IAAI;EACpBC,QAAQ,GAAG,IAAIC,GAAG,CAAC,CAAC;EACpBC,SAAS,GAAG,EAAE;EACdC,SAAS,GAAG,KAAK;AACrB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Image","Platform","ReactNativeBlobUtil","NativeBsPatch","ASSET_STORE_DIR","fs","dirs","DocumentDir","assetManifest","assetMap","Map","assetList","assetLookupCache","isPatched","log","msg","formatted","console","logNative","initOtaAssetResolver","version","otaDir","versionDir","manifestPath","exists","content","readFile","JSON","parse","map","list","assets","forEach","a","normPath","originalPath","toLowerCase","replace","_normPath","set","length","patchAssetResolver","e","message","resolveAssetSource","setCustomSourceTransformer","resolver","res","defaultAsset","uri","startsWith","normUri","cached","get","found","undefined","find","endsWith","isBase","OS","finalUri","MainBundleDir","localPath","hash","ext","includes","resetOtaAssetResolver"],"sourceRoot":"../../../src","sources":["ota/otaAssetResolver.ts"],"mappings":"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","ignoreList":[]}
@@ -399,6 +399,10 @@ export const getLocalPatchPath = (patch, docDir) => `${docDir}/ota/patch-${patch
399
399
  * On failure → fallback to full bundle download if URL available.
400
400
  */
401
401
  export const applyOtaPatchInternal = async (patch, config, onStatus, onProgress) => {
402
+ if (__DEV__ && config.allowDebugUpdates !== true) {
403
+ onStatus(OtaStatus.UP_TO_DATE, 'OTA updates are disabled while running a debug build.');
404
+ throw new Error('OTA updates are disabled while running a debug build.');
405
+ }
402
406
  const log = createOtaLogger(config.onEvent);
403
407
  await ensureOtaDir();
404
408
  const totalStart = Date.now();
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","ReactNativeBlobUtil","CryptoJS","NativeBsPatch","createOtaLogger","OtaEvent","ensureOtaDir","getBundlePath","loadMetadata","registerNewVersion","saveMetadata","CustomStorageProvider","GitHubReleaseStorageProvider","GitHubRawStorageProvider","OtaStatus","OtaStorageType","OTA_DIR","fs","dirs","DocumentDir","DEFAULT_STORAGE","GITHUB_STORAGE","GITHUB_RAW_STORAGE","getStorage","config","storage","storageType","GITHUB","GITHUB_RAW","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","verifyHash","path","expectedHash","hash","toLowerCase","verifySignature","filePath","signature","publicKey","fileData","readFile","fileWords","enc","Base64","parse","keyWords","signatureWords","hmac","HmacSHA256","isValid","toString","__DEV__","console","warn","error","decompressGzip","endsWith","decompressedPath","replace","success","Error","downloadWithRetry","url","destPath","onProgress","headers","retryLimit","network","retry","timeout","timeoutMs","taskRef","task","fileCache","followRedirect","fetch","progress","received","total","percent","Math","floor","cancel","e","delay","pow","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","message","bundledPatches","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","SYNCING_ASSETS","versionDir","manifestPath","exists","mkdir","assets","resp","respInfo","status","manifestData","data","JSON","stringify","writeFile","manifest","filter","isBase","length","processed","downloaded","cached","updateProgress","round","maxConcurrency","index","downloadNext","asset","filename","ext","localPath","assetUrl","getAssetUrl","emit","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","id","applyOtaPatchInternal","onEvent","totalStart","Date","now","finalBundlePath","toVersion","baseAppVersion","tempBundle","localPatchPath","minAppVersion","appVersion","VERSION_INCOMPATIBLE","downloadMs","patchSizeBytes","fromCache","stat","size","DOWNLOAD_START","DOWNLOADING","dlStart","getUpdateFileUrl","durationMs","sizeKB","dlError","DOWNLOAD_FAIL","actualPatchPath","compressed","DECOMPRESS_START","APPLYING","DECOMPRESS_SUCCESS","sigValid","SIGNATURE_INVALID","manifestUrl","metadata","oldBundlePath","currentVersion","bundleFilename","OS","actualOldPath","otaStoredPath","extractBundleFromAssets","oldStat","patchStat","baseHash","HASH_VERIFY_START","actualSourceHash","srcSize","srcStat","fromVersion","HASH_MISMATCH","expected","actual","HASH_VERIFY_SUCCESS","PATCH_START","applyStart","applyPatch","applyMs","PATCH_FAIL","bundleHash","unlink","mv","newMetadata","totalMs","PATCH_SUCCESS","SUCCESS","patchSizeKB","markAsHealthy","reloadBundle","fullBundleUrl","actualHash","fallbackError","ERROR"],"sourceRoot":"../../../src","sources":["ota/otaCore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","ReactNativeBlobUtil","CryptoJS","NativeBsPatch","createOtaLogger","OtaEvent","ensureOtaDir","getBundlePath","loadMetadata","registerNewVersion","saveMetadata","CustomStorageProvider","GitHubReleaseStorageProvider","GitHubRawStorageProvider","OtaStatus","OtaStorageType","OTA_DIR","fs","dirs","DocumentDir","DEFAULT_STORAGE","GITHUB_STORAGE","GITHUB_RAW_STORAGE","getStorage","config","storage","storageType","GITHUB","GITHUB_RAW","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","verifyHash","path","expectedHash","hash","toLowerCase","verifySignature","filePath","signature","publicKey","fileData","readFile","fileWords","enc","Base64","parse","keyWords","signatureWords","hmac","HmacSHA256","isValid","toString","__DEV__","console","warn","error","decompressGzip","endsWith","decompressedPath","replace","success","Error","downloadWithRetry","url","destPath","onProgress","headers","retryLimit","network","retry","timeout","timeoutMs","taskRef","task","fileCache","followRedirect","fetch","progress","received","total","percent","Math","floor","cancel","e","delay","pow","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","message","bundledPatches","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","SYNCING_ASSETS","versionDir","manifestPath","exists","mkdir","assets","resp","respInfo","status","manifestData","data","JSON","stringify","writeFile","manifest","filter","isBase","length","processed","downloaded","cached","updateProgress","round","maxConcurrency","index","downloadNext","asset","filename","ext","localPath","assetUrl","getAssetUrl","emit","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","id","applyOtaPatchInternal","allowDebugUpdates","UP_TO_DATE","onEvent","totalStart","Date","now","finalBundlePath","toVersion","baseAppVersion","tempBundle","localPatchPath","minAppVersion","appVersion","VERSION_INCOMPATIBLE","downloadMs","patchSizeBytes","fromCache","stat","size","DOWNLOAD_START","DOWNLOADING","dlStart","getUpdateFileUrl","durationMs","sizeKB","dlError","DOWNLOAD_FAIL","actualPatchPath","compressed","DECOMPRESS_START","APPLYING","DECOMPRESS_SUCCESS","sigValid","SIGNATURE_INVALID","manifestUrl","metadata","oldBundlePath","currentVersion","bundleFilename","OS","actualOldPath","otaStoredPath","extractBundleFromAssets","oldStat","patchStat","baseHash","HASH_VERIFY_START","actualSourceHash","srcSize","srcStat","fromVersion","HASH_MISMATCH","expected","actual","HASH_VERIFY_SUCCESS","PATCH_START","applyStart","applyPatch","applyMs","PATCH_FAIL","bundleHash","unlink","mv","newMetadata","totalMs","PATCH_SUCCESS","SUCCESS","patchSizeKB","markAsHealthy","reloadBundle","fullBundleUrl","actualHash","fallbackError","ERROR"],"sourceRoot":"../../../src","sources":["ota/otaCore.ts"],"mappings":"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","ignoreList":[]}
@@ -97,6 +97,9 @@ export const registerNewVersion = (metadata, newVersion) => {
97
97
  */
98
98
  export const markHealthy = async defaultVersion => {
99
99
  const metadata = await loadMetadata(defaultVersion);
100
+ if (metadata.lastLaunchSuccessful && metadata.rollbackCount === 0) {
101
+ return metadata;
102
+ }
100
103
  const updated = {
101
104
  ...metadata,
102
105
  lastLaunchSuccessful: true,
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","ReactNativeBlobUtil","OTA_DIR","fs","dirs","DocumentDir","METADATA_PATH","saveLock","Promise","resolve","ensureOtaDir","exists","mkdir","loadMetadata","defaultVersion","content","readFile","JSON","parse","e","console","warn","currentVersion","previousVersions","rollbackCount","lastLaunchSuccessful","saveMetadata","metadata","prevLock","settleFn","writeFile","stringify","error","Error","message","MAX_VERSION_HISTORY","registerNewVersion","newVersion","versions","uniquePrevious","Array","from","Set","filter","v","slice","markHealthy","updated","getBundlePath","version","baseVersion","filename","select","android","ios","default"],"sourceRoot":"../../../src","sources":["ota/otaMetadata.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,mBAAmB,MAAM,wBAAwB;AAGxD,MAAMC,OAAO,GAAG,GAAGD,mBAAmB,CAACE,EAAE,CAACC,IAAI,CAACC,WAAW,MAAM;AAChE,MAAMC,aAAa,GAAG,GAAGJ,OAAO,gBAAgB;;AAEhD;AACA,IAAIK,QAAuB,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;;AAE/C;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAG,MAAAA,CAAA,KAA2B;EACnD,IAAI,EAAE,MAAMT,mBAAmB,CAACE,EAAE,CAACQ,MAAM,CAACT,OAAO,CAAC,CAAC,EAAE;IACjD,MAAMD,mBAAmB,CAACE,EAAE,CAACS,KAAK,CAACV,OAAO,CAAC;EAC/C;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,YAAY,GAAG,MACxBC,cAAsB,IACC;EACvB,IAAI;IACA,IAAI,MAAMb,mBAAmB,CAACE,EAAE,CAACQ,MAAM,CAACL,aAAa,CAAC,EAAE;MACpD,MAAMS,OAAO,GAAG,MAAMd,mBAAmB,CAACE,EAAE,CAACa,QAAQ,CACjDV,aAAa,EACb,MACJ,CAAC;MACD,OAAOW,IAAI,CAACC,KAAK,CAACH,OAAO,CAAC;IAC9B;EACJ,CAAC,CAAC,OAAOI,CAAC,EAAE;IACRC,OAAO,CAACC,IAAI,CAAC,wCAAwC,EAAEF,CAAC,CAAC;EAC7D;EAEA,OAAO;IACHG,cAAc,EAAER,cAAc;IAC9BS,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,CAAC;IAChBC,oBAAoB,EAAE;EAC1B,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAG,MAAOC,QAAqB,IAAoB;EACxE;EACA,MAAMC,QAAQ,GAAGrB,QAAQ;EACzB,IAAIsB,QAAkC;EACtCtB,QAAQ,GAAG,IAAIC,OAAO,CAAOC,OAAO,IAAI;IAAEoB,QAAQ,GAAGpB,OAAO;EAAE,CAAC,CAAC;EAEhE,IAAI;IACA,MAAMmB,QAAQ;IACd,MAAMlB,YAAY,CAAC,CAAC;IACpB,MAAMT,mBAAmB,CAACE,EAAE,CAAC2B,SAAS,CAClCxB,aAAa,EACbW,IAAI,CAACc,SAAS,CAACJ,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EACjC,MACJ,CAAC;EACL,CAAC,CAAC,OAAOR,CAAC,EAAE;IACRC,OAAO,CAACY,KAAK,CAAC,wCAAwC,EAAEb,CAAC,CAAC;IAC1D,MAAM,IAAIc,KAAK,CAAC,4BAA6Bd,CAAC,CAAWe,OAAO,EAAE,CAAC;EACvE,CAAC,SAAS;IACNL,QAAQ,CAAE,CAAC;EACf;AACJ,CAAC;;AAED;AACA,OAAO,MAAMM,mBAAmB,GAAG,CAAC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAC9BT,QAAqB,EACrBU,UAAkB,KACJ;EACd,MAAMC,QAAQ,GAAG,CACbX,QAAQ,CAACL,cAAc,EACvB,IAAIK,QAAQ,CAACJ,gBAAgB,IAAI,EAAE,CAAC,CACvC;EACD;EACA,MAAMgB,cAAc,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAIC,GAAG,CAACJ,QAAQ,CAAC,CAAC,CAC/CK,MAAM,CAACC,CAAC,IAAIA,CAAC,KAAKP,UAAU,CAAC,CAC7BQ,KAAK,CAAC,CAAC,EAAEV,mBAAmB,CAAC;EAElC,OAAO;IACH,GAAGR,QAAQ;IACXL,cAAc,EAAEe,UAAU;IAC1Bd,gBAAgB,EAAEgB,cAAc;IAChCf,aAAa,EAAE,CAAC;IAChBC,oBAAoB,EAAE,IAAI,CAAE;EAChC,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMqB,WAAW,GAAG,MACvBhC,cAAsB,IACC;EACvB,MAAMa,QAAQ,GAAG,MAAMd,YAAY,CAACC,cAAc,CAAC;EACnD,MAAMiC,OAAoB,GAAG;IACzB,GAAGpB,QAAQ;IACXF,oBAAoB,EAAE,IAAI;IAC1BD,aAAa,EAAE;EACnB,CAAC;EACD,MAAME,YAAY,CAACqB,OAAO,CAAC;EAC3B,OAAOA,OAAO;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGA,CACzBC,OAAe,EACfC,WAAmB,KACH;EAChB,IAAID,OAAO,KAAKC,WAAW,EAAE;IACzB,OAAO,IAAI;EACf;EACA,MAAMC,QAAQ,GAAGnD,QAAQ,CAACoD,MAAM,CAAC;IAC7BC,OAAO,EAAE,sBAAsB;IAC/BC,GAAG,EAAE,eAAe;IACpBC,OAAO,EAAE;EACb,CAAC,CAAC;EACF,OAAO,GAAGrD,OAAO,KAAK+C,OAAO,IAAIE,QAAQ,EAAE;AAC/C,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","ReactNativeBlobUtil","OTA_DIR","fs","dirs","DocumentDir","METADATA_PATH","saveLock","Promise","resolve","ensureOtaDir","exists","mkdir","loadMetadata","defaultVersion","content","readFile","JSON","parse","e","console","warn","currentVersion","previousVersions","rollbackCount","lastLaunchSuccessful","saveMetadata","metadata","prevLock","settleFn","writeFile","stringify","error","Error","message","MAX_VERSION_HISTORY","registerNewVersion","newVersion","versions","uniquePrevious","Array","from","Set","filter","v","slice","markHealthy","updated","getBundlePath","version","baseVersion","filename","select","android","ios","default"],"sourceRoot":"../../../src","sources":["ota/otaMetadata.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["OtaUpdateMode","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;AAAA;AACA;AACA;;AAqBA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAOzB,WAAYC,cAAc,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAKtB;EALQA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AA8C1B;AACA;AACA;;AA+GA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["OtaUpdateMode","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;AAAA;AACA;AACA;;AAqBA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAOzB,WAAYC,cAAc,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAKtB;EALQA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AA8C1B;AACA;AACA;;AAoHA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","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;AAIjB,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,qBA0UA;AAED,wBAAgB,MAAM,aAMrB"}
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;AAIjB,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,qBAwWA;AAED,wBAAgB,MAAM,aAMrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"otaAssetResolver.d.ts","sourceRoot":"","sources":["../../../src/ota/otaAssetResolver.ts"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAqCxE,CAAC;AA4FF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAO,IAKxC,CAAC"}
1
+ {"version":3,"file":"otaAssetResolver.d.ts","sourceRoot":"","sources":["../../../src/ota/otaAssetResolver.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAsCxE,CAAC;AAoGF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAO,IAMxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otaCore.d.ts","sourceRoot":"","sources":["../../../src/ota/otaCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,OAAO,EACH,SAAS,EAGT,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EAEhB,MAAM,SAAS,CAAC;AAuBjB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAUhD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GACnB,MAAM,MAAM,EACZ,eAAe,MAAM,KACtB,OAAO,CAAC,OAAO,CAQjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,GACxB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,YAAY,MAAM,KACnB,OAAO,CAAC,OAAO,CA4BjB,CAAC;AA0FF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GACzB,QAAQ,SAAS,KAClB,OAAO,CAAC,QAAQ,EAAE,CAWpB,CAAC;AAyLF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,KAAG,MACvB,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,QAAQ,EAAE,QAAQ,MAAM,KAAG,MACzB,CAAC;AAI5C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,QAAQ,EACf,QAAQ,SAAS,EACjB,UAAU,CACN,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,KACnB,IAAI,EACT,YAAY,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,kBAycxC,CAAC"}
1
+ {"version":3,"file":"otaCore.d.ts","sourceRoot":"","sources":["../../../src/ota/otaCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,OAAO,EACH,SAAS,EAGT,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EAEhB,MAAM,SAAS,CAAC;AAuBjB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAUhD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GACnB,MAAM,MAAM,EACZ,eAAe,MAAM,KACtB,OAAO,CAAC,OAAO,CAQjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,GACxB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,YAAY,MAAM,KACnB,OAAO,CAAC,OAAO,CA4BjB,CAAC;AA0FF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GACzB,QAAQ,SAAS,KAClB,OAAO,CAAC,QAAQ,EAAE,CAWpB,CAAC;AAyLF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,KAAG,MACvB,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,QAAQ,EAAE,QAAQ,MAAM,KAAG,MACzB,CAAC;AAI5C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,GAC9B,OAAO,QAAQ,EACf,QAAQ,SAAS,EACjB,UAAU,CACN,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,KACnB,IAAI,EACT,YAAY,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,kBAidxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"otaMetadata.d.ts","sourceRoot":"","sources":["../../../src/ota/otaMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACrB,gBAAgB,MAAM,KACvB,OAAO,CAAC,WAAW,CAmBrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,UAAU,WAAW,KAAG,OAAO,CAAC,IAAI,CAoBtE,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC3B,UAAU,WAAW,EACrB,YAAY,MAAM,KACnB,WAiBF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GACpB,gBAAgB,MAAM,KACvB,OAAO,CAAC,WAAW,CASrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,EACf,aAAa,MAAM,KACpB,MAAM,GAAG,IAUX,CAAC"}
1
+ {"version":3,"file":"otaMetadata.d.ts","sourceRoot":"","sources":["../../../src/ota/otaMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACrB,gBAAgB,MAAM,KACvB,OAAO,CAAC,WAAW,CAmBrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,UAAU,WAAW,KAAG,OAAO,CAAC,IAAI,CAoBtE,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC3B,UAAU,WAAW,EACrB,YAAY,MAAM,KACnB,WAiBF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GACpB,gBAAgB,MAAM,KACvB,OAAO,CAAC,WAAW,CAarB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,EACf,aAAa,MAAM,KACpB,MAAM,GAAG,IAUX,CAAC"}
@@ -110,6 +110,11 @@ export type OtaConfig = {
110
110
  baseAppVersion: number;
111
111
  /** Default patches if manifest fetch fails */
112
112
  bundledPatches?: OtaPatch[];
113
+ /**
114
+ * Allow OTA checks and patch application while React Native is running in
115
+ * development mode (`__DEV__`). Disabled by default for safety.
116
+ */
117
+ allowDebugUpdates?: boolean;
113
118
  /** Enterprise configurations */
114
119
  updateMode?: OtaUpdateMode;
115
120
  maxRollback?: number;
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bspatch",
3
- "version": "1.0.8",
3
+ "version": "1.1.0",
4
4
  "description": "Premium OTA Update Solution for React Native using TurboModules and bsdiff",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -63,6 +63,16 @@ export function OtaProvider({
63
63
  const appState = useRef(AppState.currentState);
64
64
  const isCheckingRef = useRef(false);
65
65
  const bootstrapDone = useRef(false);
66
+ const progressRef = useRef(0);
67
+ const isDebugUpdateEnabled = !__DEV__ || config.allowDebugUpdates === true;
68
+
69
+ const setProgressIfChanged = useCallback((nextProgress: number) => {
70
+ if (progressRef.current === nextProgress) {
71
+ return;
72
+ }
73
+ progressRef.current = nextProgress;
74
+ setProgress(nextProgress);
75
+ }, []);
66
76
 
67
77
  /**
68
78
  * Core apply update logic — separated so it can be mapped to button clicks
@@ -86,6 +96,7 @@ export function OtaProvider({
86
96
 
87
97
  try {
88
98
  setStatus(OtaStatus.DOWNLOADING);
99
+ progressRef.current = 0;
89
100
  setProgress(0);
90
101
  await applyOtaPatchInternal(
91
102
  directPatch,
@@ -100,7 +111,7 @@ export function OtaProvider({
100
111
  }
101
112
  },
102
113
  (percent: number) => {
103
- setProgress(percent);
114
+ setProgressIfChanged(percent);
104
115
  },
105
116
  );
106
117
  } catch (error) {
@@ -109,15 +120,27 @@ export function OtaProvider({
109
120
  setMessage(`Update failed: ${(error as Error).message}`);
110
121
  }
111
122
  },
112
- [config],
123
+ [config, setProgressIfChanged],
113
124
  );
114
125
 
115
126
  /**
116
127
  * Exposed method for manual trigger
117
128
  */
118
129
  const applyUpdate = useCallback(async () => {
130
+ if (!isDebugUpdateEnabled) {
131
+ setPendingCount(0);
132
+ setStatus(OtaStatus.UP_TO_DATE);
133
+ setMessage('OTA updates are disabled while running a debug build.');
134
+ return;
135
+ }
119
136
  await executeApplyUpdate(patches, currentVersion, latestVersion);
120
- }, [executeApplyUpdate, patches, currentVersion, latestVersion]);
137
+ }, [
138
+ currentVersion,
139
+ executeApplyUpdate,
140
+ isDebugUpdateEnabled,
141
+ latestVersion,
142
+ patches,
143
+ ]);
121
144
 
122
145
  /**
123
146
  * Check for updates from the manifest.
@@ -125,6 +148,13 @@ export function OtaProvider({
125
148
  */
126
149
  const checkUpdates = useCallback(async () => {
127
150
  if (isCheckingRef.current) return;
151
+ if (!isDebugUpdateEnabled) {
152
+ setPendingCount(0);
153
+ setIsChecking(false);
154
+ setStatus(OtaStatus.UP_TO_DATE);
155
+ setMessage('OTA updates are disabled while running a debug build.');
156
+ return;
157
+ }
128
158
  isCheckingRef.current = true;
129
159
  setIsChecking(true);
130
160
  setStatus(OtaStatus.CHECKING);
@@ -180,7 +210,7 @@ export function OtaProvider({
180
210
  isCheckingRef.current = false;
181
211
  setIsChecking(false);
182
212
  }
183
- }, [config, executeApplyUpdate]);
213
+ }, [config, executeApplyUpdate, isDebugUpdateEnabled]);
184
214
 
185
215
  const downloadBackgroundUpdate = async (
186
216
  patchList: OtaPatch[],
@@ -19,6 +19,7 @@ interface AssetManifest {
19
19
  let assetManifest: AssetManifest | null = null;
20
20
  let assetMap: Map<string, AssetMetadata> = new Map();
21
21
  let assetList: AssetMetadata[] = [];
22
+ let assetLookupCache: Map<string, AssetMetadata | null> = new Map();
22
23
  let isPatched = false;
23
24
 
24
25
  /**
@@ -64,6 +65,7 @@ export const initOtaAssetResolver = async (version: number): Promise<void> => {
64
65
  });
65
66
  assetMap = map;
66
67
  assetList = list;
68
+ assetLookupCache = new Map();
67
69
 
68
70
  log(
69
71
  `Initialized version ${version} (${list.length} assets, mapped for O(1) lookup)`,
@@ -119,17 +121,25 @@ const patchAssetResolver = (): void => {
119
121
  .replace(/\//g, '_')
120
122
  .replace(/^(assets_)+/, '');
121
123
 
122
- // 1. Fast O(1) Map lookup
123
- let found = assetMap.get(normUri);
124
+ const cached = assetLookupCache.get(normUri);
124
125
 
125
- // 2. Fallback O(N) fuzzy matching (without regex overhead)
126
- if (!found) {
126
+ // 1. Fast cached lookup from previous exact/fuzzy resolution
127
+ let found = cached === undefined ? undefined : cached;
128
+
129
+ // 2. Fast O(1) Map lookup
130
+ if (found === undefined) {
131
+ found = assetMap.get(normUri) ?? undefined;
132
+ }
133
+
134
+ // 3. Fallback O(N) fuzzy matching (without regex overhead)
135
+ if (found === undefined) {
127
136
  found = assetList.find((a: AssetMetadata) => {
128
137
  return (
129
138
  a._normPath.endsWith(normUri) ||
130
139
  normUri.endsWith(a._normPath)
131
140
  );
132
141
  });
142
+ assetLookupCache.set(normUri, found ?? null);
133
143
  }
134
144
 
135
145
  if (found) {
@@ -177,6 +187,6 @@ export const resetOtaAssetResolver = (): void => {
177
187
  assetManifest = null;
178
188
  assetMap = new Map();
179
189
  assetList = [];
190
+ assetLookupCache = new Map();
180
191
  isPatched = false;
181
192
  };
182
-
@@ -508,6 +508,14 @@ export const applyOtaPatchInternal = async (
508
508
  ) => void,
509
509
  onProgress: (percent: number) => void,
510
510
  ) => {
511
+ if (__DEV__ && config.allowDebugUpdates !== true) {
512
+ onStatus(
513
+ OtaStatus.UP_TO_DATE,
514
+ 'OTA updates are disabled while running a debug build.',
515
+ );
516
+ throw new Error('OTA updates are disabled while running a debug build.');
517
+ }
518
+
511
519
  const log = createOtaLogger(config.onEvent);
512
520
  await ensureOtaDir();
513
521
  const totalStart = Date.now();
@@ -117,6 +117,10 @@ export const markHealthy = async (
117
117
  defaultVersion: number,
118
118
  ): Promise<OtaMetadata> => {
119
119
  const metadata = await loadMetadata(defaultVersion);
120
+ if (metadata.lastLaunchSuccessful && metadata.rollbackCount === 0) {
121
+ return metadata;
122
+ }
123
+
120
124
  const updated: OtaMetadata = {
121
125
  ...metadata,
122
126
  lastLaunchSuccessful: true,
package/src/ota/types.ts CHANGED
@@ -123,6 +123,11 @@ export type OtaConfig = {
123
123
  baseAppVersion: number;
124
124
  /** Default patches if manifest fetch fails */
125
125
  bundledPatches?: OtaPatch[];
126
+ /**
127
+ * Allow OTA checks and patch application while React Native is running in
128
+ * development mode (`__DEV__`). Disabled by default for safety.
129
+ */
130
+ allowDebugUpdates?: boolean;
126
131
 
127
132
  /** Enterprise configurations */
128
133
  updateMode?: OtaUpdateMode;
@@ -18,7 +18,6 @@ MODULE_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
18
18
  ROOT="$PWD"
19
19
  BUNDLE_XCODE_IOS="$ROOT/ios/output/main.jsbundle"
20
20
  BSDIFF="$SCRIPT_DIR/bsdiff"
21
- GENERATED_TS="$ROOT/src/ota/otaPatches.generated.ts"
22
21
 
23
22
  # ── Load .env file if exists ─────────────────────────────────────────────────
24
23
  # Look in project root first, then module directory (fallback)
@@ -61,6 +60,8 @@ while [[ "$#" -gt 0 ]]; do
61
60
  done
62
61
  # Configuration
63
62
  FLAVOR_LOWER=$(echo "$FLAVOR" | tr '[:upper:]' '[:lower:]')
63
+ if [ "$FLAVOR_LOWER" = "dev" ]; then FLAVOR_LOWER="development"; fi
64
+ if [ "$FLAVOR_LOWER" = "prod" ]; then FLAVOR_LOWER="production"; fi
64
65
 
65
66
  # ── Setup ──────────────────────────────────────────────────────────────────
66
67
  echo "Preparing build environment..."
@@ -253,23 +254,35 @@ fi
253
254
 
254
255
  # ── Reset ─────────────────────────────────────────────────────────────────────
255
256
  if [ "$ACTION" = "reset" ]; then
256
- echo "Resetting OTA registry and clearing output..."
257
- echo '{"apps":{}}' > "$REGISTRY_SHARED"
258
- # Preserve base-assets manifests so the build after reset can still
259
- # correctly identify which assets are already bundled in the base app.
260
- # Only delete bundles, patches, manifests and workspace — not base-assets.
261
- find "$ROOT/android/output" -mindepth 1 -not -name 'base-assets_*' -delete 2>/dev/null || true
262
- find "$ROOT/ios/output" -mindepth 1 -not -name 'base-assets_*' -delete 2>/dev/null || true
263
- cat > "$GENERATED_TS" << 'TSEEOF'
264
- // AUTO-GENERATED by build_ota.sh — do not edit manually
265
- import type { OtaPatch } from 'react-native-bspatch';
266
-
267
- export const OTA_PATCHES: OtaPatch[] = [];
268
- TSEEOF
269
- echo " ✓ Registry and output files cleared (base-assets preserved)"
257
+ FLAVOR_LOWER=$(echo "$FLAVOR" | tr '[:upper:]' '[:lower:]')
258
+ echo "Resetting OTA registry and output for flavor '$FLAVOR_LOWER'..."
259
+
260
+ # Reset only the specific flavor in registry JSON if registry exists
261
+ if [ -f "$REGISTRY_SHARED" ]; then
262
+ node -e "
263
+ try {
264
+ const fs = require('fs');
265
+ const reg = JSON.parse(fs.readFileSync('$REGISTRY_SHARED', 'utf8'));
266
+ if (reg.apps && reg.apps['$APP_VERSION'] && reg.apps['$APP_VERSION'].flavors) {
267
+ delete reg.apps['$APP_VERSION'].flavors['$FLAVOR_LOWER'];
268
+ }
269
+ fs.writeFileSync('$REGISTRY_SHARED', JSON.stringify(reg, null, 4));
270
+ } catch(e) {}
271
+ "
272
+ else
273
+ echo '{"apps":{}}' > "$REGISTRY_SHARED"
274
+ fi
275
+
276
+ # Delete only output files belonging to this specific flavor
277
+ find "$ROOT/android/output" -mindepth 1 -name "*_${FLAVOR_LOWER}.*" -not -name 'base-assets_*' -delete 2>/dev/null || true
278
+ find "$ROOT/android/output" -mindepth 1 -name "*_${FLAVOR_LOWER}_*" -not -name 'base-assets_*' -delete 2>/dev/null || true
279
+ find "$ROOT/ios/output" -mindepth 1 -name "*_${FLAVOR_LOWER}.*" -not -name 'base-assets_*' -delete 2>/dev/null || true
280
+ find "$ROOT/ios/output" -mindepth 1 -name "*_${FLAVOR_LOWER}_*" -not -name 'base-assets_*' -delete 2>/dev/null || true
281
+
282
+ echo " ✓ Registry and output files cleared for flavor '$FLAVOR_LOWER' (base-assets preserved)"
270
283
 
271
284
  if [ "$PUSH_REMOTE" = true ]; then
272
- echo " Syncing reset state to remote storage..."
285
+ echo " Syncing reset state for flavor '$FLAVOR_LOWER' to remote storage..."
273
286
  bash "$SCRIPT_DIR/upload_ota_custom.sh" "$APP_VERSION" "$FLAVOR_LOWER" "0" "" "ios" "--clean-remote"
274
287
  fi
275
288
  exit 0
@@ -96,50 +96,3 @@ fs.writeFileSync(registryPath, JSON.stringify(registry, null, 2) + '\n');
96
96
  console.log(
97
97
  ` ✓ Registry updated | App: ${appVersion} | Flavor: ${flavor} | latestOta: ${toOtaVersion}`,
98
98
  );
99
-
100
- // ── Regenerate otaPatches.generated.ts ──────────────────────────────────────
101
- // Flatten all patches from all apps and flavors into the TS file
102
- const allPatches = [];
103
- for (const ver in registry.apps) {
104
- const app = registry.apps[ver];
105
- if (app.flavors) {
106
- for (const f in app.flavors) {
107
- allPatches.push(...app.flavors[f].patches);
108
- }
109
- }
110
- }
111
-
112
- const patchLines = allPatches
113
- .map(p => {
114
- const fields = [
115
- `id: '${p.id}'`,
116
- `label: '${p.label}'`,
117
- `appVersion: '${p.appVersion}'`,
118
- `filename: '${p.filename}'`,
119
- `fromVersion: ${p.fromVersion}`,
120
- `toVersion: ${p.toVersion}`,
121
- `platform: '${p.platform || 'android'}'`,
122
- ];
123
- if (p.baseHash) fields.push(`baseHash: '${p.baseHash}'`);
124
- if (p.bundleHash) fields.push(`bundleHash: '${p.bundleHash}'`);
125
- if (p.fullBundleUrl) fields.push(`fullBundleUrl: '${p.fullBundleUrl}'`);
126
- if (p.assetManifestUrl) fields.push(`assetManifestUrl: '${p.assetManifestUrl}'`);
127
- // Add flavor for runtime filtering if needed
128
- fields.push(`flavor: '${p.flavor || ''}'`);
129
-
130
- return ` { ${fields.join(', ')} },`;
131
- })
132
- .join('\n');
133
-
134
- const tsContent = `// AUTO-GENERATED by build_ota.sh — do not edit manually
135
- import type { OtaPatch } from 'react-native-bspatch';
136
-
137
- export const OTA_PATCHES: OtaPatch[] = [
138
- ${patchLines}
139
- ];
140
- `;
141
-
142
- fs.writeFileSync(generatedPath, tsContent);
143
- console.log(
144
- ` ✓ otaPatches.generated.ts updated (${allPatches.length} total patches across all flavors)`,
145
- );