react-native-bspatch 4.0.3 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/lib/commonjs/ota/OtaProvider.js +10 -14
- package/lib/commonjs/ota/OtaProvider.js.map +1 -1
- package/lib/module/ota/OtaProvider.js +10 -14
- package/lib/module/ota/OtaProvider.js.map +1 -1
- package/lib/typescript/ota/OtaProvider.d.ts.map +1 -1
- package/lib/typescript/ota/types.d.ts +2 -0
- package/lib/typescript/ota/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ota/OtaProvider.tsx +14 -20
- package/src/ota/types.ts +2 -0
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Premium OTA update solution for React Native using **TurboModules** + **bsdiff b
|
|
|
7
7
|
- **Binary delta patches** — after the first OTA, clients download only the diff from the OTA bundle they already run (typically a few hundred KB)
|
|
8
8
|
- **POSIX `mmap()` Zero-Copy Engine** — patches directly in mapped pages, saving ~85–90% heap RAM
|
|
9
9
|
- **ARM NEON SIMD Fast-Path** — vectorized diff patching via Clang SIMD
|
|
10
|
-
- **Silent Background Updates** — download and apply updates completely in the background;
|
|
10
|
+
- **Silent Background Updates** — download and apply updates completely in the background; activates on next cold start or when you call `reloadBundle()`
|
|
11
11
|
- **Auto Native Version Detection** — auto-detects `versionName` (Android) and `CFBundleShortVersionString` (iOS); no manual version sync in JS
|
|
12
12
|
- **Asymmetric Cryptography (RSA & ECDSA)** — sign patches on server/CI with Private Key; client verifies with Public Key (zero secret leakage)
|
|
13
13
|
- **Shorebird-style CLI** — `patch android|ios`, release version read from the native project and confirmed with one Enter
|
|
@@ -147,7 +147,7 @@ type OtaConfig = {
|
|
|
147
147
|
* - MANUAL: call checkUpdate() / applyUpdate() manually
|
|
148
148
|
* - ON_APP_START: check and apply automatically on cold start
|
|
149
149
|
* - ON_APP_FOREGROUND: check when app returns to foreground
|
|
150
|
-
* - BACKGROUND_DOWNLOAD: download and patch in background; applies on next
|
|
150
|
+
* - BACKGROUND_DOWNLOAD: download and patch in background; applies on next cold start or reloadBundle()
|
|
151
151
|
*/
|
|
152
152
|
updateMode?: OtaUpdateMode;
|
|
153
153
|
|
|
@@ -192,7 +192,7 @@ enum OtaUpdateMode {
|
|
|
192
192
|
MANUAL = 'MANUAL', // No auto behavior
|
|
193
193
|
ON_APP_START = 'ON_APP_START', // Check + apply on every cold start
|
|
194
194
|
ON_APP_FOREGROUND = 'ON_APP_FOREGROUND', // Check when app returns to foreground
|
|
195
|
-
BACKGROUND_DOWNLOAD = 'BACKGROUND_DOWNLOAD', // Silent download; applies on next start or
|
|
195
|
+
BACKGROUND_DOWNLOAD = 'BACKGROUND_DOWNLOAD', // Silent download; applies on next cold start or reloadBundle()
|
|
196
196
|
}
|
|
197
197
|
```
|
|
198
198
|
|
|
@@ -326,6 +326,7 @@ const {
|
|
|
326
326
|
metrics, // OtaMetrics | null — timing/size data after update
|
|
327
327
|
isUpdateReady, // True if background update is downloaded and ready
|
|
328
328
|
applyUpdate, // () => Promise<void> — download and apply update immediately
|
|
329
|
+
applyVersion, // (version) => Promise<void> — download and apply a specific version from the manifest
|
|
329
330
|
resetToFactory, // () => Promise<void> — wipe OTA state, reload APK/IPA
|
|
330
331
|
markAsHealthy, // () => Promise<void> — manually mark launch OK
|
|
331
332
|
checkUpdate, // () => Promise<void> — manual update check
|
|
@@ -35,7 +35,6 @@ function OtaProvider({
|
|
|
35
35
|
const [isUpdateReady, setIsUpdateReady] = (0, _react.useState)(false);
|
|
36
36
|
const appState = (0, _react.useRef)(_reactNative.AppState.currentState);
|
|
37
37
|
const isCheckingRef = (0, _react.useRef)(false);
|
|
38
|
-
const pendingReloadRef = (0, _react.useRef)(false);
|
|
39
38
|
const bootstrapDone = (0, _react.useRef)(false);
|
|
40
39
|
/** Version the native resolver loaded for this JS session */
|
|
41
40
|
const runningVersionRef = (0, _react.useRef)(config.baseAppVersion);
|
|
@@ -112,15 +111,16 @@ function OtaProvider({
|
|
|
112
111
|
/**
|
|
113
112
|
* Exposed method for manual trigger
|
|
114
113
|
*/
|
|
115
|
-
const
|
|
114
|
+
const applyVersion = (0, _react.useCallback)(async targetVersion => {
|
|
116
115
|
if (!isDebugUpdateEnabled) {
|
|
117
116
|
setPendingCount(0);
|
|
118
117
|
setStatus(_types.OtaStatus.UP_TO_DATE);
|
|
119
118
|
setMessage('OTA updates are disabled while running a debug build.');
|
|
120
119
|
return;
|
|
121
120
|
}
|
|
122
|
-
await executeApplyUpdate(patches, currentVersion,
|
|
123
|
-
}, [currentVersion, executeApplyUpdate, isDebugUpdateEnabled,
|
|
121
|
+
await executeApplyUpdate(patches, currentVersion, targetVersion);
|
|
122
|
+
}, [currentVersion, executeApplyUpdate, isDebugUpdateEnabled, patches]);
|
|
123
|
+
const applyUpdate = (0, _react.useCallback)(() => applyVersion(latestVersion), [applyVersion, latestVersion]);
|
|
124
124
|
const downloadBackgroundUpdate = (0, _react.useCallback)(async (patchList, localV, targetV) => {
|
|
125
125
|
const directPatch = (0, _otaCore.selectUpdate)(patchList, localV, targetV);
|
|
126
126
|
if (!directPatch) return;
|
|
@@ -129,7 +129,6 @@ function OtaProvider({
|
|
|
129
129
|
await (0, _otaCore.applyOtaPatchInternal)(directPatch, effectiveConfig, (s, msg, m) => {
|
|
130
130
|
if (s === _types.OtaStatus.SUCCESS) {
|
|
131
131
|
setIsUpdateReady(true);
|
|
132
|
-
pendingReloadRef.current = true;
|
|
133
132
|
setStatus(_types.OtaStatus.UP_TO_DATE);
|
|
134
133
|
setMessage(`Update V${targetV} ready for next launch`);
|
|
135
134
|
if (m) setMetrics(m);
|
|
@@ -259,17 +258,13 @@ function OtaProvider({
|
|
|
259
258
|
}, []);
|
|
260
259
|
|
|
261
260
|
/**
|
|
262
|
-
* AppState listener for ON_APP_FOREGROUND mode
|
|
261
|
+
* AppState listener for ON_APP_FOREGROUND mode.
|
|
262
|
+
* A downloaded update is not reloaded on background: iOS suspends JS before the
|
|
263
|
+
* first render, so the native resolver counts the launch as failed and rolls it back.
|
|
264
|
+
* metadata already points at the new version, so the next cold start applies it
|
|
263
265
|
*/
|
|
264
266
|
(0, _react.useEffect)(() => {
|
|
265
267
|
const subscription = _reactNative.AppState.addEventListener('change', nextAppState => {
|
|
266
|
-
// When going into background: if update is downloaded and ready, reload bundle silently
|
|
267
|
-
// Only 'background', not 'inactive' (iOS fires it for Control Center, calls,
|
|
268
|
-
// Face ID). Any previous state: iOS goes active → inactive → background.
|
|
269
|
-
if (nextAppState === 'background' && pendingReloadRef.current) {
|
|
270
|
-
pendingReloadRef.current = false;
|
|
271
|
-
_NativeBsPatch.default.reloadBundle();
|
|
272
|
-
}
|
|
273
268
|
if (appState.current.match(/inactive|background/) && nextAppState === 'active' && bootstrapDone.current) {
|
|
274
269
|
const mode = config.updateMode ?? _types.OtaUpdateMode.MANUAL;
|
|
275
270
|
if (mode === _types.OtaUpdateMode.ON_APP_FOREGROUND) {
|
|
@@ -319,11 +314,12 @@ function OtaProvider({
|
|
|
319
314
|
metrics,
|
|
320
315
|
isUpdateReady,
|
|
321
316
|
applyUpdate,
|
|
317
|
+
applyVersion,
|
|
322
318
|
resetToFactory,
|
|
323
319
|
markAsHealthy,
|
|
324
320
|
checkUpdate: checkUpdates,
|
|
325
321
|
reloadBundle: () => _NativeBsPatch.default.reloadBundle()
|
|
326
|
-
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, applyUpdate, resetToFactory, markAsHealthy, checkUpdates]);
|
|
322
|
+
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, applyUpdate, applyVersion, resetToFactory, markAsHealthy, checkUpdates]);
|
|
327
323
|
|
|
328
324
|
// Logic to determine if we should block the UI
|
|
329
325
|
const isBlocking = (0, _react.useMemo)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NativeBsPatch","_interopRequireDefault","_otaCore","_otaLogger","_otaMetadata","_types","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtaContext","createContext","undefined","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","useState","OtaStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","appState","useRef","AppState","currentState","isCheckingRef","pendingReloadRef","bootstrapDone","runningVersionRef","progressRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","getEffectiveConfig","appVersion","nativeVer","NativeBsPatch","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","directPatch","selectUpdate","console","warn","ERROR","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","percent","error","applyUpdate","UP_TO_DATE","downloadBackgroundUpdate","localV","targetV","SUCCESS","autoReload","checkUpdates","CHECKING","createOtaLogger","onEvent","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","metadata","loadMetadata","failed","failedVersions","platformPatches","filter","p","platform","toLowerCase","Platform","OS","includes","toVersion","maxV","length","Math","max","map","UPDATE_AVAILABLE","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","readDir","DOCUMENT_DIR","then","dirs","dir","startsWith","removePath","catch","mode","MANUAL","subscription","addEventListener","nextAppState","reloadBundle","match","remove","markAsHealthy","log","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","exists","OTA_DIR","moveFile","Date","now","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","context","useContext","StyleSheet","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NativeBsPatch","_interopRequireDefault","_otaCore","_otaLogger","_otaMetadata","_types","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OtaContext","createContext","undefined","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","useState","OtaStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","appState","useRef","AppState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","getEffectiveConfig","appVersion","nativeVer","NativeBsPatch","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","directPatch","selectUpdate","console","warn","ERROR","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","percent","error","applyVersion","targetVersion","UP_TO_DATE","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","autoReload","checkUpdates","CHECKING","createOtaLogger","onEvent","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","metadata","loadMetadata","failed","failedVersions","platformPatches","filter","p","platform","toLowerCase","Platform","OS","includes","toVersion","maxV","length","Math","max","map","UPDATE_AVAILABLE","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","readDir","DOCUMENT_DIR","then","dirs","dir","startsWith","removePath","catch","mode","MANUAL","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","log","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","exists","OTA_DIR","moveFile","Date","now","reloadBundle","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","context","useContext","StyleSheet","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,7 +28,6 @@ export function OtaProvider({
|
|
|
28
28
|
const [isUpdateReady, setIsUpdateReady] = useState(false);
|
|
29
29
|
const appState = useRef(AppState.currentState);
|
|
30
30
|
const isCheckingRef = useRef(false);
|
|
31
|
-
const pendingReloadRef = useRef(false);
|
|
32
31
|
const bootstrapDone = useRef(false);
|
|
33
32
|
/** Version the native resolver loaded for this JS session */
|
|
34
33
|
const runningVersionRef = useRef(config.baseAppVersion);
|
|
@@ -105,15 +104,16 @@ export function OtaProvider({
|
|
|
105
104
|
/**
|
|
106
105
|
* Exposed method for manual trigger
|
|
107
106
|
*/
|
|
108
|
-
const
|
|
107
|
+
const applyVersion = useCallback(async targetVersion => {
|
|
109
108
|
if (!isDebugUpdateEnabled) {
|
|
110
109
|
setPendingCount(0);
|
|
111
110
|
setStatus(OtaStatus.UP_TO_DATE);
|
|
112
111
|
setMessage('OTA updates are disabled while running a debug build.');
|
|
113
112
|
return;
|
|
114
113
|
}
|
|
115
|
-
await executeApplyUpdate(patches, currentVersion,
|
|
116
|
-
}, [currentVersion, executeApplyUpdate, isDebugUpdateEnabled,
|
|
114
|
+
await executeApplyUpdate(patches, currentVersion, targetVersion);
|
|
115
|
+
}, [currentVersion, executeApplyUpdate, isDebugUpdateEnabled, patches]);
|
|
116
|
+
const applyUpdate = useCallback(() => applyVersion(latestVersion), [applyVersion, latestVersion]);
|
|
117
117
|
const downloadBackgroundUpdate = useCallback(async (patchList, localV, targetV) => {
|
|
118
118
|
const directPatch = selectUpdate(patchList, localV, targetV);
|
|
119
119
|
if (!directPatch) return;
|
|
@@ -122,7 +122,6 @@ export function OtaProvider({
|
|
|
122
122
|
await applyOtaPatchInternal(directPatch, effectiveConfig, (s, msg, m) => {
|
|
123
123
|
if (s === OtaStatus.SUCCESS) {
|
|
124
124
|
setIsUpdateReady(true);
|
|
125
|
-
pendingReloadRef.current = true;
|
|
126
125
|
setStatus(OtaStatus.UP_TO_DATE);
|
|
127
126
|
setMessage(`Update V${targetV} ready for next launch`);
|
|
128
127
|
if (m) setMetrics(m);
|
|
@@ -252,17 +251,13 @@ export function OtaProvider({
|
|
|
252
251
|
}, []);
|
|
253
252
|
|
|
254
253
|
/**
|
|
255
|
-
* AppState listener for ON_APP_FOREGROUND mode
|
|
254
|
+
* AppState listener for ON_APP_FOREGROUND mode.
|
|
255
|
+
* A downloaded update is not reloaded on background: iOS suspends JS before the
|
|
256
|
+
* first render, so the native resolver counts the launch as failed and rolls it back.
|
|
257
|
+
* metadata already points at the new version, so the next cold start applies it
|
|
256
258
|
*/
|
|
257
259
|
useEffect(() => {
|
|
258
260
|
const subscription = AppState.addEventListener('change', nextAppState => {
|
|
259
|
-
// When going into background: if update is downloaded and ready, reload bundle silently
|
|
260
|
-
// Only 'background', not 'inactive' (iOS fires it for Control Center, calls,
|
|
261
|
-
// Face ID). Any previous state: iOS goes active → inactive → background.
|
|
262
|
-
if (nextAppState === 'background' && pendingReloadRef.current) {
|
|
263
|
-
pendingReloadRef.current = false;
|
|
264
|
-
NativeBsPatch.reloadBundle();
|
|
265
|
-
}
|
|
266
261
|
if (appState.current.match(/inactive|background/) && nextAppState === 'active' && bootstrapDone.current) {
|
|
267
262
|
const mode = config.updateMode ?? OtaUpdateMode.MANUAL;
|
|
268
263
|
if (mode === OtaUpdateMode.ON_APP_FOREGROUND) {
|
|
@@ -312,11 +307,12 @@ export function OtaProvider({
|
|
|
312
307
|
metrics,
|
|
313
308
|
isUpdateReady,
|
|
314
309
|
applyUpdate,
|
|
310
|
+
applyVersion,
|
|
315
311
|
resetToFactory,
|
|
316
312
|
markAsHealthy,
|
|
317
313
|
checkUpdate: checkUpdates,
|
|
318
314
|
reloadBundle: () => NativeBsPatch.reloadBundle()
|
|
319
|
-
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, applyUpdate, resetToFactory, markAsHealthy, checkUpdates]);
|
|
315
|
+
}), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, applyUpdate, applyVersion, resetToFactory, markAsHealthy, checkUpdates]);
|
|
320
316
|
|
|
321
317
|
// Logic to determine if we should block the UI
|
|
322
318
|
const isBlocking = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","ActivityIndicator","AppState","Platform","StyleSheet","Text","View","NativeBsPatch","applyOtaPatchInternal","fetchOtaManifest","selectUpdate","validateOtaConfig","createOtaLogger","OtaEvent","DOCUMENT_DIR","loadMetadata","markHealthy","OTA_DIR","OtaStatus","OtaUpdateMode","jsx","_jsx","jsxs","_jsxs","OtaContext","undefined","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","appState","currentState","isCheckingRef","pendingReloadRef","bootstrapDone","runningVersionRef","progressRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","e","Error","setProgressIfChanged","nextProgress","current","getEffectiveConfig","appVersion","nativeVer","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","directPatch","console","warn","ERROR","effectiveConfig","DOWNLOADING","s","msg","m","percent","error","applyUpdate","UP_TO_DATE","downloadBackgroundUpdate","localV","targetV","SUCCESS","autoReload","checkUpdates","CHECKING","onEvent","emit","CHECK_UPDATE","remotePatches","metadata","failed","failedVersions","platformPatches","filter","p","platform","toLowerCase","OS","includes","toVersion","maxV","length","Math","max","map","UPDATE_AVAILABLE","updateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","bootstrap","readDir","then","dirs","dir","startsWith","removePath","catch","mode","MANUAL","subscription","addEventListener","nextAppState","reloadBundle","match","remove","markAsHealthy","log","MARK_HEALTHY","resetToFactory","APPLYING","RESET_FACTORY","exists","moveFile","Date","now","value","checkUpdate","isBlocking","healthyMarkedRef","Provider","style","styles","loadingContainer","loadingCard","size","color","loadingTitle","loadingText","progressText","toFixed","useOta","context","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","ActivityIndicator","AppState","Platform","StyleSheet","Text","View","NativeBsPatch","applyOtaPatchInternal","fetchOtaManifest","selectUpdate","validateOtaConfig","createOtaLogger","OtaEvent","DOCUMENT_DIR","loadMetadata","markHealthy","OTA_DIR","OtaStatus","OtaUpdateMode","jsx","_jsx","jsxs","_jsxs","OtaContext","undefined","OtaProvider","children","config","loadingView","useLoadingView","status","setStatus","IDLE","message","setMessage","progress","setProgress","currentVersion","setCurrentVersion","baseAppVersion","latestVersion","setLatestVersion","pendingCount","setPendingCount","isChecking","setIsChecking","metrics","setMetrics","patches","setPatches","isInitialized","setIsInitialized","isUpdateReady","setIsUpdateReady","appState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","e","Error","setProgressIfChanged","nextProgress","current","getEffectiveConfig","appVersion","nativeVer","getAppVersion","executeApplyUpdate","patchList","currentVer","targetVer","directPatch","console","warn","ERROR","effectiveConfig","DOWNLOADING","s","msg","m","percent","error","applyVersion","targetVersion","UP_TO_DATE","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","autoReload","checkUpdates","CHECKING","onEvent","emit","CHECK_UPDATE","remotePatches","metadata","failed","failedVersions","platformPatches","filter","p","platform","toLowerCase","OS","includes","toVersion","maxV","length","Math","max","map","UPDATE_AVAILABLE","updateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","bootstrap","readDir","then","dirs","dir","startsWith","removePath","catch","mode","MANUAL","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","log","MARK_HEALTHY","resetToFactory","APPLYING","RESET_FACTORY","exists","moveFile","Date","now","reloadBundle","value","checkUpdate","isBlocking","healthyMarkedRef","Provider","style","styles","loadingContainer","loadingCard","size","color","loadingTitle","loadingText","progressText","toFixed","useOta","context","create","flex","justifyContent","alignItems","backgroundColor","paddingHorizontal","width","maxWidth","borderRadius","paddingVertical","borderWidth","borderColor","marginTop","fontSize","fontWeight","lineHeight","textAlign"],"sourceRoot":"../../../src","sources":["ota/OtaProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtaProvider.d.ts","sourceRoot":"","sources":["../../../src/ota/OtaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAcf,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;AAcf,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,qBAqaA;AAED,wBAAgB,MAAM,aAMrB"}
|
|
@@ -147,6 +147,8 @@ export type OtaState = {
|
|
|
147
147
|
/** True if a background update has been downloaded and prepared silently */
|
|
148
148
|
isUpdateReady: boolean;
|
|
149
149
|
applyUpdate: () => Promise<void>;
|
|
150
|
+
/** Installs and reloads `version` from the last checked manifest (full bundle, or a patch from the current version) */
|
|
151
|
+
applyVersion: (version: number) => Promise<void>;
|
|
150
152
|
resetToFactory: () => Promise<void>;
|
|
151
153
|
markAsHealthy: () => Promise<void>;
|
|
152
154
|
checkUpdate: () => Promise<void>;
|
|
@@ -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
package/src/ota/OtaProvider.tsx
CHANGED
|
@@ -61,7 +61,6 @@ export function OtaProvider({
|
|
|
61
61
|
|
|
62
62
|
const appState = useRef(AppState.currentState);
|
|
63
63
|
const isCheckingRef = useRef(false);
|
|
64
|
-
const pendingReloadRef = useRef(false);
|
|
65
64
|
const bootstrapDone = useRef(false);
|
|
66
65
|
/** Version the native resolver loaded for this JS session */
|
|
67
66
|
const runningVersionRef = useRef(config.baseAppVersion);
|
|
@@ -150,21 +149,20 @@ export function OtaProvider({
|
|
|
150
149
|
/**
|
|
151
150
|
* Exposed method for manual trigger
|
|
152
151
|
*/
|
|
153
|
-
const
|
|
152
|
+
const applyVersion = useCallback(async (targetVersion: number) => {
|
|
154
153
|
if (!isDebugUpdateEnabled) {
|
|
155
154
|
setPendingCount(0);
|
|
156
155
|
setStatus(OtaStatus.UP_TO_DATE);
|
|
157
156
|
setMessage('OTA updates are disabled while running a debug build.');
|
|
158
157
|
return;
|
|
159
158
|
}
|
|
160
|
-
await executeApplyUpdate(patches, currentVersion,
|
|
161
|
-
}, [
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
latestVersion,
|
|
166
|
-
|
|
167
|
-
]);
|
|
159
|
+
await executeApplyUpdate(patches, currentVersion, targetVersion);
|
|
160
|
+
}, [currentVersion, executeApplyUpdate, isDebugUpdateEnabled, patches]);
|
|
161
|
+
|
|
162
|
+
const applyUpdate = useCallback(
|
|
163
|
+
() => applyVersion(latestVersion),
|
|
164
|
+
[applyVersion, latestVersion],
|
|
165
|
+
);
|
|
168
166
|
|
|
169
167
|
const downloadBackgroundUpdate = useCallback(
|
|
170
168
|
async (
|
|
@@ -183,7 +181,6 @@ export function OtaProvider({
|
|
|
183
181
|
(s: OtaStatus, msg: string, m?: OtaMetrics) => {
|
|
184
182
|
if (s === OtaStatus.SUCCESS) {
|
|
185
183
|
setIsUpdateReady(true);
|
|
186
|
-
pendingReloadRef.current = true;
|
|
187
184
|
setStatus(OtaStatus.UP_TO_DATE);
|
|
188
185
|
setMessage(`Update V${targetV} ready for next launch`);
|
|
189
186
|
if (m) setMetrics(m);
|
|
@@ -332,20 +329,15 @@ export function OtaProvider({
|
|
|
332
329
|
}, []);
|
|
333
330
|
|
|
334
331
|
/**
|
|
335
|
-
* AppState listener for ON_APP_FOREGROUND mode
|
|
332
|
+
* AppState listener for ON_APP_FOREGROUND mode.
|
|
333
|
+
* A downloaded update is not reloaded on background: iOS suspends JS before the
|
|
334
|
+
* first render, so the native resolver counts the launch as failed and rolls it back.
|
|
335
|
+
* metadata already points at the new version, so the next cold start applies it
|
|
336
336
|
*/
|
|
337
337
|
useEffect(() => {
|
|
338
338
|
const subscription = AppState.addEventListener(
|
|
339
339
|
'change',
|
|
340
340
|
(nextAppState: AppStateStatus) => {
|
|
341
|
-
// When going into background: if update is downloaded and ready, reload bundle silently
|
|
342
|
-
// Only 'background', not 'inactive' (iOS fires it for Control Center, calls,
|
|
343
|
-
// Face ID). Any previous state: iOS goes active → inactive → background.
|
|
344
|
-
if (nextAppState === 'background' && pendingReloadRef.current) {
|
|
345
|
-
pendingReloadRef.current = false;
|
|
346
|
-
NativeBsPatch.reloadBundle();
|
|
347
|
-
}
|
|
348
|
-
|
|
349
341
|
if (
|
|
350
342
|
appState.current.match(/inactive|background/) &&
|
|
351
343
|
nextAppState === 'active' &&
|
|
@@ -403,6 +395,7 @@ export function OtaProvider({
|
|
|
403
395
|
metrics,
|
|
404
396
|
isUpdateReady,
|
|
405
397
|
applyUpdate,
|
|
398
|
+
applyVersion,
|
|
406
399
|
resetToFactory,
|
|
407
400
|
markAsHealthy,
|
|
408
401
|
checkUpdate: checkUpdates,
|
|
@@ -418,6 +411,7 @@ export function OtaProvider({
|
|
|
418
411
|
metrics,
|
|
419
412
|
isUpdateReady,
|
|
420
413
|
applyUpdate,
|
|
414
|
+
applyVersion,
|
|
421
415
|
resetToFactory,
|
|
422
416
|
markAsHealthy,
|
|
423
417
|
checkUpdates,
|
package/src/ota/types.ts
CHANGED
|
@@ -164,6 +164,8 @@ export type OtaState = {
|
|
|
164
164
|
/** True if a background update has been downloaded and prepared silently */
|
|
165
165
|
isUpdateReady: boolean;
|
|
166
166
|
applyUpdate: () => Promise<void>;
|
|
167
|
+
/** Installs and reloads `version` from the last checked manifest (full bundle, or a patch from the current version) */
|
|
168
|
+
applyVersion: (version: number) => Promise<void>;
|
|
167
169
|
resetToFactory: () => Promise<void>;
|
|
168
170
|
markAsHealthy: () => Promise<void>;
|
|
169
171
|
checkUpdate: () => Promise<void>;
|