From 7b09b3552297b299433cee8f74b5619eaeac70a4 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Mon, 13 May 2024 13:08:47 -0400 Subject: [PATCH 01/12] REF: Single source of truth for useIsLargeScreen --- components/Context/LargeScreenProvider.tsx | 43 ++++++++++++++++++++ hooks/useIsLargeScreen.ts | 47 ++++------------------ index.js => index.tsx | 13 +++--- 3 files changed, 59 insertions(+), 44 deletions(-) create mode 100644 components/Context/LargeScreenProvider.tsx rename index.js => index.tsx (74%) diff --git a/components/Context/LargeScreenProvider.tsx b/components/Context/LargeScreenProvider.tsx new file mode 100644 index 000000000..5bab2d89d --- /dev/null +++ b/components/Context/LargeScreenProvider.tsx @@ -0,0 +1,43 @@ +import React, { createContext, useState, useEffect, useMemo, ReactNode } from 'react'; +import { Dimensions } from 'react-native'; +import { isTablet } from 'react-native-device-info'; +import { isDesktop } from '../../blue_modules/environment'; + +interface ILargeScreenContext { + isLargeScreen: boolean; +} + +export const LargeScreenContext = createContext(undefined); + +interface LargeScreenProviderProps { + children: ReactNode; +} + +export const LargeScreenProvider: React.FC = ({ children }) => { + const [windowWidth, setWindowWidth] = useState(Dimensions.get('window').width); + const screenWidth: number = useMemo(() => Dimensions.get('screen').width, []); + + useEffect(() => { + const updateScreenUsage = (): void => { + const newWindowWidth = Dimensions.get('window').width; + if (newWindowWidth !== windowWidth) { + setWindowWidth(newWindowWidth); + } + }; + + const subscription = Dimensions.addEventListener('change', updateScreenUsage); + return () => subscription.remove(); + }, [windowWidth]); + + const isLargeScreen: boolean = useMemo(() => { + const isRunningOnTablet = isTablet(); + const halfScreenWidth = windowWidth >= screenWidth / 2; + const condition = (isRunningOnTablet && halfScreenWidth) || isDesktop; + console.debug( + `LargeScreenProvider.isLargeScreen: width: ${windowWidth}, Screen width: ${screenWidth}, Is tablet: ${isTablet()}, Is large screen: ${condition}, isDesktkop: ${isDesktop}`, + ); + return condition; + }, [windowWidth, screenWidth]); + + return {children}; +}; diff --git a/hooks/useIsLargeScreen.ts b/hooks/useIsLargeScreen.ts index 8c706cade..14ec0cd2d 100644 --- a/hooks/useIsLargeScreen.ts +++ b/hooks/useIsLargeScreen.ts @@ -1,41 +1,10 @@ -import { useState, useEffect, useMemo } from 'react'; -import { Dimensions } from 'react-native'; -import { isTablet } from 'react-native-device-info'; -import { isDesktop } from '../blue_modules/environment'; +import { useContext } from 'react'; +import { LargeScreenContext } from '../components/Context/LargeScreenProvider'; -// Custom hook to determine if the screen is large -export const useIsLargeScreen = () => { - const [windowWidth, setWindowWidth] = useState(Dimensions.get('window').width); - const screenWidth = useMemo(() => Dimensions.get('screen').width, []); - - useEffect(() => { - const updateScreenUsage = () => { - const newWindowWidth = Dimensions.get('window').width; - if (newWindowWidth !== windowWidth) { - console.debug(`Window width changed: ${newWindowWidth}`); - setWindowWidth(newWindowWidth); - } - }; - - // Add event listener for dimension changes - const subscription = Dimensions.addEventListener('change', updateScreenUsage); - - // Cleanup function to remove the event listener - return () => { - subscription.remove(); - }; - }, [windowWidth]); - - // Determine if the window width is at least half of the screen width - const isLargeScreen = useMemo(() => { - const isRunningOnTablet = isTablet(); - const halfScreenWidth = windowWidth >= screenWidth / 2; - const condition = (isRunningOnTablet && halfScreenWidth) || isDesktop; - console.debug( - `Window width: ${windowWidth}, Screen width: ${screenWidth}, Is tablet: ${isTablet()}, Is large screen: ${condition}, isDesktkop: ${isDesktop}`, - ); - return condition; - }, [windowWidth, screenWidth]); - - return isLargeScreen; +export const useIsLargeScreen = (): boolean => { + const context = useContext(LargeScreenContext); + if (context === undefined) { + throw new Error('useIsLargeScreen must be used within a LargeScreenProvider'); + } + return context.isLargeScreen; }; diff --git a/index.js b/index.tsx similarity index 74% rename from index.js rename to index.tsx index 0783e0c0c..8055bca79 100644 --- a/index.js +++ b/index.tsx @@ -8,6 +8,7 @@ import { BlueStorageProvider } from './blue_modules/storage-context'; import A from './blue_modules/analytics'; import { SettingsProvider } from './components/Context/SettingsContext'; import { restoreSavedPreferredFiatCurrencyAndExchangeFromStorage } from './blue_modules/currency'; +import { LargeScreenProvider } from './components/Context/LargeScreenProvider'; if (!Error.captureStackTrace) { // captureStackTrace is only available when debugging @@ -21,11 +22,13 @@ const BlueAppComponent = () => { }, []); return ( - - - - - + + + + + + + ); }; From 51738e462850b67da9c0e229784e3eda80305f77 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Mon, 13 May 2024 19:01:57 -0400 Subject: [PATCH 02/12] OPS: Revert --- index.tsx => index.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename index.tsx => index.js (100%) diff --git a/index.tsx b/index.js similarity index 100% rename from index.tsx rename to index.js From f7b3056360f0912e4d590b4949cc399f781f6143 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 14 May 2024 19:02:08 -0400 Subject: [PATCH 03/12] FIX: Use existing file --- blue_modules/environment.ts | 5 +++-- components/Context/LargeScreenProvider.tsx | 8 +++----- screen/send/Broadcast.tsx | 5 +++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/blue_modules/environment.ts b/blue_modules/environment.ts index c6e5db789..1b6f6fd32 100644 --- a/blue_modules/environment.ts +++ b/blue_modules/environment.ts @@ -1,6 +1,7 @@ import { isTablet, getDeviceType } from 'react-native-device-info'; const isDesktop: boolean = getDeviceType() === 'Desktop'; +const isHandset: boolean = getDeviceType() === 'Handset'; +const isTabletDevice: boolean = isTablet(); -export const isHandset: boolean = getDeviceType() === 'Handset'; -export { isDesktop, isTablet }; +export { isDesktop, isTabletDevice, isHandset }; diff --git a/components/Context/LargeScreenProvider.tsx b/components/Context/LargeScreenProvider.tsx index 5bab2d89d..a831f4e09 100644 --- a/components/Context/LargeScreenProvider.tsx +++ b/components/Context/LargeScreenProvider.tsx @@ -1,7 +1,6 @@ import React, { createContext, useState, useEffect, useMemo, ReactNode } from 'react'; import { Dimensions } from 'react-native'; -import { isTablet } from 'react-native-device-info'; -import { isDesktop } from '../../blue_modules/environment'; +import { isDesktop, isTabletDevice } from '../../blue_modules/environment'; interface ILargeScreenContext { isLargeScreen: boolean; @@ -30,11 +29,10 @@ export const LargeScreenProvider: React.FC = ({ childr }, [windowWidth]); const isLargeScreen: boolean = useMemo(() => { - const isRunningOnTablet = isTablet(); const halfScreenWidth = windowWidth >= screenWidth / 2; - const condition = (isRunningOnTablet && halfScreenWidth) || isDesktop; + const condition = (isTabletDevice && halfScreenWidth) || isDesktop; console.debug( - `LargeScreenProvider.isLargeScreen: width: ${windowWidth}, Screen width: ${screenWidth}, Is tablet: ${isTablet()}, Is large screen: ${condition}, isDesktkop: ${isDesktop}`, + `LargeScreenProvider.isLargeScreen: width: ${windowWidth}, Screen width: ${screenWidth}, Is tablet: ${isTabletDevice}, Is large screen: ${condition}, isDesktkop: ${isDesktop}`, ); return condition; }, [windowWidth, screenWidth]); diff --git a/screen/send/Broadcast.tsx b/screen/send/Broadcast.tsx index 33d5358f0..774b6cc1c 100644 --- a/screen/send/Broadcast.tsx +++ b/screen/send/Broadcast.tsx @@ -21,7 +21,7 @@ import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/h import SafeArea from '../../components/SafeArea'; import presentAlert from '../../components/Alert'; import { scanQrHelper } from '../../helpers/scan-qr'; -import { isTablet } from 'react-native-device-info'; +import { isTabletDevice } from '../../blue_modules/environment'; const BROADCAST_RESULT = Object.freeze({ none: 'Input transaction hex', @@ -34,6 +34,7 @@ interface SuccessScreenProps { tx: string; } + const Broadcast: React.FC = () => { const { name } = useRoute(); const { navigate } = useNavigation(); @@ -117,7 +118,7 @@ const Broadcast: React.FC = () => { return ( - + {BROADCAST_RESULT.success !== broadcastResult && ( From 7df5c3721e5992dae75ee4d9524eb2dd679c17fb Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 14 May 2024 19:50:13 -0400 Subject: [PATCH 04/12] FIX: CI --- blue_modules/environment.ts | 3 +-- components/Context/LargeScreenProvider.tsx | 5 ++++- screen/send/Broadcast.tsx | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/blue_modules/environment.ts b/blue_modules/environment.ts index 1b6f6fd32..febd4c83f 100644 --- a/blue_modules/environment.ts +++ b/blue_modules/environment.ts @@ -2,6 +2,5 @@ import { isTablet, getDeviceType } from 'react-native-device-info'; const isDesktop: boolean = getDeviceType() === 'Desktop'; const isHandset: boolean = getDeviceType() === 'Handset'; -const isTabletDevice: boolean = isTablet(); -export { isDesktop, isTabletDevice, isHandset }; +export { isDesktop, isTablet, isHandset }; diff --git a/components/Context/LargeScreenProvider.tsx b/components/Context/LargeScreenProvider.tsx index a831f4e09..838b3af88 100644 --- a/components/Context/LargeScreenProvider.tsx +++ b/components/Context/LargeScreenProvider.tsx @@ -1,11 +1,14 @@ import React, { createContext, useState, useEffect, useMemo, ReactNode } from 'react'; import { Dimensions } from 'react-native'; -import { isDesktop, isTabletDevice } from '../../blue_modules/environment'; +import { isDesktop, isTablet } from '../../blue_modules/environment'; interface ILargeScreenContext { isLargeScreen: boolean; } + +const isTabletDevice: boolean = isTablet() + export const LargeScreenContext = createContext(undefined); interface LargeScreenProviderProps { diff --git a/screen/send/Broadcast.tsx b/screen/send/Broadcast.tsx index 774b6cc1c..d6e23f928 100644 --- a/screen/send/Broadcast.tsx +++ b/screen/send/Broadcast.tsx @@ -21,8 +21,9 @@ import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/h import SafeArea from '../../components/SafeArea'; import presentAlert from '../../components/Alert'; import { scanQrHelper } from '../../helpers/scan-qr'; -import { isTabletDevice } from '../../blue_modules/environment'; +import { isTablet } from '../../blue_modules/environment'; +const isTabletDevice = isTablet(); const BROADCAST_RESULT = Object.freeze({ none: 'Input transaction hex', pending: 'pending', @@ -34,7 +35,6 @@ interface SuccessScreenProps { tx: string; } - const Broadcast: React.FC = () => { const { name } = useRoute(); const { navigate } = useNavigation(); From fc73266b2fd14a1807a6341a3a2f8d0e8b59b11c Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 15 May 2024 07:43:13 -0400 Subject: [PATCH 05/12] Update App.tsx --- App.tsx | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/App.tsx b/App.tsx index 0772aed08..0fa875f95 100644 --- a/App.tsx +++ b/App.tsx @@ -9,6 +9,7 @@ import { NavigationProvider } from './components/NavigationProvider'; import { BlueStorageProvider } from './blue_modules/storage-context'; import MasterView from './MasterView'; import { SettingsProvider } from './components/Context/SettingsContext'; +import { LargeScreenProvider } from './components/Context/LargeScreenProvider'; const { SplashScreen } = NativeModules; const App = () => { @@ -22,17 +23,19 @@ const App = () => { }, []); return ( - - - - - - - - - - - + + + + + + + + + + + + + ); }; From 7b3b48e3b5b74f6232de4a8dec20d97ae6d77f69 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 15 May 2024 08:05:42 -0400 Subject: [PATCH 06/12] REF: isTablet --- blue_modules/environment.ts | 3 ++- components/Context/LargeScreenProvider.tsx | 7 ++----- screen/send/Broadcast.tsx | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/blue_modules/environment.ts b/blue_modules/environment.ts index febd4c83f..987f92c9b 100644 --- a/blue_modules/environment.ts +++ b/blue_modules/environment.ts @@ -1,5 +1,6 @@ -import { isTablet, getDeviceType } from 'react-native-device-info'; +import { isTablet as checkIsTablet, getDeviceType } from 'react-native-device-info'; +const isTablet: boolean = checkIsTablet(); const isDesktop: boolean = getDeviceType() === 'Desktop'; const isHandset: boolean = getDeviceType() === 'Handset'; diff --git a/components/Context/LargeScreenProvider.tsx b/components/Context/LargeScreenProvider.tsx index 838b3af88..f39fef626 100644 --- a/components/Context/LargeScreenProvider.tsx +++ b/components/Context/LargeScreenProvider.tsx @@ -6,9 +6,6 @@ interface ILargeScreenContext { isLargeScreen: boolean; } - -const isTabletDevice: boolean = isTablet() - export const LargeScreenContext = createContext(undefined); interface LargeScreenProviderProps { @@ -33,9 +30,9 @@ export const LargeScreenProvider: React.FC = ({ childr const isLargeScreen: boolean = useMemo(() => { const halfScreenWidth = windowWidth >= screenWidth / 2; - const condition = (isTabletDevice && halfScreenWidth) || isDesktop; + const condition = (isTablet && halfScreenWidth) || isDesktop; console.debug( - `LargeScreenProvider.isLargeScreen: width: ${windowWidth}, Screen width: ${screenWidth}, Is tablet: ${isTabletDevice}, Is large screen: ${condition}, isDesktkop: ${isDesktop}`, + `LargeScreenProvider.isLargeScreen: width: ${windowWidth}, Screen width: ${screenWidth}, Is tablet: ${isTablet}, Is large screen: ${condition}, isDesktkop: ${isDesktop}`, ); return condition; }, [windowWidth, screenWidth]); diff --git a/screen/send/Broadcast.tsx b/screen/send/Broadcast.tsx index d6e23f928..83be8c227 100644 --- a/screen/send/Broadcast.tsx +++ b/screen/send/Broadcast.tsx @@ -23,7 +23,6 @@ import presentAlert from '../../components/Alert'; import { scanQrHelper } from '../../helpers/scan-qr'; import { isTablet } from '../../blue_modules/environment'; -const isTabletDevice = isTablet(); const BROADCAST_RESULT = Object.freeze({ none: 'Input transaction hex', pending: 'pending', @@ -118,7 +117,7 @@ const Broadcast: React.FC = () => { return ( - + {BROADCAST_RESULT.success !== broadcastResult && ( From bb575ee633d586796fde7388983ecefa6a07d538 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 15 May 2024 10:08:22 -0400 Subject: [PATCH 07/12] Update setup.js --- tests/setup.js | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/setup.js b/tests/setup.js index b2803823f..fc9b4c650 100644 --- a/tests/setup.js +++ b/tests/setup.js @@ -59,6 +59,7 @@ jest.mock('react-native-device-info', () => { getDeviceType: jest.fn().mockReturnValue(false), hasGmsSync: jest.fn().mockReturnValue(true), hasHmsSync: jest.fn().mockReturnValue(false), + isTablet: jest.fn().mockReturnValue(false), }; }); From 27111f3418f153cb3c9292b82aacbf4a0dbca4e1 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 15 May 2024 18:10:55 -0400 Subject: [PATCH 08/12] Update storage-context.tsx --- blue_modules/storage-context.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/blue_modules/storage-context.tsx b/blue_modules/storage-context.tsx index 6f79b3183..835b3512a 100644 --- a/blue_modules/storage-context.tsx +++ b/blue_modules/storage-context.tsx @@ -74,11 +74,13 @@ export const BlueStorageProvider = ({ children }: { children: React.ReactNode }) useEffect(() => { setWallets(BlueApp.getWallets()); - - BlueElectrum.isDisabled().then(setIsElectrumDisabled); - if (walletsInitialized) { - BlueElectrum.connectMain(); - } + (async () => { + const isElectrumDisabledValue = await BlueElectrum.isDisabled(); + setIsElectrumDisabled(isElectrumDisabledValue); + if (walletsInitialized && !isElectrumDisabledValue) { + BlueElectrum.connectMain(); + } + })(); }, [walletsInitialized]); const saveToDisk = async (force: boolean = false) => { From 0abaf5699013239e3f9dccf300e67fe612ec22ba Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 15 May 2024 18:31:04 -0400 Subject: [PATCH 09/12] FIX: Reorder wallets search was missing --- navigation/LazyLoadReorderWalletsStack.tsx | 10 ---------- navigation/ReorderWalletsStack.tsx | 4 ++-- 2 files changed, 2 insertions(+), 12 deletions(-) delete mode 100644 navigation/LazyLoadReorderWalletsStack.tsx diff --git a/navigation/LazyLoadReorderWalletsStack.tsx b/navigation/LazyLoadReorderWalletsStack.tsx deleted file mode 100644 index 39f985456..000000000 --- a/navigation/LazyLoadReorderWalletsStack.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React, { lazy, Suspense } from 'react'; -import { LazyLoadingIndicator } from './LazyLoadingIndicator'; - -const ReorderWallets = lazy(() => import('../screen/wallets/reorderWallets')); - -export const ReorderWalletsComponent = () => ( - }> - - -); diff --git a/navigation/ReorderWalletsStack.tsx b/navigation/ReorderWalletsStack.tsx index defbd53cb..076f4b363 100644 --- a/navigation/ReorderWalletsStack.tsx +++ b/navigation/ReorderWalletsStack.tsx @@ -1,9 +1,9 @@ import React from 'react'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; -import { ReorderWalletsComponent } from './LazyLoadReorderWalletsStack'; import { useTheme } from '../components/themes'; import navigationStyle from '../components/navigationStyle'; import loc from '../loc'; +import ReorderWallets from '../screen/wallets/reorderWallets'; const Stack = createNativeStackNavigator(); @@ -14,7 +14,7 @@ const ReorderWalletsStackRoot = () => { Date: Wed, 15 May 2024 18:45:46 -0400 Subject: [PATCH 10/12] REF: Use react memo on carousel item to avoid rerenders --- components/WalletsCarousel.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/WalletsCarousel.js b/components/WalletsCarousel.js index 8bf1f9159..4c7c716cd 100644 --- a/components/WalletsCarousel.js +++ b/components/WalletsCarousel.js @@ -154,7 +154,7 @@ const iStyles = StyleSheet.create({ }, }); -export const WalletCarouselItem = ({ item, _, onPress, handleLongPress, isSelectedWallet, customStyle }) => { +export const WalletCarouselItem = React.memo(({ item, _, onPress, handleLongPress, isSelectedWallet, customStyle }) => { const scaleValue = new Animated.Value(1.0); const { colors } = useTheme(); const { walletTransactionUpdateStatus } = useContext(BlueStorageContext); @@ -251,7 +251,7 @@ export const WalletCarouselItem = ({ item, _, onPress, handleLongPress, isSelect ); -}; +}); WalletCarouselItem.propTypes = { item: PropTypes.any, @@ -292,7 +292,7 @@ const WalletsCarousel = forwardRef((props, ref) => { ), // eslint-disable-next-line react-hooks/exhaustive-deps - [horizontal, selectedWallet, handleLongPress, onPress, preferredFiatCurrency, language], + [horizontal, selectedWallet, preferredFiatCurrency, language], ); const flatListRef = useRef(); From cc4c4e822312783338c6c2a942741a2b7a82670f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 23:10:34 +0000 Subject: [PATCH 11/12] Update dependency realm to v12.8.1 --- package-lock.json | 47 +++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index f0821c74e..7fbacf0be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "license": "MIT", "dependencies": { "@babel/preset-env": "^7.20.0", - "@bugsnag/react-native": "7.22.7", + "@bugsnag/react-native": "7.23.0", "@bugsnag/source-maps": "2.3.3", "@keystonehq/bc-ur-registry": "0.6.4", "@ngraveio/bc-ur": "1.1.12", @@ -99,7 +99,7 @@ "react-native-watch-connectivity": "1.1.0", "react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38", "readable-stream": "3.6.2", - "realm": "12.8.0", + "realm": "12.8.1", "rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", @@ -2250,17 +2250,19 @@ } }, "node_modules/@bugsnag/plugin-react-native-unhandled-rejection": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@bugsnag/plugin-react-native-unhandled-rejection/-/plugin-react-native-unhandled-rejection-7.22.7.tgz", - "integrity": "sha512-xmFpUPYrQxwsr9RJ1HTu9lfNUbAHM+hIyUEshg+/Wfj/1Zvnkr0AnkqRWbQFqkOBklzYI4s7maJvm4S2go/KOQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@bugsnag/plugin-react-native-unhandled-rejection/-/plugin-react-native-unhandled-rejection-7.23.0.tgz", + "integrity": "sha512-z0Nlqir3nnBcXVffw8uau12SS7vVUu0yS65SS5uWUn9cNIwNSTqZ/40pHVGh1VQBbpXlYrw7RVbPtufWmS20EA==", + "license": "MIT", "peerDependencies": { "@bugsnag/core": "^7.0.0" } }, "node_modules/@bugsnag/react-native": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.7.tgz", - "integrity": "sha512-vHmynQj7rzPW+1v8aK41G9T5HSaXipgFkkCmczOiFG9YYNzVKeaPcbwcS6Z6+tLZ55ZQeJdupfezcmj4rnAZVw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.23.0.tgz", + "integrity": "sha512-4xw0BDUBYPYxxBM0rbRr+uI+8IA/22p2JdzW+DMzLjue9e5PY+dTGZgREllGLuE27NtMBvnaA0rlWSYfxE04cQ==", + "license": "MIT", "dependencies": { "@bugsnag/core": "^7.22.7", "@bugsnag/delivery-react-native": "^7.22.7", @@ -2272,7 +2274,7 @@ "@bugsnag/plugin-react-native-global-error-handler": "^7.22.7", "@bugsnag/plugin-react-native-hermes": "^7.22.7", "@bugsnag/plugin-react-native-session": "^7.22.7", - "@bugsnag/plugin-react-native-unhandled-rejection": "^7.22.7", + "@bugsnag/plugin-react-native-unhandled-rejection": "^7.23.0", "iserror": "^0.0.2" } }, @@ -20110,10 +20112,11 @@ "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" }, "node_modules/realm": { - "version": "12.8.0", - "resolved": "https://registry.npmjs.org/realm/-/realm-12.8.0.tgz", - "integrity": "sha512-U1w5+ncyURQFQTrshoGn3KV+pzR1rQlPT7s3Sw6HPIPVBH80EWU3mirwvqp6RQ+Qi32ctRrBMTNeGd5mzAyiSw==", + "version": "12.8.1", + "resolved": "https://registry.npmjs.org/realm/-/realm-12.8.1.tgz", + "integrity": "sha512-+zj2bvU0EACXvPBdvRsp2TybHPqPtftciTXsAlhrTWMiaoqC8FO6lriPbUs/JwsXz1w9otJXl5kXRBghPQHgLQ==", "hasInstallScript": true, + "license": "apache-2.0", "dependencies": { "@realm/fetch": "^0.1.1", "bson": "^4.7.2", @@ -24003,14 +24006,14 @@ "integrity": "sha512-p3C7m6GXh9ICnGt+m1FwWpBCiGNGdQvoTzzN0LAxT6YQdB3t2nmhqE3QIpHmXpJK1PveTCIOO2DbeSerWtUEsg==" }, "@bugsnag/plugin-react-native-unhandled-rejection": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@bugsnag/plugin-react-native-unhandled-rejection/-/plugin-react-native-unhandled-rejection-7.22.7.tgz", - "integrity": "sha512-xmFpUPYrQxwsr9RJ1HTu9lfNUbAHM+hIyUEshg+/Wfj/1Zvnkr0AnkqRWbQFqkOBklzYI4s7maJvm4S2go/KOQ==" + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@bugsnag/plugin-react-native-unhandled-rejection/-/plugin-react-native-unhandled-rejection-7.23.0.tgz", + "integrity": "sha512-z0Nlqir3nnBcXVffw8uau12SS7vVUu0yS65SS5uWUn9cNIwNSTqZ/40pHVGh1VQBbpXlYrw7RVbPtufWmS20EA==" }, "@bugsnag/react-native": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.22.7.tgz", - "integrity": "sha512-vHmynQj7rzPW+1v8aK41G9T5HSaXipgFkkCmczOiFG9YYNzVKeaPcbwcS6Z6+tLZ55ZQeJdupfezcmj4rnAZVw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@bugsnag/react-native/-/react-native-7.23.0.tgz", + "integrity": "sha512-4xw0BDUBYPYxxBM0rbRr+uI+8IA/22p2JdzW+DMzLjue9e5PY+dTGZgREllGLuE27NtMBvnaA0rlWSYfxE04cQ==", "requires": { "@bugsnag/core": "^7.22.7", "@bugsnag/delivery-react-native": "^7.22.7", @@ -24022,7 +24025,7 @@ "@bugsnag/plugin-react-native-global-error-handler": "^7.22.7", "@bugsnag/plugin-react-native-hermes": "^7.22.7", "@bugsnag/plugin-react-native-session": "^7.22.7", - "@bugsnag/plugin-react-native-unhandled-rejection": "^7.22.7", + "@bugsnag/plugin-react-native-unhandled-rejection": "^7.23.0", "iserror": "^0.0.2" } }, @@ -37517,9 +37520,9 @@ "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" }, "realm": { - "version": "12.8.0", - "resolved": "https://registry.npmjs.org/realm/-/realm-12.8.0.tgz", - "integrity": "sha512-U1w5+ncyURQFQTrshoGn3KV+pzR1rQlPT7s3Sw6HPIPVBH80EWU3mirwvqp6RQ+Qi32ctRrBMTNeGd5mzAyiSw==", + "version": "12.8.1", + "resolved": "https://registry.npmjs.org/realm/-/realm-12.8.1.tgz", + "integrity": "sha512-+zj2bvU0EACXvPBdvRsp2TybHPqPtftciTXsAlhrTWMiaoqC8FO6lriPbUs/JwsXz1w9otJXl5kXRBghPQHgLQ==", "requires": { "@realm/fetch": "^0.1.1", "bson": "^4.7.2", diff --git a/package.json b/package.json index 4494315b2..a20688a00 100644 --- a/package.json +++ b/package.json @@ -184,7 +184,7 @@ "react-native-watch-connectivity": "1.1.0", "react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38", "readable-stream": "3.6.2", - "realm": "12.8.0", + "realm": "12.8.1", "rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", From 292db985d76e9d8c7e28ca028e8ed87709223607 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 02:09:29 +0000 Subject: [PATCH 12/12] Update dependency react-native-device-info to v10.14.0 --- package-lock.json | 15 ++++++++------- package.json | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7fbacf0be..771dadd41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,7 @@ "react-native-camera-kit": "13.0.0", "react-native-crypto": "2.2.0", "react-native-default-preference": "1.4.4", - "react-native-device-info": "10.13.2", + "react-native-device-info": "10.14.0", "react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#6033c4e1b0dd0a6760b5f5a5a2c3b2e5d07f2ae4", "react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#ebfddc4", "react-native-elements": "3.4.3", @@ -19388,9 +19388,10 @@ } }, "node_modules/react-native-device-info": { - "version": "10.13.2", - "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.13.2.tgz", - "integrity": "sha512-5EAls7uvGdZkVfp1KWHsR5BfJJHp/ux64+ZPj1865IcaUyrNQIWYFmrTHwTH8L/NGJUTBrzv+y6WODnN17LSbw==", + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.14.0.tgz", + "integrity": "sha512-9NnTGfhEU4UgQtz4p6COk2Gbqly0dpSWrJtp+dw5rNAi96KtYbaNnO5yoOHDlJ1SVIzh8+hFu3WxVbnWkFU9gA==", + "license": "MIT", "peerDependencies": { "react-native": "*" } @@ -37103,9 +37104,9 @@ "integrity": "sha512-h0vtgiSKws3UmMRJykXAVM4ne1SgfoocUcoBD19ewRpQd6wqurE0HJRQGrSxcHK5LdKE7QPSIB1VX3YGIVS8Jg==" }, "react-native-device-info": { - "version": "10.13.2", - "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.13.2.tgz", - "integrity": "sha512-5EAls7uvGdZkVfp1KWHsR5BfJJHp/ux64+ZPj1865IcaUyrNQIWYFmrTHwTH8L/NGJUTBrzv+y6WODnN17LSbw==" + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-10.14.0.tgz", + "integrity": "sha512-9NnTGfhEU4UgQtz4p6COk2Gbqly0dpSWrJtp+dw5rNAi96KtYbaNnO5yoOHDlJ1SVIzh8+hFu3WxVbnWkFU9gA==" }, "react-native-document-picker": { "version": "git+ssh://git@github.com/BlueWallet/react-native-document-picker.git#6033c4e1b0dd0a6760b5f5a5a2c3b2e5d07f2ae4", diff --git a/package.json b/package.json index a20688a00..665c1e176 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,7 @@ "react-native-camera-kit": "13.0.0", "react-native-crypto": "2.2.0", "react-native-default-preference": "1.4.4", - "react-native-device-info": "10.13.2", + "react-native-device-info": "10.14.0", "react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#6033c4e1b0dd0a6760b5f5a5a2c3b2e5d07f2ae4", "react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#ebfddc4", "react-native-elements": "3.4.3",