From 03aca40128b247048798af9bd5046d9f9ffaecc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Abadesso?= Date: Thu, 7 Nov 2024 20:34:39 -0300 Subject: [PATCH 1/7] chore: bumped to v0.29.0-rc1 (#604) --- android/app/build.gradle | 4 ++-- ios/HathorMobile.xcodeproj/project.pbxproj | 8 ++++---- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 297172696..c3a46c76f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -79,8 +79,8 @@ android { applicationId "network.hathor.wallet" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 76 - versionName "0.28.0" + versionCode 77 + versionName "0.29.0-rc.1" missingDimensionStrategy "react-native-camera", "general" } signingConfigs { diff --git a/ios/HathorMobile.xcodeproj/project.pbxproj b/ios/HathorMobile.xcodeproj/project.pbxproj index f74ba90d0..76446093f 100644 --- a/ios/HathorMobile.xcodeproj/project.pbxproj +++ b/ios/HathorMobile.xcodeproj/project.pbxproj @@ -476,7 +476,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = HathorMobile/HathorMobile.entitlements; - CURRENT_PROJECT_VERSION = 1.0.0; + CURRENT_PROJECT_VERSION = 0.1.0; DEVELOPMENT_TEAM = 55SHY647CG; ENABLE_BITCODE = NO; INFOPLIST_FILE = HathorMobile/Info.plist; @@ -485,7 +485,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.28.0; + MARKETING_VERSION = 0.29.0; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -506,7 +506,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = HathorMobile/HathorMobile.entitlements; - CURRENT_PROJECT_VERSION = 1.0.0; + CURRENT_PROJECT_VERSION = 0.1.0; DEVELOPMENT_TEAM = 55SHY647CG; INFOPLIST_FILE = HathorMobile/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -514,7 +514,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.28.0; + MARKETING_VERSION = 0.29.0; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", diff --git a/package-lock.json b/package-lock.json index a3d4e84fc..bc104dea1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "HathorMobile", - "version": "0.28.0", + "version": "0.29.0-rc.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "HathorMobile", - "version": "0.28.0", + "version": "0.29.0-rc.1", "dependencies": { "@ethersproject/shims": "5.7.0", "@fortawesome/fontawesome-svg-core": "1.2.36", diff --git a/package.json b/package.json index 0238f8109..16ec1bb9f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "HathorMobile", - "version": "0.28.0", + "version": "0.29.0-rc.1", "engines": { "node": ">=18.0.0", "npm": ">=9.0.0" From 23bc594bc44e31c4564ead04515bf9420ec517a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Abadesso?= Date: Fri, 8 Nov 2024 11:20:20 -0300 Subject: [PATCH 2/7] fix: using network settings to fetch the network instead of serverInfo (#605) --- src/sagas/tokens.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sagas/tokens.js b/src/sagas/tokens.js index acdc6056d..d96a905ac 100644 --- a/src/sagas/tokens.js +++ b/src/sagas/tokens.js @@ -20,7 +20,7 @@ import { t } from 'ttag'; import { metadataApi } from '@hathor/wallet-lib'; import { channel } from 'redux-saga'; import { get } from 'lodash'; -import { specificTypeAndPayload, dispatchAndWait, getRegisteredTokenUids } from './helpers'; +import { specificTypeAndPayload, dispatchAndWait, getRegisteredTokenUids, getNetworkSettings } from './helpers'; import { mapToTxHistory, splitInGroups } from '../utils'; import { types, @@ -241,7 +241,7 @@ function* fetchTokenMetadataConsumer(fetchTokenMetadataChannel) { * @inner */ export function* fetchTokenMetadata({ tokenId }) { - const { network } = yield select((state) => state.serverInfo); + const { network } = yield select((state) => getNetworkSettings(state)); try { // Retry mechanism From 1af2ad5d1bc381b950d69a797f62fb0d0378570a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Carneiro?= Date: Fri, 8 Nov 2024 12:12:18 -0300 Subject: [PATCH 3/7] fix: safe biometry migration2 (#608) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: error in biometry migration * fix: cleanup * chore: docstring --------- Co-authored-by: André Abadesso --- src/sagas/wallet.js | 5 +++-- src/screens/PinScreen.js | 31 +++++++++++++++++++++---------- src/utils.js | 7 +++++++ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/sagas/wallet.js b/src/sagas/wallet.js index b78c00724..5a4e33786 100644 --- a/src/sagas/wallet.js +++ b/src/sagas/wallet.js @@ -72,6 +72,7 @@ import { firstAddressFailure, firstAddressSuccess, setUseSafeBiometryMode, + lockScreen, } from '../actions'; import { fetchTokenData } from './tokens'; import { @@ -437,8 +438,8 @@ export function* onPushNotificationDisabled() { } export function* onSafeBiometryToggleChanged() { - log.debug('Safe biometry mode feature toggle changed state, reloading wallet.'); - yield put(reloadWalletRequested()); + log.debug('Safe biometry mode feature toggle changed state, locking wallet.'); + yield put(lockScreen()); } /** diff --git a/src/screens/PinScreen.js b/src/screens/PinScreen.js index faad040a1..ceed971a5 100644 --- a/src/screens/PinScreen.js +++ b/src/screens/PinScreen.js @@ -33,6 +33,9 @@ import baseStyle from '../styles/init'; import Spinner from '../components/Spinner'; import FeedbackModal from '../components/FeedbackModal'; import errorIcon from '../assets/images/icErrorBig.png'; +import { logger } from '../logger'; + +const log = logger('PIN_SCREEN'); /** * loadHistoryActive {bool} whether we still need to load history @@ -147,17 +150,25 @@ class PinScreen extends React.Component { if (this.props.isLockScreen) { // in case it's the lock screen, we just have to execute the data migration // method an change redux state. No need to execute callback or go back on navigation - await STORE.handleDataMigration(pin); - await biometricsMigration(pin, this.props.safeBiometryEnabled); - if (!this.props.wallet) { - // We have already made sure we have an available accessData - // The handleDataMigration method ensures we have already migrated if necessary - // This means the wallet is loaded and the access data is ready to be used. - - const words = await STORE.getWalletWords(pin); - this.props.startWalletRequested({ words, pin }); + try { + await STORE.handleDataMigration(pin); + const newPin = await biometricsMigration(pin, this.props.safeBiometryEnabled); + if (!this.props.wallet) { + // We have already made sure we have an available accessData + // The handleDataMigration method ensures we have already migrated if necessary + // This means the wallet is loaded and the access data is ready to be used. + + const words = await STORE.getWalletWords(newPin); + this.props.startWalletRequested({ words, pin: newPin }); + } + this.props.unlockScreen(); + } catch (e) { + log.debug(e); + this.props.onExceptionCaptured( + new Error('Error during wallet initialization.'), + true, // Fatal since we can't start the wallet + ); } - this.props.unlockScreen(); } else { // dismiss the pin screen first because doing it after the callback can // end up dismissing the wrong screen diff --git a/src/utils.js b/src/utils.js index 0a3c04d16..3a776a6e0 100644 --- a/src/utils.js +++ b/src/utils.js @@ -96,6 +96,7 @@ export const getTokenLabel = (token) => `${token.name} (${token.symbol})`; * * @param {string} currentPassword * @param {bool} safeBiometryEnabled + * @return {string} The actual pin/password for the application. */ export async function biometricsMigration(currentPassword, safeBiometryEnabled) { const oldBiometry = STORE.getItem(IS_OLD_BIOMETRY_ENABLED_KEY); @@ -111,6 +112,8 @@ export async function biometricsMigration(currentPassword, safeBiometryEnabled) await changePinOnAccessData(storage, currentPassword, password); STORE.enableSafeBiometry(currentPassword, password); STORE.removeItem(IS_OLD_BIOMETRY_ENABLED_KEY); + + return password; } } else { // Old biometry mode, need to migrate if safe biometry is enabled. @@ -123,8 +126,12 @@ export async function biometricsMigration(currentPassword, safeBiometryEnabled) await changePinOnAccessData(storage, currentPassword, pin); STORE.removeItem(IS_BIOMETRY_ENABLED_KEY); STORE.setItem(IS_OLD_BIOMETRY_ENABLED_KEY, true); + + return pin; } } + + return currentPassword; } /** From 470f547c2ca2a69202ff031010d8ac2fe435a86e Mon Sep 17 00:00:00 2001 From: Tulio Miranda Date: Fri, 8 Nov 2024 12:13:33 -0300 Subject: [PATCH 4/7] chore: bumps to v0.29.0-rc.2 (#609) --- android/app/build.gradle | 4 ++-- ios/HathorMobile.xcodeproj/project.pbxproj | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index c3a46c76f..8f18a5f0c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -79,8 +79,8 @@ android { applicationId "network.hathor.wallet" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 77 - versionName "0.29.0-rc.1" + versionCode 78 + versionName "0.29.0-rc.2" missingDimensionStrategy "react-native-camera", "general" } signingConfigs { diff --git a/ios/HathorMobile.xcodeproj/project.pbxproj b/ios/HathorMobile.xcodeproj/project.pbxproj index 76446093f..a184a193a 100644 --- a/ios/HathorMobile.xcodeproj/project.pbxproj +++ b/ios/HathorMobile.xcodeproj/project.pbxproj @@ -476,7 +476,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = HathorMobile/HathorMobile.entitlements; - CURRENT_PROJECT_VERSION = 0.1.0; + CURRENT_PROJECT_VERSION = 0.2.0; DEVELOPMENT_TEAM = 55SHY647CG; ENABLE_BITCODE = NO; INFOPLIST_FILE = HathorMobile/Info.plist; @@ -506,7 +506,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = HathorMobile/HathorMobile.entitlements; - CURRENT_PROJECT_VERSION = 0.1.0; + CURRENT_PROJECT_VERSION = 0.2.0; DEVELOPMENT_TEAM = 55SHY647CG; INFOPLIST_FILE = HathorMobile/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; diff --git a/package-lock.json b/package-lock.json index bc104dea1..bf46fb7f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "HathorMobile", - "version": "0.29.0-rc.1", + "version": "0.29.0-rc.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "HathorMobile", - "version": "0.29.0-rc.1", + "version": "0.29.0-rc.2", "dependencies": { "@ethersproject/shims": "5.7.0", "@fortawesome/fontawesome-svg-core": "1.2.36", diff --git a/package.json b/package.json index 16ec1bb9f..224ab37fe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "HathorMobile", - "version": "0.29.0-rc.1", + "version": "0.29.0-rc.2", "engines": { "node": ">=18.0.0", "npm": ">=9.0.0" From f4279de9feb2fa070b35ec0e7a056cd68f178fe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Abadesso?= Date: Fri, 8 Nov 2024 17:08:37 -0300 Subject: [PATCH 5/7] fix: reown crashing (#611) * chore: added more logs to feature toggle * fix: reown crashing when coming back from inactive * fix: sending actual error on reown * chore: updated pre release script to use npm run setup * chore: send full error to sentry on biometry error --- package.json | 1 + pre_release.sh | 2 +- src/sagas/featureToggle.js | 8 ++++++-- src/sagas/reown.js | 4 ++-- src/screens/PinScreen.js | 4 ++-- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 224ab37fe..afce58a4b 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "lint": "eslint .", "test": "jest", "setup": "npm install && ./node_modules/.bin/allow-scripts && rn-nodeify --install stream,process,path,events,crypto,console,buffer --hack && npx patch-package", + "setup:release": "npm ci && ./node_modules/.bin/allow-scripts && rn-nodeify --install stream,process,path,events,crypto,console,buffer --hack && npx patch-package", "locale-update-pot": "ttag extract -o ./locale/texts.pot ./src/" }, "dependencies": { diff --git a/pre_release.sh b/pre_release.sh index ffbc6ae05..d066a2034 100755 --- a/pre_release.sh +++ b/pre_release.sh @@ -18,7 +18,7 @@ rm -f ./android/app/google-services.json rm -f ./android/app/GoogleService-Info.plist rm -f ./notifications/GoogleService-Info.plist -npm ci +npm run setup:release (cd ios/ && pod install) diff --git a/src/sagas/featureToggle.js b/src/sagas/featureToggle.js index fd17a1267..781e19951 100644 --- a/src/sagas/featureToggle.js +++ b/src/sagas/featureToggle.js @@ -37,12 +37,15 @@ import { SAFE_BIOMETRY_MODE_FEATURE_TOGGLE, } from '../constants'; import { disableFeaturesIfNeeded } from './helpers'; +import { logger } from '../logger'; const MAX_RETRIES = 5; +const log = logger('featureToggle'); + export function* handleInitFailed(currentRetry) { if (currentRetry >= MAX_RETRIES) { - console.error('Max retries reached while trying to create the unleash-proxy client.'); + log.error('Max retries reached while trying to create the unleash-proxy client.'); const unleashClient = yield select((state) => state.unleashClient); if (unleashClient) { @@ -75,7 +78,7 @@ export function* fetchTogglesRoutine() { } catch (e) { // No need to do anything here as it will try again automatically in // UNLEASH_POLLING_INTERVAL. Just prevent it from crashing the saga. - console.error('Erroed fetching feature toggles'); + log.error('Erroed fetching feature toggles', e); } } } @@ -128,6 +131,7 @@ export function* monitorFeatureFlags(currentRetry = 0) { yield put(setUseSafeBiometryMode(featureToggles[SAFE_BIOMETRY_MODE_FEATURE_TOGGLE])); yield put(featureToggleInitialized()); } catch (e) { + log.error(e); yield put(setUnleashClient(null)); // Wait 500ms before retrying diff --git a/src/sagas/reown.js b/src/sagas/reown.js index fef9d3473..9eac36909 100644 --- a/src/sagas/reown.js +++ b/src/sagas/reown.js @@ -242,7 +242,7 @@ export function* checkForPendingRequests() { } const { walletKit } = reownClient; - yield call([walletKit, walletKit.getPendingAuthRequests]); + yield call([walletKit, walletKit.getPendingSessionProposals]); yield call([walletKit, walletKit.getPendingSessionRequests]); } @@ -899,7 +899,7 @@ export function* onSessionProposal(action) { })); } catch (e) { // Only if this fails, send the exception to Sentry - yield put(onExceptionCaptured(error)); + yield put(onExceptionCaptured(e)); } } } diff --git a/src/screens/PinScreen.js b/src/screens/PinScreen.js index ceed971a5..8944807d8 100644 --- a/src/screens/PinScreen.js +++ b/src/screens/PinScreen.js @@ -163,9 +163,9 @@ class PinScreen extends React.Component { } this.props.unlockScreen(); } catch (e) { - log.debug(e); + log.error(e); this.props.onExceptionCaptured( - new Error('Error during wallet initialization.'), + e, true, // Fatal since we can't start the wallet ); } From 38057be83e396f4f3b7f108fd3cb88fe71447dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Abadesso?= Date: Fri, 8 Nov 2024 17:05:22 -0300 Subject: [PATCH 6/7] chore: bumped to rc4 --- android/app/build.gradle | 4 ++-- ios/HathorMobile.xcodeproj/project.pbxproj | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 8f18a5f0c..36d0556d8 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -79,8 +79,8 @@ android { applicationId "network.hathor.wallet" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 78 - versionName "0.29.0-rc.2" + versionCode 80 + versionName "0.29.0-rc.4" missingDimensionStrategy "react-native-camera", "general" } signingConfigs { diff --git a/ios/HathorMobile.xcodeproj/project.pbxproj b/ios/HathorMobile.xcodeproj/project.pbxproj index a184a193a..248c1b672 100644 --- a/ios/HathorMobile.xcodeproj/project.pbxproj +++ b/ios/HathorMobile.xcodeproj/project.pbxproj @@ -476,7 +476,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = HathorMobile/HathorMobile.entitlements; - CURRENT_PROJECT_VERSION = 0.2.0; + CURRENT_PROJECT_VERSION = 0.4.0; DEVELOPMENT_TEAM = 55SHY647CG; ENABLE_BITCODE = NO; INFOPLIST_FILE = HathorMobile/Info.plist; @@ -506,7 +506,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = HathorMobile/HathorMobile.entitlements; - CURRENT_PROJECT_VERSION = 0.2.0; + CURRENT_PROJECT_VERSION = 0.4.0; DEVELOPMENT_TEAM = 55SHY647CG; INFOPLIST_FILE = HathorMobile/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; diff --git a/package-lock.json b/package-lock.json index bf46fb7f0..551c16f27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "HathorMobile", - "version": "0.29.0-rc.2", + "version": "0.29.0-rc.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "HathorMobile", - "version": "0.29.0-rc.2", + "version": "0.29.0-rc.4", "dependencies": { "@ethersproject/shims": "5.7.0", "@fortawesome/fontawesome-svg-core": "1.2.36", diff --git a/package.json b/package.json index afce58a4b..ddaaddd1a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "HathorMobile", - "version": "0.29.0-rc.2", + "version": "0.29.0-rc.4", "engines": { "node": ">=18.0.0", "npm": ">=9.0.0" From 0e004334af70bcf75e2c2cc551ee447e94a56120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Abadesso?= Date: Fri, 8 Nov 2024 23:58:34 -0300 Subject: [PATCH 7/7] feat: added v8 to android build --- android/app/build.gradle | 3 ++ .../com/hathormobile/MainApplication.java | 13 +++++ package-lock.json | 50 ++++++++++--------- package.json | 4 +- src/sagas/index.js | 2 + 5 files changed, 48 insertions(+), 24 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 36d0556d8..09572903c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -103,6 +103,9 @@ android { proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } + packagingOptions { + exclude "**/libjsc.so" + } } dependencies { diff --git a/android/app/src/main/java/com/hathormobile/MainApplication.java b/android/app/src/main/java/com/hathormobile/MainApplication.java index 3c3fb8e84..944fef8ec 100644 --- a/android/app/src/main/java/com/hathormobile/MainApplication.java +++ b/android/app/src/main/java/com/hathormobile/MainApplication.java @@ -4,12 +4,16 @@ import com.facebook.react.PackageList; import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; +import com.facebook.react.bridge.JavaScriptExecutorFactory; import com.facebook.react.ReactPackage; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactNativeHost; +import com.facebook.react.modules.systeminfo.AndroidInfoHelpers; import com.facebook.soloader.SoLoader; import java.util.List; +import io.csie.kudo.reactnative.v8.executor.V8ExecutorFactory; + public class MainApplication extends Application implements ReactApplication { private final ReactNativeHost mReactNativeHost = @@ -42,6 +46,15 @@ protected boolean isNewArchEnabled() { protected Boolean isHermesEnabled() { return BuildConfig.IS_HERMES_ENABLED; } + + @Override + protected JavaScriptExecutorFactory getJavaScriptExecutorFactory() { + return new V8ExecutorFactory( + getApplicationContext(), + getPackageName(), + AndroidInfoHelpers.getFriendlyDeviceName(), + getUseDeveloperSupport()); + } }; @Override diff --git a/package-lock.json b/package-lock.json index 551c16f27..15edd7d31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,6 +69,7 @@ "react-native-svg": "13.10.0", "react-native-tab-view": "3.5.2", "react-native-url-polyfill": "2.0.0", + "react-native-v8": "^2.5.1", "react-native-vector-icons": "9.2.0", "react-native-version-number": "0.3.6", "react-redux": "7.2.9", @@ -79,7 +80,8 @@ "stream-browserify": "1.0.0", "text-encoding": "0.7.0", "ttag": "1.7.24", - "url": "0.11.1" + "url": "0.11.1", + "v8-android-jit": "^11.1000.4" }, "devDependencies": { "@babel/core": "7.22.8", @@ -21435,6 +21437,22 @@ "react-native": "*" } }, + "node_modules/react-native-v8": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-native-v8/-/react-native-v8-2.5.1.tgz", + "integrity": "sha512-ak8tBj2flaIk0eg3qO/cykBbK7xsmZIuSAQnS5eu1mEO6ZnNEJmR/3NU4dVjTu6uFkQJazYUn/3BoyDmi5GyJw==", + "dependencies": { + "semver": "^7.6.2" + }, + "peerDependencies": { + "expo": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } + } + }, "node_modules/react-native-vector-icons": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.2.0.tgz", @@ -22246,12 +22264,9 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -22259,22 +22274,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -24116,6 +24115,11 @@ "node": ">= 0.4.0" } }, + "node_modules/v8-android-jit": { + "version": "11.1000.4", + "resolved": "https://registry.npmjs.org/v8-android-jit/-/v8-android-jit-11.1000.4.tgz", + "integrity": "sha512-THwoqrbZr1IntuKeTOE/BSq7rkgOYJc74TtX+AxYEVAP1igXNxtcWVWSJMvUf1SRL9SPU1dFmElz+bDO6uJqBw==" + }, "node_modules/v8-to-istanbul": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.2.tgz", diff --git a/package.json b/package.json index ddaaddd1a..7527863c1 100644 --- a/package.json +++ b/package.json @@ -79,6 +79,7 @@ "react-native-svg": "13.10.0", "react-native-tab-view": "3.5.2", "react-native-url-polyfill": "2.0.0", + "react-native-v8": "^2.5.1", "react-native-vector-icons": "9.2.0", "react-native-version-number": "0.3.6", "react-redux": "7.2.9", @@ -89,7 +90,8 @@ "stream-browserify": "1.0.0", "text-encoding": "0.7.0", "ttag": "1.7.24", - "url": "0.11.1" + "url": "0.11.1", + "v8-android-jit": "^11.1000.4" }, "devDependencies": { "@babel/core": "7.22.8", diff --git a/src/sagas/index.js b/src/sagas/index.js index 935afeb1e..8fd3770e4 100644 --- a/src/sagas/index.js +++ b/src/sagas/index.js @@ -22,6 +22,8 @@ import { logger } from '../logger'; const MAX_RETRIES = 5; +console.log(`V8 version is ${global._v8runtime().version}`); + const log = logger('rootSaga'); const sagas = {