diff --git a/android/app/build.gradle b/android/app/build.gradle index 1427a7f..4f82bcb 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -92,8 +92,8 @@ android { applicationId 'com.brewtracker.android' minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 189 - versionName "3.2.4" + versionCode 190 + versionName "3.2.5" buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\"" } diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 8a338c6..15ad49b 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ BrewTracker automatic - 3.2.4 + 3.2.5 contain false \ No newline at end of file diff --git a/app.json b/app.json index 9c93a4f..efc68f0 100644 --- a/app.json +++ b/app.json @@ -3,7 +3,7 @@ "name": "BrewTracker", "slug": "brewtracker-android", "orientation": "portrait", - "version": "3.2.4", + "version": "3.2.5", "icon": "./assets/images/BrewTrackerAndroidLogo.png", "scheme": "brewtracker", "userInterfaceStyle": "automatic", @@ -16,7 +16,7 @@ }, "edgeToEdgeEnabled": true, "package": "com.brewtracker.android", - "versionCode": 189, + "versionCode": 190, "permissions": [ "CAMERA", "VIBRATE", @@ -58,7 +58,7 @@ } }, "owner": "jackmisner", - "runtimeVersion": "3.2.4", + "runtimeVersion": "3.2.5", "updates": { "url": "https://u.expo.dev/edf222a8-b532-4d12-9b69-4e7fbb1d41c2" } diff --git a/package-lock.json b/package-lock.json index cd7487e..b19a2d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "brewtracker", - "version": "3.2.4", + "version": "3.2.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "brewtracker", - "version": "3.2.4", + "version": "3.2.5", "license": "GPL-3.0-or-later", "dependencies": { "@expo/metro-runtime": "~6.1.2", diff --git a/package.json b/package.json index 5ac745d..536c73a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "brewtracker", "main": "expo-router/entry", - "version": "3.2.4", + "version": "3.2.5", "license": "GPL-3.0-or-later", "scripts": { "start": "expo start", diff --git a/src/services/offlineV2/UserCacheService.ts b/src/services/offlineV2/UserCacheService.ts index d79c8b7..8fc3d9f 100644 --- a/src/services/offlineV2/UserCacheService.ts +++ b/src/services/offlineV2/UserCacheService.ts @@ -2103,13 +2103,20 @@ export class UserCacheService { ); // Check if this is an offline/network error - these shouldn't count as retries + // Check both error message and axios error code property + const axiosErrorCode = (error as any)?.code; const isOfflineError = errorMessage.includes("Simulated offline mode") || errorMessage.includes("Network request failed") || + errorMessage.includes("Network Error") || // Axios network error message errorMessage.includes("offline") || errorMessage.includes("ECONNREFUSED") || errorMessage.includes("DEPENDENCY_ERROR") || - errorMessage.includes("Parent brew session not synced yet"); + errorMessage.includes("Parent brew session not synced yet") || + axiosErrorCode === "ERR_NETWORK" || // Axios error code property + axiosErrorCode === "ECONNREFUSED" || + axiosErrorCode === "ETIMEDOUT" || + axiosErrorCode === "ENOTFOUND"; if (isOfflineError) { // Offline error - don't increment retry count, just stop syncing