mirror of
https://gitcode.com/gh_mirrors/re/react-native-pushy.git
synced 2025-09-16 10:21:37 +08:00
add onpackageexpired
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-native-update",
|
"name": "react-native-update",
|
||||||
"version": "10.28.1",
|
"version": "10.29.0",
|
||||||
"description": "react-native hot update",
|
"description": "react-native hot update",
|
||||||
"main": "src/index",
|
"main": "src/index",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@@ -171,7 +171,7 @@ export const UpdateProvider = ({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const rollout = info.config?.rollout?.[packageVersion];
|
const rollout = info.config?.rollout?.[packageVersion];
|
||||||
if (rollout) {
|
if (info.update && rollout) {
|
||||||
if (!isInRollout(rollout)) {
|
if (!isInRollout(rollout)) {
|
||||||
log(`not in ${rollout}% rollout, ignored`);
|
log(`not in ${rollout}% rollout, ignored`);
|
||||||
return;
|
return;
|
||||||
@@ -182,6 +182,13 @@ export const UpdateProvider = ({
|
|||||||
updateInfoRef.current = info;
|
updateInfoRef.current = info;
|
||||||
setUpdateInfo(info);
|
setUpdateInfo(info);
|
||||||
if (info.expired) {
|
if (info.expired) {
|
||||||
|
if (
|
||||||
|
options.onPackageExpired &&
|
||||||
|
(await options.onPackageExpired(info)) === false
|
||||||
|
) {
|
||||||
|
log('onPackageExpired returned false, skipping');
|
||||||
|
return;
|
||||||
|
}
|
||||||
const { downloadUrl } = info;
|
const { downloadUrl } = info;
|
||||||
if (downloadUrl && Pushy.apkStatus === null) {
|
if (downloadUrl && Pushy.apkStatus === null) {
|
||||||
if (options.updateStrategy === 'silentAndNow') {
|
if (options.updateStrategy === 'silentAndNow') {
|
||||||
|
@@ -92,6 +92,7 @@ export interface ClientOptions {
|
|||||||
beforeCheckUpdate?: () => Promise<boolean>;
|
beforeCheckUpdate?: () => Promise<boolean>;
|
||||||
beforeDownloadUpdate?: (info: CheckResult) => Promise<boolean>;
|
beforeDownloadUpdate?: (info: CheckResult) => Promise<boolean>;
|
||||||
afterDownloadUpdate?: (info: CheckResult) => Promise<boolean>;
|
afterDownloadUpdate?: (info: CheckResult) => Promise<boolean>;
|
||||||
|
onPackageExpired?: (info: CheckResult) => Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UpdateTestPayload {
|
export interface UpdateTestPayload {
|
||||||
|
Reference in New Issue
Block a user