From 48b9f7ab0791d69e541e6e3301ec0fa49475bb21 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Tue, 25 Nov 2025 14:19:48 +0800 Subject: [PATCH] fix build time check --- .../modules/update/UpdateContext.java | 17 +++++++++-------- ios/RCTPushy/RCTPushy.mm | 7 +++++-- package.json | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java b/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java index 5ba8695..b971ef2 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java @@ -44,13 +44,17 @@ public class UpdateContext { String storedPackageVersion = this.sp.getString("packageVersion", null); String storedBuildTime = this.sp.getString("buildTime", null); - // If stored versions don't exist, write current versions first - if (storedPackageVersion == null || storedBuildTime == null) { - SharedPreferences.Editor editor = sp.edit(); + + SharedPreferences.Editor editor = this.sp.edit(); + if (storedPackageVersion == null) { editor.putString("packageVersion", packageVersion); - editor.putString("buildTime", buildTime); editor.apply(); storedPackageVersion = packageVersion; + } + + if (storedBuildTime == null) { + editor.putString("buildTime", buildTime); + editor.apply(); storedBuildTime = buildTime; } @@ -65,10 +69,7 @@ public class UpdateContext { editor.clear(); editor.putString("packageVersion", packageVersion); editor.putString("buildTime", buildTime); - // Use commit() instead of apply() to ensure synchronous write completion - // This prevents race condition where getBundleUrl() might read null values - // if called before apply() completes - editor.commit(); + editor.apply(); } } diff --git a/ios/RCTPushy/RCTPushy.mm b/ios/RCTPushy/RCTPushy.mm index 1c32768..5d3bf91 100644 --- a/ios/RCTPushy/RCTPushy.mm +++ b/ios/RCTPushy/RCTPushy.mm @@ -78,10 +78,13 @@ RCT_EXPORT_MODULE(RCTPushy); NSString *storedBuildTime = [defaults stringForKey:paramBuildTime]; // If stored versions don't exist, write current versions first - if (!storedPackageVersion && !storedBuildTime) { + if (!storedPackageVersion) { [defaults setObject:curPackageVersion forKey:paramPackageVersion]; - [defaults setObject:curBuildTime forKey:paramBuildTime]; storedPackageVersion = curPackageVersion; + } + + if (!storedBuildTime) { + [defaults setObject:curBuildTime forKey:paramBuildTime]; storedBuildTime = curBuildTime; } diff --git a/package.json b/package.json index 37b80b0..cb9674b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-update", - "version": "10.36.0", + "version": "10.36.1", "description": "react-native hot update", "main": "src/index", "scripts": {