react-native-bspatch 1.0.3 → 1.0.5
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/lib/commonjs/ota/otaCore.js +3 -0
- package/lib/commonjs/ota/otaCore.js.map +1 -1
- package/lib/commonjs/ota/storage/GitHubRawStorage.js +88 -0
- package/lib/commonjs/ota/storage/GitHubRawStorage.js.map +1 -0
- package/lib/commonjs/ota/types.js +2 -0
- package/lib/commonjs/ota/types.js.map +1 -1
- package/lib/module/ota/otaCore.js +3 -0
- package/lib/module/ota/otaCore.js.map +1 -1
- package/lib/module/ota/storage/GitHubRawStorage.js +82 -0
- package/lib/module/ota/storage/GitHubRawStorage.js.map +1 -0
- package/lib/module/ota/types.js +2 -0
- package/lib/module/ota/types.js.map +1 -1
- package/lib/typescript/ota/otaCore.d.ts.map +1 -1
- package/lib/typescript/ota/storage/GitHubRawStorage.d.ts +7 -0
- package/lib/typescript/ota/storage/GitHubRawStorage.d.ts.map +1 -0
- package/lib/typescript/ota/types.d.ts +3 -1
- package/lib/typescript/ota/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ota/otaCore.ts +3 -0
- package/src/ota/storage/GitHubRawStorage.ts +115 -0
- package/src/ota/types.ts +2 -0
- package/tools/build_ota.sh +8 -3
|
@@ -12,6 +12,7 @@ var _otaLogger = require("./otaLogger");
|
|
|
12
12
|
var _otaMetadata = require("./otaMetadata");
|
|
13
13
|
var _CustomStorage = require("./storage/CustomStorage");
|
|
14
14
|
var _GitHubReleaseStorage = require("./storage/GitHubReleaseStorage");
|
|
15
|
+
var _GitHubRawStorage = require("./storage/GitHubRawStorage");
|
|
15
16
|
var _types = require("./types");
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
/**
|
|
@@ -34,6 +35,7 @@ const OTA_DIR = `${_reactNativeBlobUtil.default.fs.dirs.DocumentDir}/ota`;
|
|
|
34
35
|
|
|
35
36
|
const DEFAULT_STORAGE = new _CustomStorage.CustomStorageProvider();
|
|
36
37
|
const GITHUB_STORAGE = new _GitHubReleaseStorage.GitHubReleaseStorageProvider();
|
|
38
|
+
const GITHUB_RAW_STORAGE = new _GitHubRawStorage.GitHubRawStorageProvider();
|
|
37
39
|
|
|
38
40
|
/**
|
|
39
41
|
* Get the storage provider for the given configuration.
|
|
@@ -42,6 +44,7 @@ const GITHUB_STORAGE = new _GitHubReleaseStorage.GitHubReleaseStorageProvider();
|
|
|
42
44
|
const getStorage = config => {
|
|
43
45
|
if (config.storage) return config.storage;
|
|
44
46
|
if (config.storageType === _types.OtaStorageType.GITHUB) return GITHUB_STORAGE;
|
|
47
|
+
if (config.storageType === _types.OtaStorageType.GITHUB_RAW) return GITHUB_RAW_STORAGE;
|
|
45
48
|
return DEFAULT_STORAGE;
|
|
46
49
|
};
|
|
47
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeBlobUtil","_interopRequireDefault","_cryptoJs","_NativeBsPatch","_otaLogger","_otaMetadata","_CustomStorage","_GitHubReleaseStorage","_types","e","__esModule","default","OTA_DIR","ReactNativeBlobUtil","fs","dirs","DocumentDir","DEFAULT_STORAGE","CustomStorageProvider","GITHUB_STORAGE","GitHubReleaseStorageProvider","getStorage","config","storage","storageType","OtaStorageType","GITHUB","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","exports","verifyHash","path","expectedHash","hash","toLowerCase","verifySignature","filePath","signature","publicKey","fileData","readFile","fileWords","CryptoJS","enc","Base64","parse","keyWords","signatureWords","hmac","HmacSHA256","isValid","toString","__DEV__","console","warn","error","decompressGzip","endsWith","decompressedPath","replace","success","NativeBsPatch","Error","downloadWithRetry","url","destPath","onProgress","headers","retryLimit","network","retry","timeout","timeoutMs","taskRef","task","fileCache","followRedirect","fetch","progress","received","total","percent","Math","floor","cancel","delay","pow","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","message","bundledPatches","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","OtaStatus","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","OtaEvent","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","id","applyOtaPatchInternal","createOtaLogger","onEvent","ensureOtaDir","totalStart","Date","now","finalBundlePath","getBundlePath","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","loadMetadata","oldBundlePath","currentVersion","bundleFilename","Platform","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","registerNewVersion","saveMetadata","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":["_reactNative","require","_reactNativeBlobUtil","_interopRequireDefault","_cryptoJs","_NativeBsPatch","_otaLogger","_otaMetadata","_CustomStorage","_GitHubReleaseStorage","_GitHubRawStorage","_types","e","__esModule","default","OTA_DIR","ReactNativeBlobUtil","fs","dirs","DocumentDir","DEFAULT_STORAGE","CustomStorageProvider","GITHUB_STORAGE","GitHubReleaseStorageProvider","GITHUB_RAW_STORAGE","GitHubRawStorageProvider","getStorage","config","storage","storageType","OtaStorageType","GITHUB","GITHUB_RAW","semverGte","a","b","pa","split","map","Number","pb","i","va","vb","exports","verifyHash","path","expectedHash","hash","toLowerCase","verifySignature","filePath","signature","publicKey","fileData","readFile","fileWords","CryptoJS","enc","Base64","parse","keyWords","signatureWords","hmac","HmacSHA256","isValid","toString","__DEV__","console","warn","error","decompressGzip","endsWith","decompressedPath","replace","success","NativeBsPatch","Error","downloadWithRetry","url","destPath","onProgress","headers","retryLimit","network","retry","timeout","timeoutMs","taskRef","task","fileCache","followRedirect","fetch","progress","received","total","percent","Math","floor","cancel","delay","pow","Promise","resolve","setTimeout","fetchOtaManifest","fetchManifest","message","bundledPatches","ASSET_STORE_DIR","downloadAndSyncAssets","assetManifestUrl","version","log","onStatus","OtaStatus","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","OtaEvent","DOWNLOAD_SUCCESS","initialWorkers","min","workers","Array","fill","all","getLocalAssetPath","getLocalPatchPath","patch","docDir","id","applyOtaPatchInternal","createOtaLogger","onEvent","ensureOtaDir","totalStart","Date","now","finalBundlePath","getBundlePath","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","loadMetadata","oldBundlePath","currentVersion","bundleFilename","Platform","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","registerNewVersion","saveMetadata","totalMs","PATCH_SUCCESS","SUCCESS","patchSizeKB","markAsHealthy","reloadBundle","fullBundleUrl","actualHash","fallbackError","ERROR"],"sourceRoot":"../../../src","sources":["ota/otaCore.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GitHubRawStorageProvider = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _reactNativeBlobUtil = _interopRequireDefault(require("react-native-blob-util"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
/**
|
|
11
|
+
* Storage Provider for fetching OTA updates directly from a GitHub Raw repository.
|
|
12
|
+
*
|
|
13
|
+
* Direct URL mapping:
|
|
14
|
+
* - Manifest: `${baseUrl}/${baseFolder}/ota_registry.json`
|
|
15
|
+
* - Patch file: `${baseUrl}/${baseFolder}/${appVersion}/${channel}/${filename}`
|
|
16
|
+
* - Assets: `${baseUrl}/${baseFolder}/assets/${hash}.${ext}`
|
|
17
|
+
*
|
|
18
|
+
* NOTE: All manifest/registry fetches include Cache-Control: no-cache and a
|
|
19
|
+
* timestamp query param to bypass GitHub CDN's 5-minute (max-age=300) cache.
|
|
20
|
+
* Asset URLs are content-addressed (hash-named) so they are immutable and
|
|
21
|
+
* intentionally NOT cache-busted.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/** Headers to bypass GitHub CDN cache on mutable files (registry, manifests) */
|
|
25
|
+
const NO_CACHE_HEADERS = {
|
|
26
|
+
'Cache-Control': 'no-cache'
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/** Append a timestamp query param to defeat CDN caches on mutable URLs */
|
|
30
|
+
const bustCache = url => `${url}?cb=${Date.now()}`;
|
|
31
|
+
class GitHubRawStorageProvider {
|
|
32
|
+
async fetchManifest(config) {
|
|
33
|
+
if (!config.customServer) return config.bundledPatches || [];
|
|
34
|
+
const {
|
|
35
|
+
baseUrl,
|
|
36
|
+
channel,
|
|
37
|
+
baseFolder = 'ota'
|
|
38
|
+
} = config.customServer;
|
|
39
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
40
|
+
// Cache-bust: registry is mutable; must always fetch the latest version
|
|
41
|
+
const registryUrl = bustCache(`${normalizedBaseUrl}/${baseFolder}/ota_registry.json`);
|
|
42
|
+
try {
|
|
43
|
+
const res = await _reactNativeBlobUtil.default.fetch('GET', registryUrl, NO_CACHE_HEADERS);
|
|
44
|
+
if (res.respInfo.status !== 200) {
|
|
45
|
+
throw new Error(`Registry fetch failed with status ${res.respInfo.status}`);
|
|
46
|
+
}
|
|
47
|
+
const registry = typeof res.data === 'string' ? JSON.parse(res.data) : res.data;
|
|
48
|
+
const appGroup = registry?.apps?.[config.appVersion];
|
|
49
|
+
const flavorGroup = appGroup?.flavors?.[channel.toLowerCase()] || appGroup?.flavors?.development;
|
|
50
|
+
if (!flavorGroup?.patches?.length) {
|
|
51
|
+
return config.bundledPatches || [];
|
|
52
|
+
}
|
|
53
|
+
return (flavorGroup.patches || []).filter(p => !p.platform || p.platform.toLowerCase() === _reactNative.Platform.OS.toLowerCase());
|
|
54
|
+
} catch (error) {
|
|
55
|
+
console.warn('[GitHubRawStorage] Manifest fetch error:', error.message);
|
|
56
|
+
return config.bundledPatches || [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async getUpdateFileUrl(filename, config) {
|
|
60
|
+
if (!config.customServer) {
|
|
61
|
+
throw new Error('customServer configuration missing');
|
|
62
|
+
}
|
|
63
|
+
const {
|
|
64
|
+
baseUrl,
|
|
65
|
+
baseFolder = 'ota',
|
|
66
|
+
channel
|
|
67
|
+
} = config.customServer;
|
|
68
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
69
|
+
const channelName = channel.toLowerCase();
|
|
70
|
+
|
|
71
|
+
// Cache-bust: patch files are versioned by name but GitHub CDN may
|
|
72
|
+
// serve a stale 404 response for newly uploaded files within 5 min.
|
|
73
|
+
return bustCache(`${normalizedBaseUrl}/${baseFolder}/${config.appVersion}/${channelName}/${filename}`);
|
|
74
|
+
}
|
|
75
|
+
async getAssetUrl(hash, ext, config) {
|
|
76
|
+
if (!config.customServer) return '';
|
|
77
|
+
const {
|
|
78
|
+
baseUrl,
|
|
79
|
+
baseFolder = 'ota'
|
|
80
|
+
} = config.customServer;
|
|
81
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
82
|
+
|
|
83
|
+
// Assets are content-addressed (hash = filename) → immutable, no cache-bust needed
|
|
84
|
+
return `${normalizedBaseUrl}/${baseFolder}/assets/${hash}.${ext}`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.GitHubRawStorageProvider = GitHubRawStorageProvider;
|
|
88
|
+
//# sourceMappingURL=GitHubRawStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeBlobUtil","_interopRequireDefault","e","__esModule","default","NO_CACHE_HEADERS","bustCache","url","Date","now","GitHubRawStorageProvider","fetchManifest","config","customServer","bundledPatches","baseUrl","channel","baseFolder","normalizedBaseUrl","endsWith","slice","registryUrl","res","ReactNativeBlobUtil","fetch","respInfo","status","Error","registry","data","JSON","parse","appGroup","apps","appVersion","flavorGroup","flavors","toLowerCase","development","patches","length","filter","p","platform","Platform","OS","error","console","warn","message","getUpdateFileUrl","filename","channelName","getAssetUrl","hash","ext","exports"],"sourceRoot":"../../../../src","sources":["ota/storage/GitHubRawStorage.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAyD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMG,gBAAgB,GAAG;EAAE,eAAe,EAAE;AAAW,CAAC;;AAExD;AACA,MAAMC,SAAS,GAAIC,GAAW,IAC1B,GAAGA,GAAG,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;AAEtB,MAAMC,wBAAwB,CAA+B;EAChE,MAAMC,aAAaA,CAACC,MAAiB,EAAuB;IACxD,IAAI,CAACA,MAAM,CAACC,YAAY,EAAE,OAAOD,MAAM,CAACE,cAAc,IAAI,EAAE;IAE5D,MAAM;MAAEC,OAAO;MAAEC,OAAO;MAAEC,UAAU,GAAG;IAAM,CAAC,GAAGL,MAAM,CAACC,YAAY;IACpE,MAAMK,iBAAiB,GAAGH,OAAO,CAACI,QAAQ,CAAC,GAAG,CAAC,GACzCJ,OAAO,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACpBL,OAAO;IACb;IACA,MAAMM,WAAW,GAAGf,SAAS,CACzB,GAAGY,iBAAiB,IAAID,UAAU,oBACtC,CAAC;IAED,IAAI;MACA,MAAMK,GAAG,GAAG,MAAMC,4BAAmB,CAACC,KAAK,CACvC,KAAK,EACLH,WAAW,EACXhB,gBACJ,CAAC;MACD,IAAIiB,GAAG,CAACG,QAAQ,CAACC,MAAM,KAAK,GAAG,EAAE;QAC7B,MAAM,IAAIC,KAAK,CACX,qCAAqCL,GAAG,CAACG,QAAQ,CAACC,MAAM,EAC5D,CAAC;MACL;MAEA,MAAME,QAAQ,GACV,OAAON,GAAG,CAACO,IAAI,KAAK,QAAQ,GACtBC,IAAI,CAACC,KAAK,CAACT,GAAG,CAACO,IAAI,CAAC,GACpBP,GAAG,CAACO,IAAI;MAElB,MAAMG,QAAQ,GAAGJ,QAAQ,EAAEK,IAAI,GAAGrB,MAAM,CAACsB,UAAU,CAAC;MACpD,MAAMC,WAAW,GACbH,QAAQ,EAAEI,OAAO,GAAGpB,OAAO,CAACqB,WAAW,CAAC,CAAC,CAAC,IAC1CL,QAAQ,EAAEI,OAAO,EAAEE,WAAW;MAElC,IAAI,CAACH,WAAW,EAAEI,OAAO,EAAEC,MAAM,EAAE;QAC/B,OAAO5B,MAAM,CAACE,cAAc,IAAI,EAAE;MACtC;MAEA,OAAO,CAACqB,WAAW,CAACI,OAAO,IAAI,EAAE,EAAEE,MAAM,CACpCC,CAAW,IACR,CAACA,CAAC,CAACC,QAAQ,IACXD,CAAC,CAACC,QAAQ,CAACN,WAAW,CAAC,CAAC,KAAKO,qBAAQ,CAACC,EAAE,CAACR,WAAW,CAAC,CAC7D,CAAC;IACL,CAAC,CAAC,OAAOS,KAAK,EAAE;MACZC,OAAO,CAACC,IAAI,CACR,0CAA0C,EACzCF,KAAK,CAAWG,OACrB,CAAC;MACD,OAAOrC,MAAM,CAACE,cAAc,IAAI,EAAE;IACtC;EACJ;EAEA,MAAMoC,gBAAgBA,CAClBC,QAAgB,EAChBvC,MAAiB,EACF;IACf,IAAI,CAACA,MAAM,CAACC,YAAY,EAAE;MACtB,MAAM,IAAIc,KAAK,CAAC,oCAAoC,CAAC;IACzD;IAEA,MAAM;MAAEZ,OAAO;MAAEE,UAAU,GAAG,KAAK;MAAED;IAAQ,CAAC,GAAGJ,MAAM,CAACC,YAAY;IACpE,MAAMK,iBAAiB,GAAGH,OAAO,CAACI,QAAQ,CAAC,GAAG,CAAC,GACzCJ,OAAO,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACpBL,OAAO;IACb,MAAMqC,WAAW,GAAGpC,OAAO,CAACqB,WAAW,CAAC,CAAC;;IAEzC;IACA;IACA,OAAO/B,SAAS,CACZ,GAAGY,iBAAiB,IAAID,UAAU,IAAIL,MAAM,CAACsB,UAAU,IAAIkB,WAAW,IAAID,QAAQ,EACtF,CAAC;EACL;EAEA,MAAME,WAAWA,CACbC,IAAY,EACZC,GAAW,EACX3C,MAAiB,EACF;IACf,IAAI,CAACA,MAAM,CAACC,YAAY,EAAE,OAAO,EAAE;IAEnC,MAAM;MAAEE,OAAO;MAAEE,UAAU,GAAG;IAAM,CAAC,GAAGL,MAAM,CAACC,YAAY;IAC3D,MAAMK,iBAAiB,GAAGH,OAAO,CAACI,QAAQ,CAAC,GAAG,CAAC,GACzCJ,OAAO,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACpBL,OAAO;;IAEb;IACA,OAAO,GAAGG,iBAAiB,IAAID,UAAU,WAAWqC,IAAI,IAAIC,GAAG,EAAE;EACrE;AACJ;AAACC,OAAA,CAAA9C,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -19,6 +19,8 @@ let OtaStorageType = exports.OtaStorageType = /*#__PURE__*/function (OtaStorageT
|
|
|
19
19
|
OtaStorageType["CUSTOM"] = "CUSTOM";
|
|
20
20
|
/** GitHub Releases — public or token-authenticated */
|
|
21
21
|
OtaStorageType["GITHUB"] = "GITHUB";
|
|
22
|
+
/** GitHub Raw repository storage */
|
|
23
|
+
OtaStorageType["GITHUB_RAW"] = "GITHUB_RAW";
|
|
22
24
|
return OtaStorageType;
|
|
23
25
|
}({});
|
|
24
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OtaUpdateMode","exports","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AAFA,IAuBYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAObE,cAAc,GAAAD,OAAA,CAAAC,cAAA,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAAA,OAAdA,cAAc;AAAA;
|
|
1
|
+
{"version":3,"names":["OtaUpdateMode","exports","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AAFA,IAuBYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAObE,cAAc,GAAAD,OAAA,CAAAC,cAAA,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAKtB;EALQA,cAAc;EAAA,OAAdA,cAAc;AAAA;AA8C1B;AACA;AACA;AAFA,IAiHYC,SAAS,GAAAF,OAAA,CAAAE,SAAA,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":[]}
|
|
@@ -22,6 +22,7 @@ import { createOtaLogger, OtaEvent } from './otaLogger';
|
|
|
22
22
|
import { ensureOtaDir, getBundlePath, loadMetadata, registerNewVersion, saveMetadata } from './otaMetadata';
|
|
23
23
|
import { CustomStorageProvider } from './storage/CustomStorage';
|
|
24
24
|
import { GitHubReleaseStorageProvider } from './storage/GitHubReleaseStorage';
|
|
25
|
+
import { GitHubRawStorageProvider } from './storage/GitHubRawStorage';
|
|
25
26
|
import { OtaStatus, OtaStorageType } from './types';
|
|
26
27
|
const OTA_DIR = `${ReactNativeBlobUtil.fs.dirs.DocumentDir}/ota`;
|
|
27
28
|
|
|
@@ -29,6 +30,7 @@ const OTA_DIR = `${ReactNativeBlobUtil.fs.dirs.DocumentDir}/ota`;
|
|
|
29
30
|
|
|
30
31
|
const DEFAULT_STORAGE = new CustomStorageProvider();
|
|
31
32
|
const GITHUB_STORAGE = new GitHubReleaseStorageProvider();
|
|
33
|
+
const GITHUB_RAW_STORAGE = new GitHubRawStorageProvider();
|
|
32
34
|
|
|
33
35
|
/**
|
|
34
36
|
* Get the storage provider for the given configuration.
|
|
@@ -37,6 +39,7 @@ const GITHUB_STORAGE = new GitHubReleaseStorageProvider();
|
|
|
37
39
|
const getStorage = config => {
|
|
38
40
|
if (config.storage) return config.storage;
|
|
39
41
|
if (config.storageType === OtaStorageType.GITHUB) return GITHUB_STORAGE;
|
|
42
|
+
if (config.storageType === OtaStorageType.GITHUB_RAW) return GITHUB_RAW_STORAGE;
|
|
40
43
|
return DEFAULT_STORAGE;
|
|
41
44
|
};
|
|
42
45
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","ReactNativeBlobUtil","CryptoJS","NativeBsPatch","createOtaLogger","OtaEvent","ensureOtaDir","getBundlePath","loadMetadata","registerNewVersion","saveMetadata","CustomStorageProvider","GitHubReleaseStorageProvider","OtaStatus","OtaStorageType","OTA_DIR","fs","dirs","DocumentDir","DEFAULT_STORAGE","GITHUB_STORAGE","getStorage","config","storage","storageType","GITHUB","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","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":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import ReactNativeBlobUtil from 'react-native-blob-util';
|
|
5
|
+
/**
|
|
6
|
+
* Storage Provider for fetching OTA updates directly from a GitHub Raw repository.
|
|
7
|
+
*
|
|
8
|
+
* Direct URL mapping:
|
|
9
|
+
* - Manifest: `${baseUrl}/${baseFolder}/ota_registry.json`
|
|
10
|
+
* - Patch file: `${baseUrl}/${baseFolder}/${appVersion}/${channel}/${filename}`
|
|
11
|
+
* - Assets: `${baseUrl}/${baseFolder}/assets/${hash}.${ext}`
|
|
12
|
+
*
|
|
13
|
+
* NOTE: All manifest/registry fetches include Cache-Control: no-cache and a
|
|
14
|
+
* timestamp query param to bypass GitHub CDN's 5-minute (max-age=300) cache.
|
|
15
|
+
* Asset URLs are content-addressed (hash-named) so they are immutable and
|
|
16
|
+
* intentionally NOT cache-busted.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** Headers to bypass GitHub CDN cache on mutable files (registry, manifests) */
|
|
20
|
+
const NO_CACHE_HEADERS = {
|
|
21
|
+
'Cache-Control': 'no-cache'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** Append a timestamp query param to defeat CDN caches on mutable URLs */
|
|
25
|
+
const bustCache = url => `${url}?cb=${Date.now()}`;
|
|
26
|
+
export class GitHubRawStorageProvider {
|
|
27
|
+
async fetchManifest(config) {
|
|
28
|
+
if (!config.customServer) return config.bundledPatches || [];
|
|
29
|
+
const {
|
|
30
|
+
baseUrl,
|
|
31
|
+
channel,
|
|
32
|
+
baseFolder = 'ota'
|
|
33
|
+
} = config.customServer;
|
|
34
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
35
|
+
// Cache-bust: registry is mutable; must always fetch the latest version
|
|
36
|
+
const registryUrl = bustCache(`${normalizedBaseUrl}/${baseFolder}/ota_registry.json`);
|
|
37
|
+
try {
|
|
38
|
+
const res = await ReactNativeBlobUtil.fetch('GET', registryUrl, NO_CACHE_HEADERS);
|
|
39
|
+
if (res.respInfo.status !== 200) {
|
|
40
|
+
throw new Error(`Registry fetch failed with status ${res.respInfo.status}`);
|
|
41
|
+
}
|
|
42
|
+
const registry = typeof res.data === 'string' ? JSON.parse(res.data) : res.data;
|
|
43
|
+
const appGroup = registry?.apps?.[config.appVersion];
|
|
44
|
+
const flavorGroup = appGroup?.flavors?.[channel.toLowerCase()] || appGroup?.flavors?.development;
|
|
45
|
+
if (!flavorGroup?.patches?.length) {
|
|
46
|
+
return config.bundledPatches || [];
|
|
47
|
+
}
|
|
48
|
+
return (flavorGroup.patches || []).filter(p => !p.platform || p.platform.toLowerCase() === Platform.OS.toLowerCase());
|
|
49
|
+
} catch (error) {
|
|
50
|
+
console.warn('[GitHubRawStorage] Manifest fetch error:', error.message);
|
|
51
|
+
return config.bundledPatches || [];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async getUpdateFileUrl(filename, config) {
|
|
55
|
+
if (!config.customServer) {
|
|
56
|
+
throw new Error('customServer configuration missing');
|
|
57
|
+
}
|
|
58
|
+
const {
|
|
59
|
+
baseUrl,
|
|
60
|
+
baseFolder = 'ota',
|
|
61
|
+
channel
|
|
62
|
+
} = config.customServer;
|
|
63
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
64
|
+
const channelName = channel.toLowerCase();
|
|
65
|
+
|
|
66
|
+
// Cache-bust: patch files are versioned by name but GitHub CDN may
|
|
67
|
+
// serve a stale 404 response for newly uploaded files within 5 min.
|
|
68
|
+
return bustCache(`${normalizedBaseUrl}/${baseFolder}/${config.appVersion}/${channelName}/${filename}`);
|
|
69
|
+
}
|
|
70
|
+
async getAssetUrl(hash, ext, config) {
|
|
71
|
+
if (!config.customServer) return '';
|
|
72
|
+
const {
|
|
73
|
+
baseUrl,
|
|
74
|
+
baseFolder = 'ota'
|
|
75
|
+
} = config.customServer;
|
|
76
|
+
const normalizedBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
77
|
+
|
|
78
|
+
// Assets are content-addressed (hash = filename) → immutable, no cache-bust needed
|
|
79
|
+
return `${normalizedBaseUrl}/${baseFolder}/assets/${hash}.${ext}`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=GitHubRawStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","ReactNativeBlobUtil","NO_CACHE_HEADERS","bustCache","url","Date","now","GitHubRawStorageProvider","fetchManifest","config","customServer","bundledPatches","baseUrl","channel","baseFolder","normalizedBaseUrl","endsWith","slice","registryUrl","res","fetch","respInfo","status","Error","registry","data","JSON","parse","appGroup","apps","appVersion","flavorGroup","flavors","toLowerCase","development","patches","length","filter","p","platform","OS","error","console","warn","message","getUpdateFileUrl","filename","channelName","getAssetUrl","hash","ext"],"sourceRoot":"../../../../src","sources":["ota/storage/GitHubRawStorage.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/ota/types.js
CHANGED
|
@@ -16,6 +16,8 @@ export let OtaStorageType = /*#__PURE__*/function (OtaStorageType) {
|
|
|
16
16
|
OtaStorageType["CUSTOM"] = "CUSTOM";
|
|
17
17
|
/** GitHub Releases — public or token-authenticated */
|
|
18
18
|
OtaStorageType["GITHUB"] = "GITHUB";
|
|
19
|
+
/** GitHub Raw repository storage */
|
|
20
|
+
OtaStorageType["GITHUB_RAW"] = "GITHUB_RAW";
|
|
19
21
|
return OtaStorageType;
|
|
20
22
|
}({});
|
|
21
23
|
|
|
@@ -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;EAAA,OAAdA,cAAc;AAAA;;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otaCore.d.ts","sourceRoot":"","sources":["../../../src/ota/otaCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { OtaConfig, OtaPatch, OtaStorageProvider } from '../types';
|
|
2
|
+
export declare class GitHubRawStorageProvider implements OtaStorageProvider {
|
|
3
|
+
fetchManifest(config: OtaConfig): Promise<OtaPatch[]>;
|
|
4
|
+
getUpdateFileUrl(filename: string, config: OtaConfig): Promise<string>;
|
|
5
|
+
getAssetUrl(hash: string, ext: string, config: OtaConfig): Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=GitHubRawStorage.d.ts.map
|
|
@@ -0,0 +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;AAuBxE,qBAAa,wBAAyB,YAAW,kBAAkB;IACzD,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoDrD,gBAAgB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,MAAM,CAAC;IAkBZ,WAAW,CACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,MAAM,CAAC;CAWrB"}
|
|
@@ -26,7 +26,9 @@ export declare enum OtaStorageType {
|
|
|
26
26
|
/** Custom storage server (primary) */
|
|
27
27
|
CUSTOM = "CUSTOM",
|
|
28
28
|
/** GitHub Releases — public or token-authenticated */
|
|
29
|
-
GITHUB = "GITHUB"
|
|
29
|
+
GITHUB = "GITHUB",
|
|
30
|
+
/** GitHub Raw repository storage */
|
|
31
|
+
GITHUB_RAW = "GITHUB_RAW"
|
|
30
32
|
}
|
|
31
33
|
export type OtaPatch = {
|
|
32
34
|
/** Unique ID: `v{from}-to-v{to}` */
|
|
@@ -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,oBAAY,cAAc;IACtB,sCAAsC;IACtC,MAAM,WAAW;IACjB,sDAAsD;IACtD,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/ota/otaCore.ts
CHANGED
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
} from './otaMetadata';
|
|
27
27
|
import { CustomStorageProvider } from './storage/CustomStorage';
|
|
28
28
|
import { GitHubReleaseStorageProvider } from './storage/GitHubReleaseStorage';
|
|
29
|
+
import { GitHubRawStorageProvider } from './storage/GitHubRawStorage';
|
|
29
30
|
import {
|
|
30
31
|
OtaStatus,
|
|
31
32
|
OtaStorageType,
|
|
@@ -42,6 +43,7 @@ const OTA_DIR = `${ReactNativeBlobUtil.fs.dirs.DocumentDir}/ota`;
|
|
|
42
43
|
|
|
43
44
|
const DEFAULT_STORAGE = new CustomStorageProvider();
|
|
44
45
|
const GITHUB_STORAGE = new GitHubReleaseStorageProvider();
|
|
46
|
+
const GITHUB_RAW_STORAGE = new GitHubRawStorageProvider();
|
|
45
47
|
|
|
46
48
|
/**
|
|
47
49
|
* Get the storage provider for the given configuration.
|
|
@@ -50,6 +52,7 @@ const GITHUB_STORAGE = new GitHubReleaseStorageProvider();
|
|
|
50
52
|
const getStorage = (config: OtaConfig): OtaStorageProvider => {
|
|
51
53
|
if (config.storage) return config.storage;
|
|
52
54
|
if (config.storageType === OtaStorageType.GITHUB) return GITHUB_STORAGE;
|
|
55
|
+
if (config.storageType === OtaStorageType.GITHUB_RAW) return GITHUB_RAW_STORAGE;
|
|
53
56
|
return DEFAULT_STORAGE;
|
|
54
57
|
};
|
|
55
58
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import ReactNativeBlobUtil from 'react-native-blob-util';
|
|
3
|
+
import type { OtaConfig, OtaPatch, OtaStorageProvider } from '../types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Storage Provider for fetching OTA updates directly from a GitHub Raw repository.
|
|
7
|
+
*
|
|
8
|
+
* Direct URL mapping:
|
|
9
|
+
* - Manifest: `${baseUrl}/${baseFolder}/ota_registry.json`
|
|
10
|
+
* - Patch file: `${baseUrl}/${baseFolder}/${appVersion}/${channel}/${filename}`
|
|
11
|
+
* - Assets: `${baseUrl}/${baseFolder}/assets/${hash}.${ext}`
|
|
12
|
+
*
|
|
13
|
+
* NOTE: All manifest/registry fetches include Cache-Control: no-cache and a
|
|
14
|
+
* timestamp query param to bypass GitHub CDN's 5-minute (max-age=300) cache.
|
|
15
|
+
* Asset URLs are content-addressed (hash-named) so they are immutable and
|
|
16
|
+
* intentionally NOT cache-busted.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** Headers to bypass GitHub CDN cache on mutable files (registry, manifests) */
|
|
20
|
+
const NO_CACHE_HEADERS = { 'Cache-Control': 'no-cache' };
|
|
21
|
+
|
|
22
|
+
/** Append a timestamp query param to defeat CDN caches on mutable URLs */
|
|
23
|
+
const bustCache = (url: string): string =>
|
|
24
|
+
`${url}?cb=${Date.now()}`;
|
|
25
|
+
|
|
26
|
+
export class GitHubRawStorageProvider implements OtaStorageProvider {
|
|
27
|
+
async fetchManifest(config: OtaConfig): Promise<OtaPatch[]> {
|
|
28
|
+
if (!config.customServer) return config.bundledPatches || [];
|
|
29
|
+
|
|
30
|
+
const { baseUrl, channel, baseFolder = 'ota' } = config.customServer;
|
|
31
|
+
const normalizedBaseUrl = baseUrl.endsWith('/')
|
|
32
|
+
? baseUrl.slice(0, -1)
|
|
33
|
+
: baseUrl;
|
|
34
|
+
// Cache-bust: registry is mutable; must always fetch the latest version
|
|
35
|
+
const registryUrl = bustCache(
|
|
36
|
+
`${normalizedBaseUrl}/${baseFolder}/ota_registry.json`,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
const res = await ReactNativeBlobUtil.fetch(
|
|
41
|
+
'GET',
|
|
42
|
+
registryUrl,
|
|
43
|
+
NO_CACHE_HEADERS,
|
|
44
|
+
);
|
|
45
|
+
if (res.respInfo.status !== 200) {
|
|
46
|
+
throw new Error(
|
|
47
|
+
`Registry fetch failed with status ${res.respInfo.status}`,
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const registry =
|
|
52
|
+
typeof res.data === 'string'
|
|
53
|
+
? JSON.parse(res.data)
|
|
54
|
+
: res.data;
|
|
55
|
+
|
|
56
|
+
const appGroup = registry?.apps?.[config.appVersion];
|
|
57
|
+
const flavorGroup =
|
|
58
|
+
appGroup?.flavors?.[channel.toLowerCase()] ||
|
|
59
|
+
appGroup?.flavors?.development;
|
|
60
|
+
|
|
61
|
+
if (!flavorGroup?.patches?.length) {
|
|
62
|
+
return config.bundledPatches || [];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return (flavorGroup.patches || []).filter(
|
|
66
|
+
(p: OtaPatch) =>
|
|
67
|
+
!p.platform ||
|
|
68
|
+
p.platform.toLowerCase() === Platform.OS.toLowerCase(),
|
|
69
|
+
);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
console.warn(
|
|
72
|
+
'[GitHubRawStorage] Manifest fetch error:',
|
|
73
|
+
(error as Error).message,
|
|
74
|
+
);
|
|
75
|
+
return config.bundledPatches || [];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async getUpdateFileUrl(
|
|
80
|
+
filename: string,
|
|
81
|
+
config: OtaConfig,
|
|
82
|
+
): Promise<string> {
|
|
83
|
+
if (!config.customServer) {
|
|
84
|
+
throw new Error('customServer configuration missing');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const { baseUrl, baseFolder = 'ota', channel } = config.customServer;
|
|
88
|
+
const normalizedBaseUrl = baseUrl.endsWith('/')
|
|
89
|
+
? baseUrl.slice(0, -1)
|
|
90
|
+
: baseUrl;
|
|
91
|
+
const channelName = channel.toLowerCase();
|
|
92
|
+
|
|
93
|
+
// Cache-bust: patch files are versioned by name but GitHub CDN may
|
|
94
|
+
// serve a stale 404 response for newly uploaded files within 5 min.
|
|
95
|
+
return bustCache(
|
|
96
|
+
`${normalizedBaseUrl}/${baseFolder}/${config.appVersion}/${channelName}/${filename}`,
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async getAssetUrl(
|
|
101
|
+
hash: string,
|
|
102
|
+
ext: string,
|
|
103
|
+
config: OtaConfig,
|
|
104
|
+
): Promise<string> {
|
|
105
|
+
if (!config.customServer) return '';
|
|
106
|
+
|
|
107
|
+
const { baseUrl, baseFolder = 'ota' } = config.customServer;
|
|
108
|
+
const normalizedBaseUrl = baseUrl.endsWith('/')
|
|
109
|
+
? baseUrl.slice(0, -1)
|
|
110
|
+
: baseUrl;
|
|
111
|
+
|
|
112
|
+
// Assets are content-addressed (hash = filename) → immutable, no cache-bust needed
|
|
113
|
+
return `${normalizedBaseUrl}/${baseFolder}/assets/${hash}.${ext}`;
|
|
114
|
+
}
|
|
115
|
+
}
|
package/src/ota/types.ts
CHANGED
package/tools/build_ota.sh
CHANGED
|
@@ -95,9 +95,11 @@ if [ "$ACTION" != "reset" ]; then
|
|
|
95
95
|
|
|
96
96
|
if [[ "$BASE_URL" == *"github"* ]] || [[ "$BASE_URL" == *"raw.githubusercontent"* ]]; then
|
|
97
97
|
echo " Downloading remote registry from GitHub..."
|
|
98
|
-
|
|
98
|
+
# Add cache-busting params + Cache-Control header to bypass GitHub CDN 5-min cache
|
|
99
|
+
CACHE_BUST="?cb=$(date +%s)"
|
|
100
|
+
HTTP_CODE=$(curl -s -w "%{http_code}" -H "Cache-Control: no-cache" -o "$REGISTRY_SHARED.tmp" "$BASE_URL/$BASE_FOLDER/ota_registry.json${CACHE_BUST}" 2>/dev/null || true)
|
|
99
101
|
if [ "$HTTP_CODE" != "200" ]; then
|
|
100
|
-
HTTP_CODE=$(curl -s -w "%{http_code}" -o "$REGISTRY_SHARED.tmp" "$BASE_URL/ota_registry.json" 2>/dev/null || true)
|
|
102
|
+
HTTP_CODE=$(curl -s -w "%{http_code}" -H "Cache-Control: no-cache" -o "$REGISTRY_SHARED.tmp" "$BASE_URL/ota_registry.json${CACHE_BUST}" 2>/dev/null || true)
|
|
101
103
|
fi
|
|
102
104
|
if [ "$HTTP_CODE" = "200" ] && [ -s "$REGISTRY_SHARED.tmp" ]; then
|
|
103
105
|
mv "$REGISTRY_SHARED.tmp" "$REGISTRY_SHARED"
|
|
@@ -150,9 +152,12 @@ fi
|
|
|
150
152
|
download_from_minio() {
|
|
151
153
|
local REMOTE_PATH="$1"
|
|
152
154
|
local DEST="$2"
|
|
155
|
+
local CB="?cb=$(date +%s)"
|
|
153
156
|
|
|
154
157
|
if [[ "$BASE_URL" == *"github"* ]] || [[ "$BASE_URL" == *"raw.githubusercontent"* ]]; then
|
|
155
|
-
|
|
158
|
+
# Use Cache-Control: no-cache + timestamp query to bypass GitHub CDN 5-min cache
|
|
159
|
+
curl -s -f -H "Cache-Control: no-cache" -o "$DEST" "$BASE_URL/$REMOTE_PATH${CB}" 2>/dev/null || \
|
|
160
|
+
curl -s -f -H "Cache-Control: no-cache" -o "$DEST" "$BASE_URL/$(basename "$REMOTE_PATH")${CB}" 2>/dev/null
|
|
156
161
|
return $?
|
|
157
162
|
fi
|
|
158
163
|
|