react-native-bspatch 2.0.1 → 3.0.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 +126 -151
- package/android/src/main/java/vn/reactnativebspatch/BsPatchModule.kt +0 -25
- package/android/src/main/java/vn/reactnativebspatch/OtaBundleResolver.kt +14 -6
- package/ios/OtaBundleResolver.swift +14 -6
- package/ios/RNBsPatch.mm +1 -28
- package/lib/commonjs/NativeBsPatch.js.map +1 -1
- package/lib/commonjs/ota/OtaProvider.js +29 -16
- package/lib/commonjs/ota/OtaProvider.js.map +1 -1
- package/lib/commonjs/ota/otaAssetResolver.js +0 -20
- package/lib/commonjs/ota/otaAssetResolver.js.map +1 -1
- package/lib/commonjs/ota/otaCore.js +200 -330
- package/lib/commonjs/ota/otaCore.js.map +1 -1
- package/lib/commonjs/ota/otaMetadata.js +21 -21
- package/lib/commonjs/ota/otaMetadata.js.map +1 -1
- package/lib/commonjs/ota/storage/GitHubRawStorage.js +13 -15
- package/lib/commonjs/ota/storage/GitHubRawStorage.js.map +1 -1
- package/lib/commonjs/ota/types.js.map +1 -1
- package/lib/module/NativeBsPatch.js.map +1 -1
- package/lib/module/ota/OtaProvider.js +30 -17
- package/lib/module/ota/OtaProvider.js.map +1 -1
- package/lib/module/ota/otaAssetResolver.js +1 -21
- package/lib/module/ota/otaAssetResolver.js.map +1 -1
- package/lib/module/ota/otaCore.js +197 -329
- package/lib/module/ota/otaCore.js.map +1 -1
- package/lib/module/ota/otaMetadata.js +19 -19
- package/lib/module/ota/otaMetadata.js.map +1 -1
- package/lib/module/ota/storage/GitHubRawStorage.js +13 -15
- package/lib/module/ota/storage/GitHubRawStorage.js.map +1 -1
- package/lib/module/ota/types.js.map +1 -1
- package/lib/typescript/NativeBsPatch.d.ts +0 -1
- package/lib/typescript/NativeBsPatch.d.ts.map +1 -1
- package/lib/typescript/ota/OtaProvider.d.ts.map +1 -1
- package/lib/typescript/ota/otaAssetResolver.d.ts.map +1 -1
- package/lib/typescript/ota/otaCore.d.ts +13 -3
- package/lib/typescript/ota/otaCore.d.ts.map +1 -1
- package/lib/typescript/ota/otaMetadata.d.ts +9 -7
- package/lib/typescript/ota/otaMetadata.d.ts.map +1 -1
- package/lib/typescript/ota/storage/GitHubRawStorage.d.ts.map +1 -1
- package/lib/typescript/ota/types.d.ts +5 -19
- package/lib/typescript/ota/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeBsPatch.ts +0 -5
- package/src/ota/OtaProvider.tsx +30 -23
- package/src/ota/otaAssetResolver.ts +1 -17
- package/src/ota/otaCore.ts +203 -457
- package/src/ota/otaMetadata.ts +30 -20
- package/src/ota/storage/GitHubRawStorage.ts +13 -21
- package/src/ota/types.ts +5 -20
- package/tools/build_ota.sh +206 -516
- package/tools/setup_project.js +17 -115
- package/tools/update_registry.js +31 -32
- package/tools/upload_ota.sh +61 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ReactNativeBlobUtil","NativeBsPatch","createOtaLogger","OtaEvent","ensureOtaDir","getBundlePath","loadMetadata","registerNewVersion","saveMetadata","GitHubRawStorageProvider","OtaStatus","OTA_DIR","fs","dirs","DocumentDir","DEFAULT_STORAGE","getStorage","config","storage","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","verifyHash","path","expectedHash","hash","toLowerCase","assertSigned","filePath","signature","what","publicKey","valid","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","e","delay","pow","__DEV__","console","warn","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","error","message","bundledPatches","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","SYNCING_ASSETS","versionDir","manifestPath","mkdir","assets","manifestData","data","JSON","stringify","writeFile","manifest","parse","filter","isBase","test","ext","length","processed","downloaded","cached","failed","updateProgress","round","maxConcurrency","index","downloadNext","asset","filename","localPath","assetUrl","getAssetUrl","emit","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","appVersion","id","updateInFlight","applyOtaPatchInternal","args","runUpdatePipeline","options","autoReload","allowDebugUpdates","UP_TO_DATE","onEvent","totalStart","Date","now","finalBundlePath","toVersion","baseAppVersion","tempBundle","localPatchPath","syncAssets","manifestUrl","getUpdateFileUrl","minAppVersion","currentAppVer","getAppVersion","undefined","VERSION_INCOMPATIBLE","downloadMs","patchSizeBytes","fromCache","stat","size","DOWNLOAD_START","DOWNLOADING","dlStart","durationMs","sizeKB","dlError","DOWNLOAD_FAIL","APPLYING","sigError","SIGNATURE_INVALID","metadata","oldBundlePath","currentVersion","bundleFilename","OS","actualOldPath","otaStoredPath","extractBundleFromAssets","oldStat","patchStat","baseHash","HASH_VERIFY_START","isValid","actualSourceHash","srcSize","srcStat","fromVersion","HASH_MISMATCH","expected","actual","HASH_VERIFY_SUCCESS","PATCH_START","applyStart","success","applyPatch","applyMs","PATCH_FAIL","bundleHash","bundleSignature","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","NativeBsPatch","createOtaLogger","OtaEvent","ensureOtaDir","getBundlePath","loadMetadata","registerNewVersion","updateMetadata","GitHubRawStorageProvider","OtaStatus","OTA_DIR","fs","dirs","DocumentDir","DEFAULT_STORAGE","getStorage","config","storage","validateOtaConfig","baseUrl","channel","customServer","test","JSON","stringify","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","verifyHash","path","expectedHash","hash","toLowerCase","assertSigned","filePath","signature","what","publicKey","valid","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","e","delay","pow","__DEV__","console","warn","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","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","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","appVersion","id","selectUpdate","patchList","localV","targetV","forTarget","p","toVersion","platform","OS","find","fromVersion","updateInFlight","applyOtaPatchInternal","args","runUpdatePipeline","options","autoReload","allowDebugUpdates","UP_TO_DATE","onEvent","totalStart","Date","now","finalBundlePath","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","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","currentVersion","canPatch","ERROR"],"sourceRoot":"../../../src","sources":["ota/otaCore.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ const OTA_DIR = `${ReactNativeBlobUtil.fs.dirs.DocumentDir}/ota`;
|
|
|
6
6
|
const METADATA_PATH = `${OTA_DIR}/metadata.json`;
|
|
7
7
|
const METADATA_TMP_PATH = `${METADATA_PATH}.tmp`;
|
|
8
8
|
|
|
9
|
-
/**
|
|
9
|
+
/** Serializes metadata updates (see updateMetadata). */
|
|
10
10
|
let saveLock = Promise.resolve();
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -44,19 +44,16 @@ export const loadMetadata = async defaultVersion => {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* @param metadata - The metadata object to save.
|
|
47
|
+
* Atomically updates metadata: load → fn → save, serialized with every other
|
|
48
|
+
* update so a background install and markHealthy can't overwrite each other.
|
|
50
49
|
*/
|
|
51
|
-
export const
|
|
52
|
-
// Wait for any in-flight save to complete before starting our own
|
|
50
|
+
export const updateMetadata = async (defaultVersion, fn) => {
|
|
53
51
|
const prevLock = saveLock;
|
|
54
|
-
let
|
|
55
|
-
saveLock = new Promise(resolve =>
|
|
56
|
-
settleFn = resolve;
|
|
57
|
-
});
|
|
52
|
+
let release;
|
|
53
|
+
saveLock = new Promise(resolve => release = resolve);
|
|
58
54
|
try {
|
|
59
55
|
await prevLock;
|
|
56
|
+
const metadata = fn(await loadMetadata(defaultVersion));
|
|
60
57
|
await ensureOtaDir();
|
|
61
58
|
// Write-then-rename so a kill mid-write never leaves truncated JSON
|
|
62
59
|
await ReactNativeBlobUtil.fs.writeFile(METADATA_TMP_PATH, JSON.stringify(metadata, null, 2), 'utf8');
|
|
@@ -64,11 +61,12 @@ export const saveMetadata = async metadata => {
|
|
|
64
61
|
await ReactNativeBlobUtil.fs.unlink(METADATA_PATH);
|
|
65
62
|
}
|
|
66
63
|
await ReactNativeBlobUtil.fs.mv(METADATA_TMP_PATH, METADATA_PATH);
|
|
64
|
+
return metadata;
|
|
67
65
|
} catch (e) {
|
|
68
66
|
console.error('[otaMetadata] Failed to save metadata:', e);
|
|
69
67
|
throw new Error(`Failed to save metadata: ${e.message}`);
|
|
70
68
|
} finally {
|
|
71
|
-
|
|
69
|
+
release();
|
|
72
70
|
}
|
|
73
71
|
};
|
|
74
72
|
|
|
@@ -132,23 +130,25 @@ export const cleanupOldVersions = async (metadata, baseVersion) => {
|
|
|
132
130
|
};
|
|
133
131
|
|
|
134
132
|
/**
|
|
135
|
-
* Marks the
|
|
136
|
-
*
|
|
133
|
+
* Marks the running version healthy: the native resolver stops treating its
|
|
134
|
+
* launches as pending, so it is never rolled back afterwards (crash on first
|
|
135
|
+
* launch → rollback; crash after a verified launch → app bug, not a bad bundle).
|
|
137
136
|
* Also cleans up obsolete version directories from disk.
|
|
138
137
|
*
|
|
139
138
|
* @param defaultVersion - Base version for metadata lookup fallback.
|
|
139
|
+
* @param runningVersion - Version loaded at boot. If a background install has
|
|
140
|
+
* since switched currentVersion, the new version hasn't run yet and is left pending.
|
|
140
141
|
* @returns The updated metadata.
|
|
141
142
|
*/
|
|
142
|
-
export const markHealthy = async (defaultVersion, appVersion) => {
|
|
143
|
-
const
|
|
144
|
-
const updated = {
|
|
143
|
+
export const markHealthy = async (defaultVersion, runningVersion, appVersion) => {
|
|
144
|
+
const updated = await updateMetadata(defaultVersion, metadata => metadata.currentVersion !== runningVersion ? metadata : {
|
|
145
145
|
...metadata,
|
|
146
146
|
// Stamp legacy metadata so the native resolver can detect a store update later
|
|
147
147
|
appVersion: metadata.appVersion ?? appVersion,
|
|
148
148
|
lastLaunchSuccessful: true,
|
|
149
|
-
rollbackCount: 0
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
rollbackCount: 0,
|
|
150
|
+
verifiedVersion: runningVersion
|
|
151
|
+
});
|
|
152
152
|
|
|
153
153
|
// Garbage collect older versions on disk to free storage
|
|
154
154
|
await cleanupOldVersions(updated, defaultVersion);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ReactNativeBlobUtil","OTA_DIR","fs","dirs","DocumentDir","METADATA_PATH","METADATA_TMP_PATH","saveLock","Promise","resolve","ensureOtaDir","exists","mkdir","loadMetadata","defaultVersion","path","JSON","parse","readFile","e","console","warn","currentVersion","previousVersions","rollbackCount","lastLaunchSuccessful","
|
|
1
|
+
{"version":3,"names":["Platform","ReactNativeBlobUtil","OTA_DIR","fs","dirs","DocumentDir","METADATA_PATH","METADATA_TMP_PATH","saveLock","Promise","resolve","ensureOtaDir","exists","mkdir","loadMetadata","defaultVersion","path","JSON","parse","readFile","e","console","warn","currentVersion","previousVersions","rollbackCount","lastLaunchSuccessful","updateMetadata","fn","prevLock","release","metadata","writeFile","stringify","unlink","mv","error","Error","message","MAX_VERSION_HISTORY","registerNewVersion","newVersion","appVersion","versions","uniquePrevious","Array","from","Set","filter","v","slice","cleanupOldVersions","baseVersion","items","ls","retainedVersions","item","versionMatch","match","ver","parseInt","has","dirPath","catch","__DEV__","log","endsWith","markHealthy","runningVersion","updated","verifiedVersion","getBundlePath","version","filename","select","android","ios","default"],"sourceRoot":"../../../src","sources":["ota/otaMetadata.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
4
|
import ReactNativeBlobUtil from 'react-native-blob-util';
|
|
5
5
|
/**
|
|
6
|
-
* Storage Provider for
|
|
6
|
+
* Storage Provider for any static host with this layout: GitHub raw, a public
|
|
7
|
+
* Cloudflare R2 bucket (r2.dev or custom domain), S3, a CDN...
|
|
7
8
|
*
|
|
8
9
|
* Direct URL mapping:
|
|
9
10
|
* - Manifest: `${baseUrl}/${baseFolder}/ota_registry.json`
|
|
10
11
|
* - Patch file: `${baseUrl}/${baseFolder}/${appVersion}/${channel}/${filename}`
|
|
11
12
|
* - Assets: `${baseUrl}/${baseFolder}/assets/${hash}.${ext}`
|
|
12
13
|
*
|
|
13
|
-
* NOTE:
|
|
14
|
-
* timestamp query param
|
|
15
|
-
*
|
|
16
|
-
* intentionally NOT cache-busted.
|
|
14
|
+
* NOTE: Only the registry is mutable: it is fetched with Cache-Control: no-cache
|
|
15
|
+
* and a timestamp query param (GitHub's CDN caches for 5 minutes). Bundles,
|
|
16
|
+
* patches, manifests and assets are never overwritten, so they stay cacheable.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/** Headers to bypass GitHub CDN cache on mutable files (registry, manifests) */
|
|
@@ -31,7 +31,9 @@ const normalizeChannel = channel => {
|
|
|
31
31
|
};
|
|
32
32
|
export class GitHubRawStorageProvider {
|
|
33
33
|
async fetchManifest(config) {
|
|
34
|
-
if (!config.customServer)
|
|
34
|
+
if (!config.customServer) {
|
|
35
|
+
throw new Error('[GitHubRawStorage] customServer configuration missing');
|
|
36
|
+
}
|
|
35
37
|
const {
|
|
36
38
|
baseUrl,
|
|
37
39
|
channel,
|
|
@@ -54,13 +56,10 @@ export class GitHubRawStorageProvider {
|
|
|
54
56
|
}
|
|
55
57
|
const appGroup = registry?.apps?.[config.appVersion];
|
|
56
58
|
const flavorGroup = appGroup?.flavors?.[channelName];
|
|
57
|
-
|
|
58
|
-
return config.bundledPatches || [];
|
|
59
|
-
}
|
|
60
|
-
return (flavorGroup.patches || []).filter(p => !p.platform || p.platform.toLowerCase() === Platform.OS.toLowerCase());
|
|
59
|
+
return (flavorGroup?.patches ?? []).filter(p => !p.platform || p.platform.toLowerCase() === Platform.OS.toLowerCase());
|
|
61
60
|
} catch (error) {
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
// Surface it: "no patches" would report a broken registry as up to date
|
|
62
|
+
throw new Error(`[GitHubRawStorage] Manifest fetch error: ${error.message}`);
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
async getUpdateFileUrl(filename, config) {
|
|
@@ -75,9 +74,8 @@ export class GitHubRawStorageProvider {
|
|
|
75
74
|
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
76
75
|
const channelName = normalizeChannel(channel);
|
|
77
76
|
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
return bustCache(`${normalizedBaseUrl}/${baseFolder}/${config.appVersion}/${channelName}/${filename}`);
|
|
77
|
+
// Versioned names, never overwritten: no cache-bust, so a CDN can cache them
|
|
78
|
+
return `${normalizedBaseUrl}/${baseFolder}/${config.appVersion}/${channelName}/${filename}`;
|
|
81
79
|
}
|
|
82
80
|
async getAssetUrl(hash, ext, config) {
|
|
83
81
|
if (!config.customServer) return '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ReactNativeBlobUtil","NO_CACHE_HEADERS","bustCache","url","Date","now","normalizeChannel","channel","lower","toLowerCase","GitHubRawStorageProvider","fetchManifest","config","customServer","
|
|
1
|
+
{"version":3,"names":["Platform","ReactNativeBlobUtil","NO_CACHE_HEADERS","bustCache","url","Date","now","normalizeChannel","channel","lower","toLowerCase","GitHubRawStorageProvider","fetchManifest","config","customServer","Error","baseUrl","baseFolder","channelName","normalizedBaseUrl","endsWith","slice","registryUrl","res","timeout","fetch","respInfo","status","registry","data","JSON","parse","appVersion","appGroup","apps","flavorGroup","flavors","patches","filter","p","platform","OS","error","message","getUpdateFileUrl","filename","getAssetUrl","hash","ext"],"sourceRoot":"../../../../src","sources":["ota/storage/GitHubRawStorage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OtaUpdateMode","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;;
|
|
1
|
+
{"version":3,"names":["OtaUpdateMode","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;;AAwCzB;AACA;AACA;;AA2EA,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":[]}
|
|
@@ -8,7 +8,6 @@ export interface Spec extends TurboModule {
|
|
|
8
8
|
* @param callback Promise-like callback receiving true if successful, or false on error.
|
|
9
9
|
*/
|
|
10
10
|
applyPatch(oldPath: string, newPath: string, patchPath: string): Promise<boolean>;
|
|
11
|
-
extractBundleFromAssets(assetName: string, destPath: string): Promise<boolean>;
|
|
12
11
|
/**
|
|
13
12
|
* Mark the current boot as healthy to prevent rollback
|
|
14
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeBsPatch.d.ts","sourceRoot":"","sources":["../../src/NativeBsPatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;;;OAMG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB
|
|
1
|
+
{"version":3,"file":"NativeBsPatch.d.ts","sourceRoot":"","sources":["../../src/NativeBsPatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC;;;;;;OAMG;IACH,UAAU,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;;;;OAKG;IACH,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;;AAED,wBAAiE"}
|
|
@@ -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,
|
|
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,qBAyaA;AAED,wBAAgB,MAAM,aAMrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otaAssetResolver.d.ts","sourceRoot":"","sources":["../../../src/ota/otaAssetResolver.ts"],"names":[],"mappings":"
|
|
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,CAsCxE,CAAC;AAwFF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAO,IAMxC,CAAC"}
|
|
@@ -5,12 +5,17 @@
|
|
|
5
5
|
* - Download patches with retry
|
|
6
6
|
* - Verify integrity (SHA-256 hash)
|
|
7
7
|
* - Verify security (RSA/ECDSA signature)
|
|
8
|
-
* - Apply binary patch (bsdiff)
|
|
8
|
+
* - Apply binary patch (bsdiff) from the installed OTA bundle
|
|
9
|
+
* - Full bundle download (first OTA after a store install, or patch failure)
|
|
9
10
|
* - Atomic bundle swap
|
|
10
|
-
* - Full bundle fallback on failure
|
|
11
11
|
* - Structured telemetry logging
|
|
12
12
|
*/
|
|
13
13
|
import { OtaStatus, type OtaConfig, type OtaMetrics, type OtaPatch } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Returns a message for config the default provider can't work with, else null.
|
|
16
|
+
* No fallbacks: a missing env value must surface, not silently point somewhere else.
|
|
17
|
+
*/
|
|
18
|
+
export declare const validateOtaConfig: (config: OtaConfig) => string | null;
|
|
14
19
|
/**
|
|
15
20
|
* Compares two semantic version strings.
|
|
16
21
|
*
|
|
@@ -39,7 +44,7 @@ export declare const verifyHash: (path: string, expectedHash?: string) => Promis
|
|
|
39
44
|
* the app can still apply updates that were bundled at build time.
|
|
40
45
|
*
|
|
41
46
|
* @param config - OTA configuration containing storage provider and fallback patches
|
|
42
|
-
* @returns
|
|
47
|
+
* @returns Patches for this app version + channel; rejects if the registry can't be read
|
|
43
48
|
*/
|
|
44
49
|
export declare const fetchOtaManifest: (config: OtaConfig) => Promise<OtaPatch[]>;
|
|
45
50
|
/**
|
|
@@ -65,6 +70,11 @@ export declare const getLocalAssetPath: (hash: string, ext: string) => string;
|
|
|
65
70
|
* @returns Absolute path to the patch file
|
|
66
71
|
*/
|
|
67
72
|
export declare const getLocalPatchPath: (patch: OtaPatch, docDir: string) => string;
|
|
73
|
+
/**
|
|
74
|
+
* Picks the registry entry for `localV → targetV`: a patch from the OTA bundle
|
|
75
|
+
* already on disk, else the full-bundle entry (store build, or outside the patch window).
|
|
76
|
+
*/
|
|
77
|
+
export declare const selectUpdate: (patchList: OtaPatch[], localV: number, targetV: number) => OtaPatch | undefined;
|
|
68
78
|
/** Runs the pipeline below; rejects if another update is already running. */
|
|
69
79
|
export declare const applyOtaPatchInternal: typeof runUpdatePipeline;
|
|
70
80
|
declare const runUpdatePipeline: (patch: OtaPatch, config: OtaConfig, onStatus: (status: OtaStatus, message: string, metrics?: OtaMetrics) => void, onProgress: (percent: number) => void, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otaCore.d.ts","sourceRoot":"","sources":["../../../src/ota/otaCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,EACH,SAAS,EAET,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EAEhB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"otaCore.d.ts","sourceRoot":"","sources":["../../../src/ota/otaCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,EACH,SAAS,EAET,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EAEhB,MAAM,SAAS,CAAC;AAYjB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,KAAG,MAAM,GAAG,IAU9D,CAAC;AAIF;;;;;;;;;;;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;AAwFF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,KAAG,OAAO,CAAC,QAAQ,EAAE,CAC3B,CAAC;AA+L7C;;;;;;;;;;;;;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,MACL,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,YAAY,GACrB,WAAW,QAAQ,EAAE,EACrB,QAAQ,MAAM,EACd,SAAS,MAAM,KAChB,QAAQ,GAAG,SAQb,CAAC;AAkBF,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAE,OAAO,iBAU1C,CAAC;AAEF,QAAA,MAAM,iBAAiB,GACnB,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,EACrC,UAAS;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAyB,kBAuN3D,CAAC"}
|
|
@@ -11,11 +11,10 @@ export declare const ensureOtaDir: () => Promise<void>;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const loadMetadata: (defaultVersion: number) => Promise<OtaMetadata>;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @param metadata - The metadata object to save.
|
|
14
|
+
* Atomically updates metadata: load → fn → save, serialized with every other
|
|
15
|
+
* update so a background install and markHealthy can't overwrite each other.
|
|
17
16
|
*/
|
|
18
|
-
export declare const
|
|
17
|
+
export declare const updateMetadata: (defaultVersion: number, fn: (metadata: OtaMetadata) => OtaMetadata) => Promise<OtaMetadata>;
|
|
19
18
|
/** Maximum number of previous versions kept in history for rollback. */
|
|
20
19
|
export declare const MAX_VERSION_HISTORY = 3;
|
|
21
20
|
/**
|
|
@@ -33,14 +32,17 @@ export declare const registerNewVersion: (metadata: OtaMetadata, newVersion: num
|
|
|
33
32
|
*/
|
|
34
33
|
export declare const cleanupOldVersions: (metadata: OtaMetadata, baseVersion: number) => Promise<void>;
|
|
35
34
|
/**
|
|
36
|
-
* Marks the
|
|
37
|
-
*
|
|
35
|
+
* Marks the running version healthy: the native resolver stops treating its
|
|
36
|
+
* launches as pending, so it is never rolled back afterwards (crash on first
|
|
37
|
+
* launch → rollback; crash after a verified launch → app bug, not a bad bundle).
|
|
38
38
|
* Also cleans up obsolete version directories from disk.
|
|
39
39
|
*
|
|
40
40
|
* @param defaultVersion - Base version for metadata lookup fallback.
|
|
41
|
+
* @param runningVersion - Version loaded at boot. If a background install has
|
|
42
|
+
* since switched currentVersion, the new version hasn't run yet and is left pending.
|
|
41
43
|
* @returns The updated metadata.
|
|
42
44
|
*/
|
|
43
|
-
export declare const markHealthy: (defaultVersion: number, appVersion?: string) => Promise<OtaMetadata>;
|
|
45
|
+
export declare const markHealthy: (defaultVersion: number, runningVersion: number, appVersion?: string) => Promise<OtaMetadata>;
|
|
44
46
|
/**
|
|
45
47
|
* Resolves the absolute path to the JS bundle for a specific version.
|
|
46
48
|
*
|
|
@@ -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;AAStC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACrB,gBAAgB,MAAM,KACvB,OAAO,CAAC,WAAW,CAkBrB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"otaMetadata.d.ts","sourceRoot":"","sources":["../../../src/ota/otaMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAStC;;GAEG;AACH,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAIjD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACrB,gBAAgB,MAAM,KACvB,OAAO,CAAC,WAAW,CAkBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GACvB,gBAAgB,MAAM,EACtB,IAAI,CAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,KAC3C,OAAO,CAAC,WAAW,CA0BrB,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC3B,UAAU,WAAW,EACrB,YAAY,MAAM,EAClB,aAAa,MAAM,KACpB,WAkBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC3B,UAAU,WAAW,EACrB,aAAa,MAAM,KACpB,OAAO,CAAC,IAAI,CAgCd,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACpB,gBAAgB,MAAM,EACtB,gBAAgB,MAAM,EACtB,aAAa,MAAM,KACpB,OAAO,CAAC,WAAW,CAkBrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACtB,SAAS,MAAM,EACf,aAAa,MAAM,KACpB,MAAM,GAAG,IAUX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubRawStorage.d.ts","sourceRoot":"","sources":["../../../../src/ota/storage/GitHubRawStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AA8BxE,qBAAa,wBAAyB,YAAW,kBAAkB;IACzD,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"GitHubRawStorage.d.ts","sourceRoot":"","sources":["../../../../src/ota/storage/GitHubRawStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AA8BxE,qBAAa,wBAAyB,YAAW,kBAAkB;IACzD,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmDrD,gBAAgB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,MAAM,CAAC;IAeZ,WAAW,CACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,MAAM,CAAC;CAWrB"}
|
|
@@ -29,10 +29,8 @@ export type OtaPatch = {
|
|
|
29
29
|
label: string;
|
|
30
30
|
/** App version this patch belongs to */
|
|
31
31
|
appVersion: string;
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
/** Filename on the server (e.g. "v1-to-v3.patch") */
|
|
35
|
-
filename: string;
|
|
32
|
+
/** Patch file on the server; absent on the full-bundle entry (installs `fullBundleUrl`) */
|
|
33
|
+
filename?: string;
|
|
36
34
|
/** Version the app must be at to apply this patch */
|
|
37
35
|
fromVersion: number;
|
|
38
36
|
/** Version this patch upgrades to */
|
|
@@ -43,14 +41,12 @@ export type OtaPatch = {
|
|
|
43
41
|
bundleHash?: string;
|
|
44
42
|
/** Minimum native app version required (semver) */
|
|
45
43
|
minAppVersion?: string;
|
|
46
|
-
/**
|
|
44
|
+
/** Full bundle file: used when there is no OTA bundle to patch from, or the patch fails */
|
|
47
45
|
fullBundleUrl?: string;
|
|
48
46
|
/** RSA/ECDSA SHA-256 signature (base64) of the patch file */
|
|
49
47
|
signature?: string;
|
|
50
48
|
/** RSA/ECDSA SHA-256 signature (base64) of the resulting bundle */
|
|
51
49
|
bundleSignature?: string;
|
|
52
|
-
/** Whether this update is mandatory */
|
|
53
|
-
mandatory?: boolean;
|
|
54
50
|
/** URL to the asset manifest JSON for this version */
|
|
55
51
|
assetManifestUrl?: string;
|
|
56
52
|
/** Target platform for this patch */
|
|
@@ -69,14 +65,6 @@ export type OtaAsset = {
|
|
|
69
65
|
/** Original relative path as Metro knows it (e.g. "drawable-mdpi/assets_images_foo.jpg") */
|
|
70
66
|
originalPath: string;
|
|
71
67
|
};
|
|
72
|
-
export type OtaRemotePatch = {
|
|
73
|
-
version: number;
|
|
74
|
-
minAppVersion: string;
|
|
75
|
-
patchUrl: string;
|
|
76
|
-
bundleHash: string;
|
|
77
|
-
baseHash: string;
|
|
78
|
-
mandatory: boolean;
|
|
79
|
-
};
|
|
80
68
|
export type OtaMetadata = {
|
|
81
69
|
currentVersion: number;
|
|
82
70
|
previousVersions: number[];
|
|
@@ -86,6 +74,8 @@ export type OtaMetadata = {
|
|
|
86
74
|
appVersion?: string;
|
|
87
75
|
/** Versions that crashed on boot and were rolled back; never re-applied */
|
|
88
76
|
failedVersions?: number[];
|
|
77
|
+
/** Last version that launched and rendered successfully; the native resolver never rolls it back */
|
|
78
|
+
verifiedVersion?: number;
|
|
89
79
|
};
|
|
90
80
|
export type OtaMetrics = {
|
|
91
81
|
patchSizeKB: number;
|
|
@@ -97,15 +87,12 @@ export type OtaMetrics = {
|
|
|
97
87
|
export type OtaNetworkStrategy = {
|
|
98
88
|
retry?: number;
|
|
99
89
|
timeoutMs?: number;
|
|
100
|
-
wifiOnly?: boolean;
|
|
101
90
|
};
|
|
102
91
|
export type OtaConfig = {
|
|
103
92
|
/** Current app versionName (e.g. "1.0.0"). If omitted, auto-detected from native app. */
|
|
104
93
|
appVersion?: string;
|
|
105
94
|
/** Initial version baked into the APK (usually 1) */
|
|
106
95
|
baseAppVersion: number;
|
|
107
|
-
/** Default patches if manifest fetch fails */
|
|
108
|
-
bundledPatches?: OtaPatch[];
|
|
109
96
|
/**
|
|
110
97
|
* Allow OTA checks and patch application while React Native is running in
|
|
111
98
|
* development mode (`__DEV__`). Disabled by default for safety.
|
|
@@ -113,7 +100,6 @@ export type OtaConfig = {
|
|
|
113
100
|
allowDebugUpdates?: boolean;
|
|
114
101
|
/** Enterprise configurations */
|
|
115
102
|
updateMode?: OtaUpdateMode;
|
|
116
|
-
maxRollback?: number;
|
|
117
103
|
network?: OtaNetworkStrategy;
|
|
118
104
|
/** Telemetry: structured event callback for analytics */
|
|
119
105
|
onEvent?: OtaEventCallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9E;AAED,oBAAY,aAAa;IACrB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;CAC9C;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/NativeBsPatch.ts
CHANGED
|
@@ -15,11 +15,6 @@ export interface Spec extends TurboModule {
|
|
|
15
15
|
patchPath: string,
|
|
16
16
|
): Promise<boolean>;
|
|
17
17
|
|
|
18
|
-
extractBundleFromAssets(
|
|
19
|
-
assetName: string,
|
|
20
|
-
destPath: string,
|
|
21
|
-
): Promise<boolean>;
|
|
22
|
-
|
|
23
18
|
/**
|
|
24
19
|
* Mark the current boot as healthy to prevent rollback
|
|
25
20
|
*/
|