react-native-bspatch 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -348,6 +348,7 @@ const {
348
348
  installId, // Stable random ID of this install (rollout bucket, QA lists, telemetry)
349
349
  applyUpdate, // () => Promise<void> — download and apply update immediately
350
350
  applyVersion, // (version) => Promise<void> — download and apply a specific version from the manifest
351
+ applyEntry, // (entry) => Promise<void> — install exactly this registry entry (QA/version list); skips kill switch/rollout/QA list, never the native/Hermes checks
351
352
  resetToFactory, // () => Promise<void> — wipe OTA state, reload APK/IPA
352
353
  markAsHealthy, // () => Promise<void> — manually mark launch OK
353
354
  checkUpdate, // ({ force }?) => Promise<void> — check now (throttled by minCheckIntervalMs unless force)
@@ -128,20 +128,20 @@ function OtaProvider({
128
128
  }
129
129
  }, [config, onEvent]);
130
130
 
131
- /**
132
- * Core apply update logic — separated so it can be mapped to button clicks
133
- * OR called automatically by checkUpdates()
134
- */
135
- const executeApplyUpdate = (0, _react.useCallback)(async (patchList, currentVer, targetVer) => {
136
- const directPatch = (0, _otaCore.selectUpdate)(patchList, currentVer, targetVer);
137
- if (!directPatch) {
138
- if (__DEV__) {
139
- console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
140
- }
141
- setStatus(_types.OtaStatus.ERROR);
142
- setMessage('No upgrade path found.');
143
- return;
144
- }
131
+ /** What decides which registry entries this install may take */
132
+ const eligibilityContext = (0, _react.useCallback)(async () => {
133
+ const metadata = await (0, _otaMetadata.loadMetadata)(config.baseAppVersion);
134
+ return {
135
+ platform: _reactNative.Platform.OS,
136
+ failedVersions: metadata.failedVersions ?? [],
137
+ runtimeFingerprint: nativeString(() => _NativeBsPatch.default.getRuntimeFingerprint()),
138
+ hermesBytecodeVersion: hermesBytecodeVersion(),
139
+ installId: await (0, _installId.getInstallId)()
140
+ };
141
+ }, [config.baseAppVersion]);
142
+
143
+ /** Installs one registry entry in the foreground (status + progress), then reloads */
144
+ const installEntry = (0, _react.useCallback)(async directPatch => {
145
145
  try {
146
146
  const effectiveConfig = await getEffectiveConfig();
147
147
  setStatus(_types.OtaStatus.DOWNLOADING);
@@ -163,6 +163,45 @@ function OtaProvider({
163
163
  }
164
164
  }, [getEffectiveConfig, setProgressIfChanged]);
165
165
 
166
+ /**
167
+ * Core apply update logic — separated so it can be mapped to button clicks
168
+ * OR called automatically by checkUpdates()
169
+ */
170
+ const executeApplyUpdate = (0, _react.useCallback)(async (patchList, currentVer, targetVer) => {
171
+ const directPatch = (0, _otaCore.selectUpdate)(patchList, currentVer, targetVer);
172
+ if (!directPatch) {
173
+ if (__DEV__) {
174
+ console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
175
+ }
176
+ setStatus(_types.OtaStatus.ERROR);
177
+ setMessage('No upgrade path found.');
178
+ return;
179
+ }
180
+ await installEntry(directPatch);
181
+ }, [installEntry]);
182
+
183
+ /**
184
+ * Installs exactly this registry entry (a version list in a debug/QA screen): the patch
185
+ * when it starts from the running version, else its full bundle. Ignores the kill switch,
186
+ * rollout and QA list; still refuses what would break the app (native code, Hermes, …).
187
+ */
188
+ const applyEntry = (0, _react.useCallback)(async entry => {
189
+ if (!isDebugUpdateEnabled) {
190
+ setStatus(_types.OtaStatus.UP_TO_DATE);
191
+ setMessage('OTA updates are disabled while running a debug build.');
192
+ return;
193
+ }
194
+ const reason = (0, _eligibility.ineligibleReason)(entry, await eligibilityContext(), {
195
+ ignoreControls: true
196
+ });
197
+ if (reason) {
198
+ setStatus(_types.OtaStatus.ERROR);
199
+ setMessage(`Can't install V${entry.toVersion}: ${reason}`);
200
+ return;
201
+ }
202
+ await installEntry(entry);
203
+ }, [eligibilityContext, installEntry, isDebugUpdateEnabled]);
204
+
166
205
  /**
167
206
  * Exposed method for manual trigger
168
207
  */
@@ -237,13 +276,7 @@ function OtaProvider({
237
276
 
238
277
  // Storage providers return every platform: keep what this install may take (platform,
239
278
  // native fingerprint, Hermes, rollout/QA lists, kill switch, versions that crashed here)
240
- const context = {
241
- platform: _reactNative.Platform.OS,
242
- failedVersions: metadata.failedVersions ?? [],
243
- runtimeFingerprint: nativeString(() => _NativeBsPatch.default.getRuntimeFingerprint()),
244
- hermesBytecodeVersion: hermesBytecodeVersion(),
245
- installId: await (0, _installId.getInstallId)()
246
- };
279
+ const context = await eligibilityContext();
247
280
  const platformPatches = remotePatches.filter(p => {
248
281
  const reason = (0, _eligibility.ineligibleReason)(p, context);
249
282
  if (reason && __DEV__ && p.toVersion > localV) {
@@ -282,7 +315,7 @@ function OtaProvider({
282
315
  isCheckingRef.current = false;
283
316
  setIsChecking(false);
284
317
  }
285
- }, [config, configError, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
318
+ }, [config, configError, eligibilityContext, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
286
319
 
287
320
  /**
288
321
  * Bootstrap: runs once on mount.
@@ -411,11 +444,12 @@ function OtaProvider({
411
444
  installId,
412
445
  applyUpdate,
413
446
  applyVersion,
447
+ applyEntry,
414
448
  resetToFactory,
415
449
  markAsHealthy,
416
450
  checkUpdate: checkUpdates,
417
451
  reloadBundle: () => _NativeBsPatch.default.reloadBundle()
418
- }), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, resetToFactory, markAsHealthy, checkUpdates]);
452
+ }), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, applyEntry, resetToFactory, markAsHealthy, checkUpdates]);
419
453
 
420
454
  // Logic to determine if we should block the UI
421
455
  const isBlocking = (0, _react.useMemo)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_NativeBsPatch","_interopRequireDefault","_eligibility","_installId","_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","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","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","isMandatory","setIsMandatory","installId","setInstallId","appState","useRef","AppState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","Platform","OS","appBuild","NativeBsPatch","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","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","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","createOtaLogger","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","metadata","loadMetadata","context","failedVersions","getInstallId","platformPatches","filter","p","reason","ineligibleReason","toVersion","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","then","readDir","DOCUMENT_DIR","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","exists","OTA_DIR","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","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","_eligibility","_installId","_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","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","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","isMandatory","setIsMandatory","installId","setInstallId","appState","useRef","AppState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","useMemo","validateOtaConfig","Error","setProgressIfChanged","useCallback","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","Platform","OS","appBuild","NativeBsPatch","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","getAppVersion","eligibilityContext","metadata","loadMetadata","failedVersions","getInstallId","installEntry","directPatch","effectiveConfig","DOWNLOADING","applyOtaPatchInternal","s","msg","m","percent","error","console","ERROR","executeApplyUpdate","patchList","currentVer","targetVer","selectUpdate","warn","applyEntry","UP_TO_DATE","reason","ineligibleReason","ignoreControls","toVersion","applyVersion","targetVersion","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","createOtaLogger","emit","OtaEvent","CHECK_UPDATE","remotePatches","fetchOtaManifest","context","platformPatches","filter","p","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","OtaUpdateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","useEffect","bootstrap","then","readDir","DOCUMENT_DIR","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","markHealthy","resetToFactory","APPLYING","RESET_FACTORY","exists","OTA_DIR","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","jsx","Provider","View","style","styles","loadingContainer","jsxs","loadingCard","ActivityIndicator","size","color","Text","loadingTitle","loadingText","progressText","toFixed","useOta","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":[]}
@@ -16,12 +16,18 @@ const rolloutBucket = (installId, version) => {
16
16
  return h % 100;
17
17
  };
18
18
 
19
- /** Why this client must not install the entry, or null when it may */
19
+ /**
20
+ * Why this client must not install the entry, or null when it may.
21
+ * ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
22
+ * rollout and QA list, keep every check that protects the app.
23
+ */
20
24
  exports.rolloutBucket = rolloutBucket;
21
- const ineligibleReason = (e, ctx) => {
25
+ const ineligibleReason = (e, ctx, {
26
+ ignoreControls = false
27
+ } = {}) => {
22
28
  if (e.platform && e.platform.toLowerCase() !== ctx.platform) return 'other platform';
23
29
  if (ctx.failedVersions.includes(e.toVersion)) return 'crashed on boot here before';
24
- if (e.disabled) return 'disabled';
30
+ if (e.disabled && !ignoreControls) return 'disabled';
25
31
  const missing = (e.requires ?? []).filter(f => !SUPPORTED_FEATURES.includes(f));
26
32
  if (missing.length) return `needs a newer client (${missing.join(', ')})`;
27
33
  if (e.runtimeFingerprint && e.runtimeFingerprint !== ctx.runtimeFingerprint) {
@@ -30,6 +36,7 @@ const ineligibleReason = (e, ctx) => {
30
36
  if (e.hermesBytecodeVersion && ctx.hermesBytecodeVersion && e.hermesBytecodeVersion !== ctx.hermesBytecodeVersion) {
31
37
  return `Hermes bytecode ${e.hermesBytecodeVersion}, runtime reads ${ctx.hermesBytecodeVersion}`;
32
38
  }
39
+ if (ignoreControls) return null;
33
40
  if (e.allowInstallIds?.length && !e.allowInstallIds.includes(ctx.installId)) return 'not in the QA list';
34
41
  if (e.rolloutPercent !== undefined && rolloutBucket(ctx.installId, e.toVersion) >= e.rolloutPercent) {
35
42
  return `outside the ${e.rolloutPercent}% rollout`;
@@ -1 +1 @@
1
- {"version":3,"names":["SUPPORTED_FEATURES","exports","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;;;;;AAEA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACO,MAAME,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AAAAJ,OAAA,CAAAC,aAAA,GAAAA,aAAA;AACO,MAAMQ,gBAAgB,GAAGA,CAACC,CAAW,EAAEC,GAAuB,KAAoB;EACrF,IAAID,CAAC,CAACE,QAAQ,IAAIF,CAAC,CAACE,QAAQ,CAACC,WAAW,CAAC,CAAC,KAAKF,GAAG,CAACC,QAAQ,EAAE,OAAO,gBAAgB;EACpF,IAAID,GAAG,CAACG,cAAc,CAACC,QAAQ,CAACL,CAAC,CAACM,SAAS,CAAC,EAAE,OAAO,6BAA6B;EAClF,IAAIN,CAAC,CAACO,QAAQ,EAAE,OAAO,UAAU;EACjC,MAAMC,OAAO,GAAG,CAACR,CAAC,CAACS,QAAQ,IAAI,EAAE,EAAEC,MAAM,CAACC,CAAC,IAAI,CAACtB,kBAAkB,CAACgB,QAAQ,CAACM,CAAC,CAAC,CAAC;EAC/E,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAO,yBAAyBJ,OAAO,CAACK,IAAI,CAAC,IAAI,CAAC,GAAG;EACzE,IAAIb,CAAC,CAACc,kBAAkB,IAAId,CAAC,CAACc,kBAAkB,KAAKb,GAAG,CAACa,kBAAkB,EAAE;IACzE,OAAOb,GAAG,CAACa,kBAAkB,GACvB,uDAAuD,GACvD,uFAAuF;EACjG;EACA,IAAId,CAAC,CAACe,qBAAqB,IAAId,GAAG,CAACc,qBAAqB,IAAIf,CAAC,CAACe,qBAAqB,KAAKd,GAAG,CAACc,qBAAqB,EAAE;IAC/G,OAAO,mBAAmBf,CAAC,CAACe,qBAAqB,mBAAmBd,GAAG,CAACc,qBAAqB,EAAE;EACnG;EACA,IAAIf,CAAC,CAACgB,eAAe,EAAEJ,MAAM,IAAI,CAACZ,CAAC,CAACgB,eAAe,CAACX,QAAQ,CAACJ,GAAG,CAACT,SAAS,CAAC,EAAE,OAAO,oBAAoB;EACxG,IAAIQ,CAAC,CAACiB,cAAc,KAAKC,SAAS,IAAI3B,aAAa,CAACU,GAAG,CAACT,SAAS,EAAEQ,CAAC,CAACM,SAAS,CAAC,IAAIN,CAAC,CAACiB,cAAc,EAAE;IACjG,OAAO,eAAejB,CAAC,CAACiB,cAAc,WAAW;EACrD;EACA,OAAO,IAAI;AACf,CAAC;AAAC3B,OAAA,CAAAS,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["SUPPORTED_FEATURES","exports","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","ignoreControls","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;;;;;AAEA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACO,MAAME,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAJ,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAKO,MAAMQ,gBAAgB,GAAGA,CAC5BC,CAAW,EACXC,GAAuB,EACvB;EAAEC,cAAc,GAAG;AAAoC,CAAC,GAAG,CAAC,CAAC,KAC7C;EAChB,IAAIF,CAAC,CAACG,QAAQ,IAAIH,CAAC,CAACG,QAAQ,CAACC,WAAW,CAAC,CAAC,KAAKH,GAAG,CAACE,QAAQ,EAAE,OAAO,gBAAgB;EACpF,IAAIF,GAAG,CAACI,cAAc,CAACC,QAAQ,CAACN,CAAC,CAACO,SAAS,CAAC,EAAE,OAAO,6BAA6B;EAClF,IAAIP,CAAC,CAACQ,QAAQ,IAAI,CAACN,cAAc,EAAE,OAAO,UAAU;EACpD,MAAMO,OAAO,GAAG,CAACT,CAAC,CAACU,QAAQ,IAAI,EAAE,EAAEC,MAAM,CAACC,CAAC,IAAI,CAACvB,kBAAkB,CAACiB,QAAQ,CAACM,CAAC,CAAC,CAAC;EAC/E,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAO,yBAAyBJ,OAAO,CAACK,IAAI,CAAC,IAAI,CAAC,GAAG;EACzE,IAAId,CAAC,CAACe,kBAAkB,IAAIf,CAAC,CAACe,kBAAkB,KAAKd,GAAG,CAACc,kBAAkB,EAAE;IACzE,OAAOd,GAAG,CAACc,kBAAkB,GACvB,uDAAuD,GACvD,uFAAuF;EACjG;EACA,IAAIf,CAAC,CAACgB,qBAAqB,IAAIf,GAAG,CAACe,qBAAqB,IAAIhB,CAAC,CAACgB,qBAAqB,KAAKf,GAAG,CAACe,qBAAqB,EAAE;IAC/G,OAAO,mBAAmBhB,CAAC,CAACgB,qBAAqB,mBAAmBf,GAAG,CAACe,qBAAqB,EAAE;EACnG;EACA,IAAId,cAAc,EAAE,OAAO,IAAI;EAC/B,IAAIF,CAAC,CAACiB,eAAe,EAAEJ,MAAM,IAAI,CAACb,CAAC,CAACiB,eAAe,CAACX,QAAQ,CAACL,GAAG,CAACT,SAAS,CAAC,EAAE,OAAO,oBAAoB;EACxG,IAAIQ,CAAC,CAACkB,cAAc,KAAKC,SAAS,IAAI5B,aAAa,CAACU,GAAG,CAACT,SAAS,EAAEQ,CAAC,CAACO,SAAS,CAAC,IAAIP,CAAC,CAACkB,cAAc,EAAE;IACjG,OAAO,eAAelB,CAAC,CAACkB,cAAc,WAAW;EACrD;EACA,OAAO,IAAI;AACf,CAAC;AAAC5B,OAAA,CAAAS,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -121,20 +121,20 @@ export function OtaProvider({
121
121
  }
122
122
  }, [config, onEvent]);
123
123
 
124
- /**
125
- * Core apply update logic — separated so it can be mapped to button clicks
126
- * OR called automatically by checkUpdates()
127
- */
128
- const executeApplyUpdate = useCallback(async (patchList, currentVer, targetVer) => {
129
- const directPatch = selectUpdate(patchList, currentVer, targetVer);
130
- if (!directPatch) {
131
- if (__DEV__) {
132
- console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
133
- }
134
- setStatus(OtaStatus.ERROR);
135
- setMessage('No upgrade path found.');
136
- return;
137
- }
124
+ /** What decides which registry entries this install may take */
125
+ const eligibilityContext = useCallback(async () => {
126
+ const metadata = await loadMetadata(config.baseAppVersion);
127
+ return {
128
+ platform: Platform.OS,
129
+ failedVersions: metadata.failedVersions ?? [],
130
+ runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
131
+ hermesBytecodeVersion: hermesBytecodeVersion(),
132
+ installId: await getInstallId()
133
+ };
134
+ }, [config.baseAppVersion]);
135
+
136
+ /** Installs one registry entry in the foreground (status + progress), then reloads */
137
+ const installEntry = useCallback(async directPatch => {
138
138
  try {
139
139
  const effectiveConfig = await getEffectiveConfig();
140
140
  setStatus(OtaStatus.DOWNLOADING);
@@ -156,6 +156,45 @@ export function OtaProvider({
156
156
  }
157
157
  }, [getEffectiveConfig, setProgressIfChanged]);
158
158
 
159
+ /**
160
+ * Core apply update logic — separated so it can be mapped to button clicks
161
+ * OR called automatically by checkUpdates()
162
+ */
163
+ const executeApplyUpdate = useCallback(async (patchList, currentVer, targetVer) => {
164
+ const directPatch = selectUpdate(patchList, currentVer, targetVer);
165
+ if (!directPatch) {
166
+ if (__DEV__) {
167
+ console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
168
+ }
169
+ setStatus(OtaStatus.ERROR);
170
+ setMessage('No upgrade path found.');
171
+ return;
172
+ }
173
+ await installEntry(directPatch);
174
+ }, [installEntry]);
175
+
176
+ /**
177
+ * Installs exactly this registry entry (a version list in a debug/QA screen): the patch
178
+ * when it starts from the running version, else its full bundle. Ignores the kill switch,
179
+ * rollout and QA list; still refuses what would break the app (native code, Hermes, …).
180
+ */
181
+ const applyEntry = useCallback(async entry => {
182
+ if (!isDebugUpdateEnabled) {
183
+ setStatus(OtaStatus.UP_TO_DATE);
184
+ setMessage('OTA updates are disabled while running a debug build.');
185
+ return;
186
+ }
187
+ const reason = ineligibleReason(entry, await eligibilityContext(), {
188
+ ignoreControls: true
189
+ });
190
+ if (reason) {
191
+ setStatus(OtaStatus.ERROR);
192
+ setMessage(`Can't install V${entry.toVersion}: ${reason}`);
193
+ return;
194
+ }
195
+ await installEntry(entry);
196
+ }, [eligibilityContext, installEntry, isDebugUpdateEnabled]);
197
+
159
198
  /**
160
199
  * Exposed method for manual trigger
161
200
  */
@@ -230,13 +269,7 @@ export function OtaProvider({
230
269
 
231
270
  // Storage providers return every platform: keep what this install may take (platform,
232
271
  // native fingerprint, Hermes, rollout/QA lists, kill switch, versions that crashed here)
233
- const context = {
234
- platform: Platform.OS,
235
- failedVersions: metadata.failedVersions ?? [],
236
- runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
237
- hermesBytecodeVersion: hermesBytecodeVersion(),
238
- installId: await getInstallId()
239
- };
272
+ const context = await eligibilityContext();
240
273
  const platformPatches = remotePatches.filter(p => {
241
274
  const reason = ineligibleReason(p, context);
242
275
  if (reason && __DEV__ && p.toVersion > localV) {
@@ -275,7 +308,7 @@ export function OtaProvider({
275
308
  isCheckingRef.current = false;
276
309
  setIsChecking(false);
277
310
  }
278
- }, [config, configError, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
311
+ }, [config, configError, eligibilityContext, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
279
312
 
280
313
  /**
281
314
  * Bootstrap: runs once on mount.
@@ -404,11 +437,12 @@ export function OtaProvider({
404
437
  installId,
405
438
  applyUpdate,
406
439
  applyVersion,
440
+ applyEntry,
407
441
  resetToFactory,
408
442
  markAsHealthy,
409
443
  checkUpdate: checkUpdates,
410
444
  reloadBundle: () => NativeBsPatch.reloadBundle()
411
- }), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, resetToFactory, markAsHealthy, checkUpdates]);
445
+ }), [status, message, progress, currentVersion, latestVersion, pendingCount, isChecking, metrics, isUpdateReady, isMandatory, installId, applyUpdate, applyVersion, applyEntry, resetToFactory, markAsHealthy, checkUpdates]);
412
446
 
413
447
  // Logic to determine if we should block the UI
414
448
  const isBlocking = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","ActivityIndicator","AppState","Platform","StyleSheet","Text","View","NativeBsPatch","ineligibleReason","getInstallId","applyOtaPatchInternal","fetchOtaManifest","selectUpdate","validateOtaConfig","createOtaLogger","OtaEvent","DOCUMENT_DIR","loadMetadata","markHealthy","OTA_DIR","OtaStatus","OtaUpdateMode","jsx","_jsx","jsxs","_jsxs","OtaContext","undefined","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","get","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","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","isMandatory","setIsMandatory","installId","setInstallId","appState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","e","Error","setProgressIfChanged","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","OS","appBuild","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","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","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","emit","CHECK_UPDATE","remotePatches","metadata","context","failedVersions","platformPatches","filter","p","reason","toVersion","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","bootstrap","then","readDir","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","resetToFactory","APPLYING","RESET_FACTORY","exists","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","Provider","style","styles","loadingContainer","loadingCard","size","color","loadingTitle","loadingText","progressText","toFixed","useOta","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","ineligibleReason","getInstallId","applyOtaPatchInternal","fetchOtaManifest","selectUpdate","validateOtaConfig","createOtaLogger","OtaEvent","DOCUMENT_DIR","loadMetadata","markHealthy","OTA_DIR","OtaStatus","OtaUpdateMode","jsx","_jsx","jsxs","_jsxs","OtaContext","undefined","DEFAULT_MIN_CHECK_INTERVAL_MS","nativeString","get","hermesBytecodeVersion","v","globalThis","HermesInternal","getRuntimeProperties","Number","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","isMandatory","setIsMandatory","installId","setInstallId","appState","currentState","isCheckingRef","bootstrapDone","runningVersionRef","progressRef","lastCheckRef","appVersionRef","appVersion","installIdRef","isDebugUpdateEnabled","__DEV__","allowDebugUpdates","configError","e","Error","setProgressIfChanged","nextProgress","current","onEvent","entry","telemetry","fetch","url","method","headers","body","JSON","stringify","platform","OS","appBuild","getAppBuild","runtimeFingerprint","getRuntimeFingerprint","flavor","customServer","channel","otaVersion","catch","getEffectiveConfig","publicKey","getEmbeddedPublicKeys","base","nativeVer","getAppVersion","eligibilityContext","metadata","failedVersions","installEntry","directPatch","effectiveConfig","DOWNLOADING","s","msg","m","percent","error","console","ERROR","executeApplyUpdate","patchList","currentVer","targetVer","warn","applyEntry","UP_TO_DATE","reason","ignoreControls","toVersion","applyVersion","targetVersion","applyUpdate","downloadBackgroundUpdate","localV","targetV","SUCCESS","mandatory","reloadBundle","autoReload","checkUpdates","options","minInterval","minCheckIntervalMs","force","Date","now","CHECKING","emit","CHECK_UPDATE","remotePatches","context","platformPatches","filter","p","log","id","maxV","length","Math","max","map","UPDATE_AVAILABLE","network","wifiOnly","getNetworkType","updateMode","BACKGROUND_DOWNLOAD","ON_APP_START","ON_APP_FOREGROUND","bootstrap","then","readDir","dirs","dir","startsWith","removePath","mode","MANUAL","finally","isMandatoryRef","subscription","addEventListener","nextAppState","match","remove","markAsHealthy","MARK_HEALTHY","resetToFactory","APPLYING","RESET_FACTORY","exists","moveFile","value","checkUpdate","isBlocking","healthyMarkedRef","Provider","style","styles","loadingContainer","loadingCard","size","color","loadingTitle","loadingText","progressText","toFixed","useOta","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":[]}
@@ -12,11 +12,17 @@ export const rolloutBucket = (installId, version) => {
12
12
  return h % 100;
13
13
  };
14
14
 
15
- /** Why this client must not install the entry, or null when it may */
16
- export const ineligibleReason = (e, ctx) => {
15
+ /**
16
+ * Why this client must not install the entry, or null when it may.
17
+ * ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
18
+ * rollout and QA list, keep every check that protects the app.
19
+ */
20
+ export const ineligibleReason = (e, ctx, {
21
+ ignoreControls = false
22
+ } = {}) => {
17
23
  if (e.platform && e.platform.toLowerCase() !== ctx.platform) return 'other platform';
18
24
  if (ctx.failedVersions.includes(e.toVersion)) return 'crashed on boot here before';
19
- if (e.disabled) return 'disabled';
25
+ if (e.disabled && !ignoreControls) return 'disabled';
20
26
  const missing = (e.requires ?? []).filter(f => !SUPPORTED_FEATURES.includes(f));
21
27
  if (missing.length) return `needs a newer client (${missing.join(', ')})`;
22
28
  if (e.runtimeFingerprint && e.runtimeFingerprint !== ctx.runtimeFingerprint) {
@@ -25,6 +31,7 @@ export const ineligibleReason = (e, ctx) => {
25
31
  if (e.hermesBytecodeVersion && ctx.hermesBytecodeVersion && e.hermesBytecodeVersion !== ctx.hermesBytecodeVersion) {
26
32
  return `Hermes bytecode ${e.hermesBytecodeVersion}, runtime reads ${ctx.hermesBytecodeVersion}`;
27
33
  }
34
+ if (ignoreControls) return null;
28
35
  if (e.allowInstallIds?.length && !e.allowInstallIds.includes(ctx.installId)) return 'not in the QA list';
29
36
  if (e.rolloutPercent !== undefined && rolloutBucket(ctx.installId, e.toVersion) >= e.rolloutPercent) {
30
37
  return `outside the ${e.rolloutPercent}% rollout`;
@@ -1 +1 @@
1
- {"version":3,"names":["SUPPORTED_FEATURES","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACA,OAAO,MAAMC,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AACA,OAAO,MAAMK,gBAAgB,GAAGA,CAACC,CAAW,EAAEC,GAAuB,KAAoB;EACrF,IAAID,CAAC,CAACE,QAAQ,IAAIF,CAAC,CAACE,QAAQ,CAACC,WAAW,CAAC,CAAC,KAAKF,GAAG,CAACC,QAAQ,EAAE,OAAO,gBAAgB;EACpF,IAAID,GAAG,CAACG,cAAc,CAACC,QAAQ,CAACL,CAAC,CAACM,SAAS,CAAC,EAAE,OAAO,6BAA6B;EAClF,IAAIN,CAAC,CAACO,QAAQ,EAAE,OAAO,UAAU;EACjC,MAAMC,OAAO,GAAG,CAACR,CAAC,CAACS,QAAQ,IAAI,EAAE,EAAEC,MAAM,CAACC,CAAC,IAAI,CAACrB,kBAAkB,CAACe,QAAQ,CAACM,CAAC,CAAC,CAAC;EAC/E,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAO,yBAAyBJ,OAAO,CAACK,IAAI,CAAC,IAAI,CAAC,GAAG;EACzE,IAAIb,CAAC,CAACc,kBAAkB,IAAId,CAAC,CAACc,kBAAkB,KAAKb,GAAG,CAACa,kBAAkB,EAAE;IACzE,OAAOb,GAAG,CAACa,kBAAkB,GACvB,uDAAuD,GACvD,uFAAuF;EACjG;EACA,IAAId,CAAC,CAACe,qBAAqB,IAAId,GAAG,CAACc,qBAAqB,IAAIf,CAAC,CAACe,qBAAqB,KAAKd,GAAG,CAACc,qBAAqB,EAAE;IAC/G,OAAO,mBAAmBf,CAAC,CAACe,qBAAqB,mBAAmBd,GAAG,CAACc,qBAAqB,EAAE;EACnG;EACA,IAAIf,CAAC,CAACgB,eAAe,EAAEJ,MAAM,IAAI,CAACZ,CAAC,CAACgB,eAAe,CAACX,QAAQ,CAACJ,GAAG,CAACT,SAAS,CAAC,EAAE,OAAO,oBAAoB;EACxG,IAAIQ,CAAC,CAACiB,cAAc,KAAKC,SAAS,IAAI3B,aAAa,CAACU,GAAG,CAACT,SAAS,EAAEQ,CAAC,CAACM,SAAS,CAAC,IAAIN,CAAC,CAACiB,cAAc,EAAE;IACjG,OAAO,eAAejB,CAAC,CAACiB,cAAc,WAAW;EACrD;EACA,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["SUPPORTED_FEATURES","rolloutBucket","installId","version","h","c","charCodeAt","Math","imul","ineligibleReason","e","ctx","ignoreControls","platform","toLowerCase","failedVersions","includes","toVersion","disabled","missing","requires","filter","f","length","join","runtimeFingerprint","hermesBytecodeVersion","allowInstallIds","rolloutPercent","undefined"],"sourceRoot":"../../../src","sources":["ota/eligibility.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,kBAAkB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;AAcjD;AACA,OAAO,MAAMC,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAa;EACzE,IAAIC,CAAC,GAAG,UAAU;EAClB,KAAK,MAAMC,CAAC,IAAI,GAAGH,SAAS,IAAIC,OAAO,EAAE,EAAE;IACvCC,CAAC,IAAIC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC;IACpBF,CAAC,GAAGG,IAAI,CAACC,IAAI,CAACJ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;EACtC;EACA,OAAOA,CAAC,GAAG,GAAG;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,gBAAgB,GAAGA,CAC5BC,CAAW,EACXC,GAAuB,EACvB;EAAEC,cAAc,GAAG;AAAoC,CAAC,GAAG,CAAC,CAAC,KAC7C;EAChB,IAAIF,CAAC,CAACG,QAAQ,IAAIH,CAAC,CAACG,QAAQ,CAACC,WAAW,CAAC,CAAC,KAAKH,GAAG,CAACE,QAAQ,EAAE,OAAO,gBAAgB;EACpF,IAAIF,GAAG,CAACI,cAAc,CAACC,QAAQ,CAACN,CAAC,CAACO,SAAS,CAAC,EAAE,OAAO,6BAA6B;EAClF,IAAIP,CAAC,CAACQ,QAAQ,IAAI,CAACN,cAAc,EAAE,OAAO,UAAU;EACpD,MAAMO,OAAO,GAAG,CAACT,CAAC,CAACU,QAAQ,IAAI,EAAE,EAAEC,MAAM,CAACC,CAAC,IAAI,CAACtB,kBAAkB,CAACgB,QAAQ,CAACM,CAAC,CAAC,CAAC;EAC/E,IAAIH,OAAO,CAACI,MAAM,EAAE,OAAO,yBAAyBJ,OAAO,CAACK,IAAI,CAAC,IAAI,CAAC,GAAG;EACzE,IAAId,CAAC,CAACe,kBAAkB,IAAIf,CAAC,CAACe,kBAAkB,KAAKd,GAAG,CAACc,kBAAkB,EAAE;IACzE,OAAOd,GAAG,CAACc,kBAAkB,GACvB,uDAAuD,GACvD,uFAAuF;EACjG;EACA,IAAIf,CAAC,CAACgB,qBAAqB,IAAIf,GAAG,CAACe,qBAAqB,IAAIhB,CAAC,CAACgB,qBAAqB,KAAKf,GAAG,CAACe,qBAAqB,EAAE;IAC/G,OAAO,mBAAmBhB,CAAC,CAACgB,qBAAqB,mBAAmBf,GAAG,CAACe,qBAAqB,EAAE;EACnG;EACA,IAAId,cAAc,EAAE,OAAO,IAAI;EAC/B,IAAIF,CAAC,CAACiB,eAAe,EAAEJ,MAAM,IAAI,CAACb,CAAC,CAACiB,eAAe,CAACX,QAAQ,CAACL,GAAG,CAACT,SAAS,CAAC,EAAE,OAAO,oBAAoB;EACxG,IAAIQ,CAAC,CAACkB,cAAc,KAAKC,SAAS,IAAI5B,aAAa,CAACU,GAAG,CAACT,SAAS,EAAEQ,CAAC,CAACO,SAAS,CAAC,IAAIP,CAAC,CAACkB,cAAc,EAAE;IACjG,OAAO,eAAelB,CAAC,CAACkB,cAAc,WAAW;EACrD;EACA,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OtaProvider.d.ts","sourceRoot":"","sources":["../../../src/ota/OtaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAgBf,OAAO,EACL,SAAS,EAGT,QAAQ,EAGT,MAAM,SAAS,CAAC;AAqBjB,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,qBA6eA;AAED,wBAAgB,MAAM,aAMrB"}
1
+ {"version":3,"file":"OtaProvider.d.ts","sourceRoot":"","sources":["../../../src/ota/OtaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAgBf,OAAO,EACL,SAAS,EAGT,QAAQ,EAGT,MAAM,SAAS,CAAC;AAqBjB,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,qBA+gBA;AAED,wBAAgB,MAAM,aAMrB"}
@@ -14,6 +14,12 @@ export type EligibilityContext = {
14
14
  };
15
15
  /** FNV-1a: stable 0-99 bucket for an install and version (a different slice of installs per version) */
16
16
  export declare const rolloutBucket: (installId: string, version: number) => number;
17
- /** Why this client must not install the entry, or null when it may */
18
- export declare const ineligibleReason: (e: OtaPatch, ctx: EligibilityContext) => string | null;
17
+ /**
18
+ * Why this client must not install the entry, or null when it may.
19
+ * ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
20
+ * rollout and QA list, keep every check that protects the app.
21
+ */
22
+ export declare const ineligibleReason: (e: OtaPatch, ctx: EligibilityContext, { ignoreControls }?: {
23
+ ignoreControls?: boolean;
24
+ }) => string | null;
19
25
  //# sourceMappingURL=eligibility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../../src/ota/eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,UAAkB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,MAOlE,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,GAAI,GAAG,QAAQ,EAAE,KAAK,kBAAkB,KAAG,MAAM,GAAG,IAmBhF,CAAC"}
1
+ {"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../../src/ota/eligibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,UAAkB,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,KAAG,MAOlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GACzB,GAAG,QAAQ,EACX,KAAK,kBAAkB,EACvB,qBAA4B;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,KAC9D,MAAM,GAAG,IAoBX,CAAC"}
@@ -193,6 +193,12 @@ export type OtaState = {
193
193
  applyUpdate: () => Promise<void>;
194
194
  /** Installs and reloads `version` from the last checked manifest (full bundle, or a patch from the current version) */
195
195
  applyVersion: (version: number) => Promise<void>;
196
+ /**
197
+ * Installs and reloads exactly this registry entry (e.g. a row of a version list): its
198
+ * patch when it starts from the running version, else its full bundle. Ignores the kill
199
+ * switch, rollout and QA list; still refuses entries for other native code or Hermes.
200
+ */
201
+ applyEntry: (entry: OtaPatch) => Promise<void>;
196
202
  resetToFactory: () => Promise<void>;
197
203
  markAsHealthy: () => Promise<void>;
198
204
  /** Checks now unless the last check was under minCheckIntervalMs ago (force: always) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bspatch",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "Premium OTA Update Solution for React Native using TurboModules and bsdiff",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -17,7 +17,7 @@ import {
17
17
  View,
18
18
  } from 'react-native';
19
19
  import NativeBsPatch from '../NativeBsPatch';
20
- import { ineligibleReason } from './eligibility';
20
+ import { ineligibleReason, type EligibilityContext } from './eligibility';
21
21
  import { getInstallId } from './installId';
22
22
  import { applyOtaPatchInternal, fetchOtaManifest, selectUpdate, validateOtaConfig } from './otaCore';
23
23
  import { createOtaLogger, OtaEvent, type OtaLogEntry } from './otaLogger';
@@ -150,23 +150,21 @@ export function OtaProvider({
150
150
  }
151
151
  }, [config, onEvent]);
152
152
 
153
- /**
154
- * Core apply update logic — separated so it can be mapped to button clicks
155
- * OR called automatically by checkUpdates()
156
- */
157
- const executeApplyUpdate = useCallback(
158
- async (patchList: OtaPatch[], currentVer: number, targetVer: number) => {
159
- const directPatch = selectUpdate(patchList, currentVer, targetVer);
160
-
161
- if (!directPatch) {
162
- if (__DEV__) {
163
- console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
164
- }
165
- setStatus(OtaStatus.ERROR);
166
- setMessage('No upgrade path found.');
167
- return;
168
- }
153
+ /** What decides which registry entries this install may take */
154
+ const eligibilityContext = useCallback(async (): Promise<EligibilityContext> => {
155
+ const metadata = await loadMetadata(config.baseAppVersion);
156
+ return {
157
+ platform: Platform.OS,
158
+ failedVersions: metadata.failedVersions ?? [],
159
+ runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
160
+ hermesBytecodeVersion: hermesBytecodeVersion(),
161
+ installId: await getInstallId(),
162
+ };
163
+ }, [config.baseAppVersion]);
169
164
 
165
+ /** Installs one registry entry in the foreground (status + progress), then reloads */
166
+ const installEntry = useCallback(
167
+ async (directPatch: OtaPatch) => {
170
168
  try {
171
169
  const effectiveConfig = await getEffectiveConfig();
172
170
  setStatus(OtaStatus.DOWNLOADING);
@@ -195,6 +193,46 @@ export function OtaProvider({
195
193
  [getEffectiveConfig, setProgressIfChanged],
196
194
  );
197
195
 
196
+ /**
197
+ * Core apply update logic — separated so it can be mapped to button clicks
198
+ * OR called automatically by checkUpdates()
199
+ */
200
+ const executeApplyUpdate = useCallback(
201
+ async (patchList: OtaPatch[], currentVer: number, targetVer: number) => {
202
+ const directPatch = selectUpdate(patchList, currentVer, targetVer);
203
+ if (!directPatch) {
204
+ if (__DEV__) {
205
+ console.warn('[OtaProvider] No update entry found for', currentVer, '->', targetVer);
206
+ }
207
+ setStatus(OtaStatus.ERROR);
208
+ setMessage('No upgrade path found.');
209
+ return;
210
+ }
211
+ await installEntry(directPatch);
212
+ },
213
+ [installEntry],
214
+ );
215
+
216
+ /**
217
+ * Installs exactly this registry entry (a version list in a debug/QA screen): the patch
218
+ * when it starts from the running version, else its full bundle. Ignores the kill switch,
219
+ * rollout and QA list; still refuses what would break the app (native code, Hermes, …).
220
+ */
221
+ const applyEntry = useCallback(async (entry: OtaPatch) => {
222
+ if (!isDebugUpdateEnabled) {
223
+ setStatus(OtaStatus.UP_TO_DATE);
224
+ setMessage('OTA updates are disabled while running a debug build.');
225
+ return;
226
+ }
227
+ const reason = ineligibleReason(entry, await eligibilityContext(), { ignoreControls: true });
228
+ if (reason) {
229
+ setStatus(OtaStatus.ERROR);
230
+ setMessage(`Can't install V${entry.toVersion}: ${reason}`);
231
+ return;
232
+ }
233
+ await installEntry(entry);
234
+ }, [eligibilityContext, installEntry, isDebugUpdateEnabled]);
235
+
198
236
  /**
199
237
  * Exposed method for manual trigger
200
238
  */
@@ -284,13 +322,7 @@ export function OtaProvider({
284
322
 
285
323
  // Storage providers return every platform: keep what this install may take (platform,
286
324
  // native fingerprint, Hermes, rollout/QA lists, kill switch, versions that crashed here)
287
- const context = {
288
- platform: Platform.OS,
289
- failedVersions: metadata.failedVersions ?? [],
290
- runtimeFingerprint: nativeString(() => NativeBsPatch.getRuntimeFingerprint()),
291
- hermesBytecodeVersion: hermesBytecodeVersion(),
292
- installId: await getInstallId(),
293
- };
325
+ const context = await eligibilityContext();
294
326
  const platformPatches = remotePatches.filter(p => {
295
327
  const reason = ineligibleReason(p, context);
296
328
  if (reason && __DEV__ && p.toVersion > localV) {
@@ -340,7 +372,7 @@ export function OtaProvider({
340
372
  isCheckingRef.current = false;
341
373
  setIsChecking(false);
342
374
  }
343
- }, [config, configError, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
375
+ }, [config, configError, eligibilityContext, executeApplyUpdate, isDebugUpdateEnabled, downloadBackgroundUpdate, getEffectiveConfig]);
344
376
 
345
377
  /**
346
378
  * Bootstrap: runs once on mount.
@@ -485,6 +517,7 @@ export function OtaProvider({
485
517
  installId,
486
518
  applyUpdate,
487
519
  applyVersion,
520
+ applyEntry,
488
521
  resetToFactory,
489
522
  markAsHealthy,
490
523
  checkUpdate: checkUpdates,
@@ -503,6 +536,7 @@ export function OtaProvider({
503
536
  installId,
504
537
  applyUpdate,
505
538
  applyVersion,
539
+ applyEntry,
506
540
  resetToFactory,
507
541
  markAsHealthy,
508
542
  checkUpdates,
@@ -25,11 +25,19 @@ export const rolloutBucket = (installId: string, version: number): number => {
25
25
  return h % 100;
26
26
  };
27
27
 
28
- /** Why this client must not install the entry, or null when it may */
29
- export const ineligibleReason = (e: OtaPatch, ctx: EligibilityContext): string | null => {
28
+ /**
29
+ * Why this client must not install the entry, or null when it may.
30
+ * ignoreControls (installing a chosen entry by hand, e.g. QA): skip the kill switch,
31
+ * rollout and QA list, keep every check that protects the app.
32
+ */
33
+ export const ineligibleReason = (
34
+ e: OtaPatch,
35
+ ctx: EligibilityContext,
36
+ { ignoreControls = false }: { ignoreControls?: boolean } = {},
37
+ ): string | null => {
30
38
  if (e.platform && e.platform.toLowerCase() !== ctx.platform) return 'other platform';
31
39
  if (ctx.failedVersions.includes(e.toVersion)) return 'crashed on boot here before';
32
- if (e.disabled) return 'disabled';
40
+ if (e.disabled && !ignoreControls) return 'disabled';
33
41
  const missing = (e.requires ?? []).filter(f => !SUPPORTED_FEATURES.includes(f));
34
42
  if (missing.length) return `needs a newer client (${missing.join(', ')})`;
35
43
  if (e.runtimeFingerprint && e.runtimeFingerprint !== ctx.runtimeFingerprint) {
@@ -40,6 +48,7 @@ export const ineligibleReason = (e: OtaPatch, ctx: EligibilityContext): string |
40
48
  if (e.hermesBytecodeVersion && ctx.hermesBytecodeVersion && e.hermesBytecodeVersion !== ctx.hermesBytecodeVersion) {
41
49
  return `Hermes bytecode ${e.hermesBytecodeVersion}, runtime reads ${ctx.hermesBytecodeVersion}`;
42
50
  }
51
+ if (ignoreControls) return null;
43
52
  if (e.allowInstallIds?.length && !e.allowInstallIds.includes(ctx.installId)) return 'not in the QA list';
44
53
  if (e.rolloutPercent !== undefined && rolloutBucket(ctx.installId, e.toVersion) >= e.rolloutPercent) {
45
54
  return `outside the ${e.rolloutPercent}% rollout`;
package/src/ota/types.ts CHANGED
@@ -209,6 +209,12 @@ export type OtaState = {
209
209
  applyUpdate: () => Promise<void>;
210
210
  /** Installs and reloads `version` from the last checked manifest (full bundle, or a patch from the current version) */
211
211
  applyVersion: (version: number) => Promise<void>;
212
+ /**
213
+ * Installs and reloads exactly this registry entry (e.g. a row of a version list): its
214
+ * patch when it starts from the running version, else its full bundle. Ignores the kill
215
+ * switch, rollout and QA list; still refuses entries for other native code or Hermes.
216
+ */
217
+ applyEntry: (entry: OtaPatch) => Promise<void>;
212
218
  resetToFactory: () => Promise<void>;
213
219
  markAsHealthy: () => Promise<void>;
214
220
  /** Checks now unless the last check was under minCheckIntervalMs ago (force: always) */