Merge pull request #233 from tooot-app/main

Update candidate
This commit is contained in:
xmflsct 2022-02-17 00:15:26 +01:00 committed by GitHub
commit bb7dca988e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 128 additions and 135 deletions

View File

@ -133,8 +133,8 @@ private_lane :build_android do
task: 'clean bundle', task: 'clean bundle',
build_type: 'release', build_type: 'release',
project_dir: "./android", project_dir: "./android",
print_command: false, print_command: true,
print_command_output: false, print_command_output: true,
properties: { properties: {
"expoSDK" => VERSIONS[:expo], "expoSDK" => VERSIONS[:expo],
"releaseChannel" => RELEASE_CHANNEL, "releaseChannel" => RELEASE_CHANNEL,
@ -173,8 +173,8 @@ private_lane :build_android do
task: 'clean bundle', task: 'clean bundle',
build_type: 'release', build_type: 'release',
project_dir: "./android", project_dir: "./android",
print_command: false, print_command: true,
print_command_output: false, print_command_output: true,
properties: { properties: {
"expoSDK" => VERSIONS[:expo], "expoSDK" => VERSIONS[:expo],
"releaseChannel" => RELEASE_CHANNEL, "releaseChannel" => RELEASE_CHANNEL,

View File

@ -371,9 +371,9 @@ PODS:
- React-Core - React-Core
- react-native-cameraroll (4.1.2): - react-native-cameraroll (4.1.2):
- React-Core - React-Core
- react-native-netinfo (7.1.9): - react-native-netinfo (8.0.0):
- React-Core - React-Core
- react-native-pager-view (5.4.9): - react-native-pager-view (5.4.11):
- React-Core - React-Core
- react-native-safe-area-context (3.3.2): - react-native-safe-area-context (3.3.2):
- React-Core - React-Core
@ -444,7 +444,7 @@ PODS:
- React-jsi (= 0.66.4) - React-jsi (= 0.66.4)
- React-logger (= 0.66.4) - React-logger (= 0.66.4)
- React-perflogger (= 0.66.4) - React-perflogger (= 0.66.4)
- RNCAsyncStorage (1.15.17): - RNCAsyncStorage (1.16.1):
- React-Core - React-Core
- RNFastImage (8.5.11): - RNFastImage (8.5.11):
- React-Core - React-Core
@ -452,7 +452,7 @@ PODS:
- SDWebImageWebPCoder (~> 0.8.4) - SDWebImageWebPCoder (~> 0.8.4)
- RNGestureHandler (2.2.0): - RNGestureHandler (2.2.0):
- React-Core - React-Core
- RNReanimated (2.4.0): - RNReanimated (2.4.1):
- DoubleConversion - DoubleConversion
- FBLazyVector - FBLazyVector
- FBReactNativeSpec - FBReactNativeSpec
@ -480,7 +480,7 @@ PODS:
- React-RCTText - React-RCTText
- ReactCommon/turbomodule/core - ReactCommon/turbomodule/core
- Yoga - Yoga
- RNScreens (3.10.2): - RNScreens (3.11.1):
- React-Core - React-Core
- React-RCTImage - React-RCTImage
- RNSentry (3.2.13): - RNSentry (3.2.13):
@ -815,8 +815,8 @@ SPEC CHECKSUMS:
react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c
react-native-blurhash: b7ed7b7de81ae1f9ce52d694f43c5b5cddddcae1 react-native-blurhash: b7ed7b7de81ae1f9ce52d694f43c5b5cddddcae1
react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866 react-native-cameraroll: 2957f2bce63ae896a848fbe0d5352c1bd4d20866
react-native-netinfo: 87e5bfaf21ea5c6c110941290aa481dd8e849f98 react-native-netinfo: ba4ea50d836c60580c59079233c400753fe5bcb6
react-native-pager-view: 3ee7d4c7697fb3ef788346e834a60cca97ed8540 react-native-pager-view: 7f00d63688f7df9fad86dfb0154814419cc5eb8d
react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057
react-native-segmented-control: 65df6cd0619b780b3843d574a72d4c7cec396097 react-native-segmented-control: 65df6cd0619b780b3843d574a72d4c7cec396097
React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd
@ -831,11 +831,11 @@ SPEC CHECKSUMS:
React-RCTVibration: e3ffca672dd3772536cb844274094b0e2c31b187 React-RCTVibration: e3ffca672dd3772536cb844274094b0e2c31b187
React-runtimeexecutor: dec32ee6f2e2a26e13e58152271535fadff5455a React-runtimeexecutor: dec32ee6f2e2a26e13e58152271535fadff5455a
ReactCommon: 57b69f6383eafcbd7da625bfa6003810332313c4 ReactCommon: 57b69f6383eafcbd7da625bfa6003810332313c4
RNCAsyncStorage: 6bd5a7ba3dde1c3facba418aa273f449bdc5437a RNCAsyncStorage: b49b4e38a1548d03b74b30e558a1d18465b94be7
RNFastImage: cced864a4a2eac27c5c10ac16bd5e8b9d2be4504 RNFastImage: cced864a4a2eac27c5c10ac16bd5e8b9d2be4504
RNGestureHandler: bf572f552ea324acd5b5464b8d30755b2d8c1de6 RNGestureHandler: bf572f552ea324acd5b5464b8d30755b2d8c1de6
RNReanimated: fb56abd99a5d7efe91ae3c7bf3cd3663cee1b21b RNReanimated: e8afbe2a9e08e9e778ea72ddb1a8533445812621
RNScreens: d6da2b9e29cf523832c2542f47bf1287318b1868 RNScreens: 4d83613b50b74ed277026375dc0810893b0c347f
RNSentry: 0aa1567f66c20390f3834637fc4f73380dcd0774 RNSentry: 0aa1567f66c20390f3834637fc4f73380dcd0774
RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f RNSVG: 551acb6562324b1d52a4e0758f7ca0ec234e278f
SDWebImage: 53179a2dba77246efa8a9b85f5c5b21f8f43e38f SDWebImage: 53179a2dba77246efa8a9b85f5c5b21f8f43e38f

View File

@ -1,10 +1,10 @@
{ {
"name": "tooot", "name": "tooot",
"versions": { "versions": {
"native": "220209", "native": "220214",
"major": 3, "major": 3,
"minor": 5, "minor": 5,
"patch": 0, "patch": 1,
"expo": "44.0.0" "expo": "44.0.0"
}, },
"description": "tooot app for Mastodon", "description": "tooot app for Mastodon",
@ -27,14 +27,14 @@
"dependencies": { "dependencies": {
"@expo/react-native-action-sheet": "3.13.0", "@expo/react-native-action-sheet": "3.13.0",
"@neverdull-agency/expo-unlimited-secure-store": "1.0.10", "@neverdull-agency/expo-unlimited-secure-store": "1.0.10",
"@react-native-async-storage/async-storage": "1.15.17", "@react-native-async-storage/async-storage": "1.16.1",
"@react-native-community/blur": "3.6.0", "@react-native-community/blur": "3.6.0",
"@react-native-community/cameraroll": "4.1.2", "@react-native-community/cameraroll": "4.1.2",
"@react-native-community/netinfo": "7.1.9", "@react-native-community/netinfo": "8.0.0",
"@react-native-community/segmented-control": "2.2.2", "@react-native-community/segmented-control": "2.2.2",
"@react-navigation/bottom-tabs": "6.2.0", "@react-navigation/bottom-tabs": "6.2.0",
"@react-navigation/native": "6.0.8", "@react-navigation/native": "6.0.8",
"@react-navigation/native-stack": "6.4.1", "@react-navigation/native-stack": "6.5.0",
"@react-navigation/stack": "6.1.1", "@react-navigation/stack": "6.1.1",
"@reduxjs/toolkit": "1.7.2", "@reduxjs/toolkit": "1.7.2",
"@sentry/react-native": "3.2.13", "@sentry/react-native": "3.2.13",
@ -67,7 +67,7 @@
"lodash": "4.17.21", "lodash": "4.17.21",
"react": "17.0.2", "react": "17.0.2",
"react-dom": "17.0.2", "react-dom": "17.0.2",
"react-i18next": "11.15.3", "react-i18next": "11.15.4",
"react-native": "0.66.4", "react-native": "0.66.4",
"react-native-animated-spinkit": "1.5.2", "react-native-animated-spinkit": "1.5.2",
"react-native-base64": "^0.2.1", "react-native-base64": "^0.2.1",
@ -77,14 +77,14 @@
"react-native-flash-message": "0.2.1", "react-native-flash-message": "0.2.1",
"react-native-gesture-handler": "2.2.0", "react-native-gesture-handler": "2.2.0",
"react-native-htmlview": "0.16.0", "react-native-htmlview": "0.16.0",
"react-native-pager-view": "5.4.9", "react-native-pager-view": "5.4.11",
"react-native-reanimated": "2.4.0", "react-native-reanimated": "2.4.1",
"react-native-safe-area-context": "3.3.2", "react-native-safe-area-context": "3.3.2",
"react-native-screens": "3.10.2", "react-native-screens": "3.11.1",
"react-native-svg": "12.1.1", "react-native-svg": "12.1.1",
"react-native-swipe-list-view": "3.2.9", "react-native-swipe-list-view": "3.2.9",
"react-native-tab-view": "3.1.1", "react-native-tab-view": "3.1.1",
"react-query": "3.34.14", "react-query": "3.34.15",
"react-redux": "7.2.6", "react-redux": "7.2.6",
"react-timeago": "6.2.1", "react-timeago": "6.2.1",
"redux-persist": "6.0.0", "redux-persist": "6.0.0",
@ -94,10 +94,10 @@
"valid-url": "1.0.9" "valid-url": "1.0.9"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.17.0", "@babel/core": "7.17.2",
"@babel/plugin-proposal-optional-chaining": "7.16.7", "@babel/plugin-proposal-optional-chaining": "7.16.7",
"@babel/preset-typescript": "7.16.7", "@babel/preset-typescript": "7.16.7",
"@expo/config": "6.0.16", "@expo/config": "6.0.18",
"@types/lodash": "4.14.178", "@types/lodash": "4.14.178",
"@types/react": "17.0.39", "@types/react": "17.0.39",
"@types/react-dom": "17.0.11", "@types/react-dom": "17.0.11",

View File

@ -1,3 +1,4 @@
import analytics from '@components/analytics'
import { HeaderLeft } from '@components/Header' import { HeaderLeft } from '@components/Header'
import { displayMessage, Message } from '@components/Message' import { displayMessage, Message } from '@components/Message'
import navigationRef from '@helpers/navigationRef' import navigationRef from '@helpers/navigationRef'
@ -21,7 +22,6 @@ import { updateFilters } from '@utils/slices/instances/updateFilters'
import { getInstanceActive, getInstances } from '@utils/slices/instancesSlice' import { getInstanceActive, getInstances } from '@utils/slices/instancesSlice'
import { useTheme } from '@utils/styles/ThemeManager' import { useTheme } from '@utils/styles/ThemeManager'
import { themes } from '@utils/styles/themes' import { themes } from '@utils/styles/themes'
import * as Analytics from 'expo-firebase-analytics'
import * as Linking from 'expo-linking' import * as Linking from 'expo-linking'
import { addScreenshotListener } from 'expo-screen-capture' import { addScreenshotListener } from 'expo-screen-capture'
import React, { useCallback, useEffect, useRef, useState } from 'react' import React, { useCallback, useEffect, useRef, useState } from 'react'
@ -40,11 +40,7 @@ const Screens: React.FC<Props> = ({ localCorrupt }) => {
const { t } = useTranslation('screens') const { t } = useTranslation('screens')
const dispatch = useDispatch() const dispatch = useDispatch()
const instanceActive = useSelector(getInstanceActive) const instanceActive = useSelector(getInstanceActive)
const { colors, mode, theme } = useTheme() const { colors, theme } = useTheme()
enum barStyle {
light = 'dark-content',
dark = 'light-content'
}
const routeRef = useRef<{ name?: string; params?: {} }>() const routeRef = useRef<{ name?: string; params?: {} }>()
@ -118,7 +114,7 @@ const Screens: React.FC<Props> = ({ localCorrupt }) => {
} }
if (previousRoute?.name !== currentRoute?.name) { if (previousRoute?.name !== currentRoute?.name) {
Analytics.logEvent('screen_view', { screen_name: currentRoute?.name }) analytics('screen_view', { screen_name: currentRoute?.name })
Sentry.Native.setContext('page', { Sentry.Native.setContext('page', {
previous: previousRoute, previous: previousRoute,
current: currentRoute current: currentRoute
@ -163,10 +159,7 @@ const Screens: React.FC<Props> = ({ localCorrupt }) => {
return ( return (
<> <>
<StatusBar <StatusBar backgroundColor={colors.backgroundDefault} />
barStyle={barStyle[mode]}
backgroundColor={colors.backgroundDefault}
/>
<NavigationContainer <NavigationContainer
ref={navigationRef} ref={navigationRef}
theme={themes[theme]} theme={themes[theme]}

View File

@ -58,14 +58,14 @@ const apiGeneral = async <T = unknown>({
}) })
}) })
.catch(error => { .catch(error => {
if (sentry && Math.random() < 0.01) { // if (sentry && Math.random() < 0.01) {
Sentry.Native.setExtras({ // Sentry.Native.setExtras({
API: 'general', // API: 'general',
...(error.response && { response: error.response }), // ...(error.response && { response: error.response }),
...(error.request && { request: error.request }) // ...(error.request && { request: error.request })
}) // })
Sentry.Native.captureException(error) // Sentry.Native.captureException(error)
} // }
if (error.response) { if (error.response) {
// The request was made and the server responded with a status code // The request was made and the server responded with a status code

View File

@ -98,14 +98,14 @@ const apiInstance = async <T = unknown>({
}) })
}) })
.catch(error => { .catch(error => {
if (Math.random() < 0.001) { // if (Math.random() < 0.001) {
Sentry.Native.setExtras({ // Sentry.Native.setExtras({
API: 'instance', // API: 'instance',
...(error.response && { response: error.response }), // ...(error.response && { response: error.response }),
...(error.request && { request: error.request }) // ...(error.request && { request: error.request })
}) // })
Sentry.Native.captureException(error) // Sentry.Native.captureException(error)
} // }
if (error.response) { if (error.response) {
// The request was made and the server responded with a status code // The request was made and the server responded with a status code

View File

@ -34,8 +34,8 @@ const AttachmentImage = React.memo(
!image.meta?.original?.width || !image.meta?.original?.width ||
!image.meta?.original?.height !image.meta?.original?.height
? attachmentAspectRatio({ total, index }) ? attachmentAspectRatio({ total, index })
: image.meta.original.height / image.meta.original.width > 2 : image.meta.original.height / image.meta.original.width > 1
? 0.5 ? 1
: image.meta.original.width / image.meta.original.height : image.meta.original.width / image.meta.original.height
}} }}
/> />

View File

@ -41,7 +41,7 @@ export const shouldFilter = ({
}) => { }) => {
const instance = getInstance(store.getState()) const instance = getInstance(store.getState())
const ownAccount = const ownAccount =
getInstanceAccount(store.getState())?.id === status.account.id getInstanceAccount(store.getState())?.id === status.account?.id
let shouldFilter = false let shouldFilter = false
if (!ownAccount) { if (!ownAccount) {

View File

@ -1,7 +1,7 @@
import * as Analytics from 'expo-firebase-analytics' import * as Analytics from 'expo-firebase-analytics'
const analytics = (event: string, params?: { [key: string]: any }) => { const analytics = (event: string, params?: { [key: string]: any }) => {
Analytics.logEvent(event, params) Analytics.logEvent(event, params).catch(() => {})
} }
export default analytics export default analytics

View File

@ -127,7 +127,7 @@ const ScreenImagesViewer = ({
return ( return (
<SafeAreaProvider> <SafeAreaProvider>
<StatusBar backgroundColor='rgb(0,0,0)' /> <StatusBar hidden />
<ImageViewer <ImageViewer
images={imageUrls} images={imageUrls}
imageIndex={initialIndex} imageIndex={initialIndex}

View File

@ -31,7 +31,7 @@ const Tab = createBottomTabNavigator<ScreenTabsStackParamList>()
const ScreenTabs = React.memo( const ScreenTabs = React.memo(
({ navigation }: RootStackScreenProps<'Screen-Tabs'>) => { ({ navigation }: RootStackScreenProps<'Screen-Tabs'>) => {
const { colors } = useTheme() const { colors, theme } = useTheme()
const instanceActive = useSelector(getInstanceActive) const instanceActive = useSelector(getInstanceActive)
const instanceAccount = useSelector( const instanceAccount = useSelector(
@ -87,7 +87,7 @@ const ScreenTabs = React.memo(
} }
} }
}), }),
[instanceAccount?.avatarStatic, instanceActive] [instanceAccount?.avatarStatic, instanceActive, theme]
) )
const composeListeners = useMemo( const composeListeners = useMemo(

View File

@ -23,7 +23,7 @@ const Stack = createNativeStackNavigator<TabPublicStackParamList>()
const TabPublic = React.memo( const TabPublic = React.memo(
({ navigation }: ScreenTabsScreenProps<'Tab-Public'>) => { ({ navigation }: ScreenTabsScreenProps<'Tab-Public'>) => {
const { t, i18n } = useTranslation('screenTabs') const { t, i18n } = useTranslation('screenTabs')
const { mode } = useTheme() const { mode, theme } = useTheme()
const [segment, setSegment] = useState(0) const [segment, setSegment] = useState(0)
const pages: { const pages: {
@ -67,7 +67,7 @@ const TabPublic = React.memo(
/> />
) )
}), }),
[mode, segment, i18n.language] [theme, segment, i18n.language]
) )
const routes = pages.map(p => ({ key: p.key })) const routes = pages.map(p => ({ key: p.key }))

View File

@ -91,8 +91,10 @@ const AccountAttachments = React.memo(
return ( return (
<GracefullyImage <GracefullyImage
uri={{ uri={{
original: item.media_attachments[0].preview_url, original:
remote: item.media_attachments[0].remote_url item.media_attachments[0]?.preview_url ||
item.media_attachments[0]?.url,
remote: item.media_attachments[0]?.remote_url
}} }}
blurhash={item.media_attachments[0].blurhash} blurhash={item.media_attachments[0].blurhash}
dimension={{ width: width, height: width }} dimension={{ width: width, height: width }}

View File

@ -60,7 +60,7 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
}) })
}, 500) }, 500)
} catch (err) { } catch (err) {
if (Math.random() < 0.1) { if (Math.random() < 0.05) {
Sentry.Native.captureException(err) Sentry.Native.captureException(err)
} }
} }
@ -91,7 +91,7 @@ const TabSharedToot: React.FC<TabSharedStackScreenProps<'Tab-Shared-Toot'>> = ({
500 500
) )
} catch (err) { } catch (err) {
if (Math.random() < 0.1) { if (Math.random() < 0.05) {
Sentry.Native.captureException(err) Sentry.Native.captureException(err)
} }
} }

View File

@ -106,7 +106,8 @@ const addInstance = createAsyncThunk(
lists: { shown: false }, lists: { shown: false },
announcements: { shown: false, unread: 0 } announcements: { shown: false, unread: 0 }
}, },
drafts: [] drafts: [],
frequentEmojis: []
} }
}) })
} }

View File

@ -1,10 +1,4 @@
import React, { import React, { createContext, useContext, useEffect, useState } from 'react'
createContext,
useContext,
useEffect,
useRef,
useState
} from 'react'
import { Appearance } from 'react-native' import { Appearance } from 'react-native'
import { useSelector } from 'react-redux' import { useSelector } from 'react-redux'
import { ColorDefinitions, getColors, Theme } from '@utils/styles/themes' import { ColorDefinitions, getColors, Theme } from '@utils/styles/themes'
@ -85,25 +79,23 @@ const ThemeManager: React.FC = ({ children }) => {
const userTheme = useSelector(getSettingsTheme) const userTheme = useSelector(getSettingsTheme)
const darkTheme = useSelector(getSettingsDarkTheme) const darkTheme = useSelector(getSettingsDarkTheme)
const mode = useRef(userTheme === 'auto' ? osTheme || 'light' : userTheme) const [mode, setMode] = useState(
userTheme === 'auto' ? osTheme || 'light' : userTheme
)
const [theme, setTheme] = useState<Theme>( const [theme, setTheme] = useState<Theme>(
determineTheme(osTheme, userTheme, darkTheme) determineTheme(osTheme, userTheme, darkTheme)
) )
useEffect(() => { useEffect(() => {
mode.current = userTheme === 'auto' ? osTheme || 'light' : userTheme setMode(userTheme === 'auto' ? osTheme || 'light' : userTheme)
}, [userTheme]) }, [osTheme, userTheme])
useEffect(() => { useEffect(() => {
setTheme(determineTheme(osTheme, userTheme, darkTheme)) setTheme(determineTheme(osTheme, userTheme, darkTheme))
}, [osTheme, userTheme, darkTheme]) }, [osTheme, userTheme, darkTheme])
return ( return (
<ManageThemeContext.Provider <ManageThemeContext.Provider
value={{ value={{ mode, theme, colors: getColors(theme) }}
mode: mode.current,
theme,
colors: getColors(theme)
}}
> >
{children} {children}
</ManageThemeContext.Provider> </ManageThemeContext.Provider>

111
yarn.lock
View File

@ -28,17 +28,17 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34"
integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==
"@babel/core@7.17.0": "@babel/core@7.17.2":
version "7.17.0" version "7.17.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337"
integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA== integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw==
dependencies: dependencies:
"@ampproject/remapping" "^2.0.0" "@ampproject/remapping" "^2.0.0"
"@babel/code-frame" "^7.16.7" "@babel/code-frame" "^7.16.7"
"@babel/generator" "^7.17.0" "@babel/generator" "^7.17.0"
"@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-compilation-targets" "^7.16.7"
"@babel/helper-module-transforms" "^7.16.7" "@babel/helper-module-transforms" "^7.16.7"
"@babel/helpers" "^7.17.0" "@babel/helpers" "^7.17.2"
"@babel/parser" "^7.17.0" "@babel/parser" "^7.17.0"
"@babel/template" "^7.16.7" "@babel/template" "^7.16.7"
"@babel/traverse" "^7.17.0" "@babel/traverse" "^7.17.0"
@ -277,7 +277,7 @@
"@babel/traverse" "^7.16.8" "@babel/traverse" "^7.16.8"
"@babel/types" "^7.16.8" "@babel/types" "^7.16.8"
"@babel/helpers@^7.17.0", "@babel/helpers@^7.17.2": "@babel/helpers@^7.17.2":
version "7.17.2" version "7.17.2"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417"
integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==
@ -1111,12 +1111,12 @@
xcode "^3.0.1" xcode "^3.0.1"
xml2js "0.4.23" xml2js "0.4.23"
"@expo/config-plugins@4.0.17", "@expo/config-plugins@^4.0.14", "@expo/config-plugins@^4.0.2": "@expo/config-plugins@4.0.18":
version "4.0.17" version "4.0.18"
resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.0.17.tgz#d5a7790ec65bc84301c13d335cb1d7a35e4bcbca" resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.0.18.tgz#80cf6a3aed83e78f714ad097d80e5a7cca48591a"
integrity sha512-29CMwT2C+1fxsV6QttAdZICCpmT+4KqDIQ+4FftMlljwWEMZzb9aCHl2EYKyXbR5yUmTtXCzEejuyncam4W/Mw== integrity sha512-tW4bnrnKhn+PPHF8wf1KAoubICAVUHW8CcagvyFqaRIzeh6yavMIOsQShxOVTbgx7LzSyymZ1nEs45yCGAiMfA==
dependencies: dependencies:
"@expo/config-types" "^43.0.1" "@expo/config-types" "^44.0.0"
"@expo/json-file" "8.2.34" "@expo/json-file" "8.2.34"
"@expo/plist" "0.0.17" "@expo/plist" "0.0.17"
"@expo/sdk-runtime-versions" "^1.0.0" "@expo/sdk-runtime-versions" "^1.0.0"
@ -1182,10 +1182,15 @@
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-43.0.1.tgz#3e047dccb371741a540980eaff26fb0c95039c30" resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-43.0.1.tgz#3e047dccb371741a540980eaff26fb0c95039c30"
integrity sha512-EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ== integrity sha512-EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ==
"@expo/config@6.0.16": "@expo/config-types@^44.0.0":
version "6.0.16" version "44.0.0"
resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.16.tgz#3e603700b8d270d90718f8ca16a82e761a7f71fc" resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-44.0.0.tgz#d3480fe2c99f9e895dae4ebba58b74ed72d03e26"
integrity sha512-4UgBiEtj03zI9X0iUNClnY3Y7uUGSvmMNAfPTSpKOsYsb0S+mSN+B66fuB+H+12SUldqxDH695g5lpeIrkCiJA== integrity sha512-d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==
"@expo/config@6.0.15":
version "6.0.15"
resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.15.tgz#aa610f8b714e0b1103e13c8210059519479d11d6"
integrity sha512-nrG+OUe/2n3ulNSgHRs9V70zXu3lpkuzJ6F0VmCuhjyHqT7UYimkgSCJGqaE3N+AayBTK+YffOT6bTWH17wxjQ==
dependencies: dependencies:
"@babel/code-frame" "~7.10.4" "@babel/code-frame" "~7.10.4"
"@expo/config-plugins" "4.0.16" "@expo/config-plugins" "4.0.16"
@ -1199,14 +1204,14 @@
slugify "^1.3.4" slugify "^1.3.4"
sucrase "^3.20.0" sucrase "^3.20.0"
"@expo/config@6.0.17", "@expo/config@^6.0.6": "@expo/config@6.0.18":
version "6.0.17" version "6.0.18"
resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.17.tgz#721a37f11b67128c0bed3b197e2526daee627307" resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.18.tgz#fb3dd2dcf319a7ced77765c43e6825de4e14dff8"
integrity sha512-Mr6WZzxzeIs9octOTQ/eEZFflic6XycJfJI5q4+tfkLJXk7kVqt5ZaqiFQ1oyNvppV8bemupmwsnje7KoedQtQ== integrity sha512-60z0YICI9eJWlvajl/Wgq8+lKm0jfkZOMdATDQtWz6GvWshUxd+A8EYhtgjJ9eWMGqOYkwrCpRNLHz5TZtCKWA==
dependencies: dependencies:
"@babel/code-frame" "~7.10.4" "@babel/code-frame" "~7.10.4"
"@expo/config-plugins" "4.0.17" "@expo/config-plugins" "4.0.18"
"@expo/config-types" "^43.0.1" "@expo/config-types" "^44.0.0
"@expo/json-file" "8.2.34" "@expo/json-file" "8.2.34"
getenv "^1.0.0" getenv "^1.0.0"
glob "7.1.6" glob "7.1.6"
@ -1478,10 +1483,10 @@
"@nodelib/fs.scandir" "2.1.5" "@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0" fastq "^1.6.0"
"@react-native-async-storage/async-storage@1.15.17": "@react-native-async-storage/async-storage@1.16.1":
version "1.15.17" version "1.16.1"
resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.15.17.tgz#0dae263a52e476ffce871086f1fef5b8e44708eb" resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.16.1.tgz#1dbaa9e0f9736e4ab8fc04c628bbb608fd80b068"
integrity sha512-NQCFs47aFEch9kya/bqwdpvSdZaVRtzU7YB02L8VrmLSLpKgQH/1VwzFUBPcc1/JI1s3GU4yOLVrEbwxq+Fqcw== integrity sha512-aQ7ka+Ii1e/q+7AVFIZPt4kDeSH8b784wMDtz19Kf4A7hf+OgCHBlUQpOXsrv8XxhlBxu0hv4tfrDO15ChnV0Q==
dependencies: dependencies:
merge-options "^3.0.4" merge-options "^3.0.4"
@ -1634,10 +1639,10 @@
sudo-prompt "^9.0.0" sudo-prompt "^9.0.0"
wcwidth "^1.0.1" wcwidth "^1.0.1"
"@react-native-community/netinfo@7.1.9": "@react-native-community/netinfo@8.0.0":
version "7.1.9" version "8.0.0"
resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-7.1.9.tgz#d3042106ce720d5cda332d4afb1292c9b6156bb5" resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-8.0.0.tgz#7be288c8226ce14ba61e10c6dbd63ef4a56b6ee9"
integrity sha512-xxbxFherpOjQeJm3rIx6gmZNEEBqVDIcmBII5QVSN8zf3xAwmaT/RxT74ISYDkeSlZwv4eegpkD4QA1ky52CNg== integrity sha512-8cjkbOWe55vzzc64hfjDv6GWSY8+kfEnxRbwTf9l3hFYDIUMRmMoW+SwxE+QoAfMY32nbEERDy68iev3busRFQ==
"@react-native-community/segmented-control@2.2.2": "@react-native-community/segmented-control@2.2.2":
version "2.2.2" version "2.2.2"
@ -1689,10 +1694,10 @@
resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.1.tgz#aacb08fe0ca4db50f0ed16b72906869ce770edf4" resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.3.1.tgz#aacb08fe0ca4db50f0ed16b72906869ce770edf4"
integrity sha512-jIDRJaG8YPIinl4hZXJu/W3TnhDe8hLYmGSEdL1mxZ1aoNMiApCBYkgTy11oq0EfK/koZd3DPSkJNbzBAQmPJw== integrity sha512-jIDRJaG8YPIinl4hZXJu/W3TnhDe8hLYmGSEdL1mxZ1aoNMiApCBYkgTy11oq0EfK/koZd3DPSkJNbzBAQmPJw==
"@react-navigation/native-stack@6.4.1": "@react-navigation/native-stack@6.5.0":
version "6.4.1" version "6.5.0"
resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.4.1.tgz#089449ed9e1c8194f74373765637948289666d43" resolved "https://registry.yarnpkg.com/@react-navigation/native-stack/-/native-stack-6.5.0.tgz#332ac7c736e2c2a2d961b324085957c3db79e1d2"
integrity sha512-HBx2Ar9gvTvR+8BEgPJKn+NKT6qTfljEkhsRhNPaSBWzMxNBXACP29t9PoaIlOelkV4V9TvTnXe0NCHjDsObwg== integrity sha512-X2sV+AKkqEl7k0ltjN4lMBfx+FsynrnUWkCTGiROyMRo4yWElK1jY3XSTsj5Cpso2/MUHdf9v/AOw0EgU58FsA==
dependencies: dependencies:
"@react-navigation/elements" "^1.3.1" "@react-navigation/elements" "^1.3.1"
warn-once "^0.1.0" warn-once "^0.1.0"
@ -6037,10 +6042,10 @@ react-freeze@^1.0.0:
resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.0.tgz#b21c65fe1783743007c8c9a2952b1c8879a77354" resolved "https://registry.yarnpkg.com/react-freeze/-/react-freeze-1.0.0.tgz#b21c65fe1783743007c8c9a2952b1c8879a77354"
integrity sha512-yQaiOqDmoKqks56LN9MTgY06O0qQHgV4FUrikH357DydArSZHQhl0BJFqGKIZoTqi8JizF9Dxhuk1FIZD6qCaw== integrity sha512-yQaiOqDmoKqks56LN9MTgY06O0qQHgV4FUrikH357DydArSZHQhl0BJFqGKIZoTqi8JizF9Dxhuk1FIZD6qCaw==
react-i18next@11.15.3: react-i18next@11.15.4:
version "11.15.3" version "11.15.4"
resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.15.3.tgz#7608fb3cacc02ac75a62fc2d68b579f140b198dd" resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.15.4.tgz#fe0c792ea93f038548e838cecae3ed4173822937"
integrity sha512-RSUEM4So3Tu2JHV0JsZ5Yje+4nz66YViMfPZoywxOy0xyn3L7tE2CHvJ7Y9LUsrTU7vGmZ5bwb8PpjnkatdIxg== integrity sha512-jKJNAcVcbPGK+yrTcXhLblgPY16n6NbpZZL3Mk8nswj1v3ayIiUBVDU09SgqnT+DluyQBS97hwSvPU5yVFG0yg==
dependencies: dependencies:
"@babel/runtime" "^7.14.5" "@babel/runtime" "^7.14.5"
html-escaper "^2.0.2" html-escaper "^2.0.2"
@ -6127,15 +6132,15 @@ react-native-iphone-x-helper@^1.3.1:
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010" resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.3.1.tgz#20c603e9a0e765fd6f97396638bdeb0e5a60b010"
integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg== integrity sha512-HOf0jzRnq2/aFUcdCJ9w9JGzN3gdEg0zFE4FyYlp4jtidqU03D5X7ZegGKfT1EWteR0gPBGp9ye5T5FvSWi9Yg==
react-native-pager-view@5.4.9: react-native-pager-view@5.4.11:
version "5.4.9" version "5.4.11"
resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-5.4.9.tgz#c0d40847cfeda5a4e729b53271b0ee0fedff3eb5" resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-5.4.11.tgz#677540293c7b4e0e022efb45727ef9b4efa35409"
integrity sha512-D6tzxpwMGdl6CXgtskGWhKRc5cJakCazESRGt7PkqnpyiH3N35ft1KmR82pCSQetAFlytFiToeu3a/dG5CELvA== integrity sha512-4QlBL5W8yVjeYwrw89oCdABI7sDxIGapFQvIbukfB5mAj1Zn1IQPkBqROLblNFtQ8PbAeexXRgDT1ENWygiJ7A==
react-native-reanimated@2.4.0: react-native-reanimated@2.4.1:
version "2.4.0" version "2.4.1"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.4.0.tgz#660860f3c9d36dc09e80e784306591c67060f940" resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-2.4.1.tgz#4e33876fba525ce60ac13ab3c81fc3a9f8b132fe"
integrity sha512-KogpQaRxFu2jgIEWRwoHaTQ2TQbHva49rJFnXtEdMZ5LJefVMFITiEwRuyjlD4ZWpstFiaP0mWkR6uuS2APutA== integrity sha512-kvf7ylGlwa5hxMQ+wpPFjQrI2c6eexf53/xRo+dvXBNefGmSYaYR5sFtD0XMMzIPQlkCB9tJ0Pu9+2WCQUY7Cg==
dependencies: dependencies:
"@babel/plugin-transform-object-assign" "^7.10.4" "@babel/plugin-transform-object-assign" "^7.10.4"
"@types/invariant" "^2.2.35" "@types/invariant" "^2.2.35"
@ -6150,10 +6155,10 @@ react-native-safe-area-context@3.3.2:
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz#9549a2ce580f2374edb05e49d661258d1b8bcaed" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz#9549a2ce580f2374edb05e49d661258d1b8bcaed"
integrity sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q== integrity sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==
react-native-screens@3.10.2: react-native-screens@3.11.1:
version "3.10.2" version "3.11.1"
resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.10.2.tgz#cbf505d61c09e29ad5b335309951a3bd81f0df19" resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-3.11.1.tgz#9bca9968986ca9195cb1e7e6fca37543bde64ecb"
integrity sha512-bMKSpwMeqAoXBqTJiDEG1ogM1cMk66sEmpp/4dGqdX59v+OwMqPeTuBk37qaSuS7gPOFFKsNW2X3ymGvBT4iEw== integrity sha512-ziQqVm97tNtovacyHwNmDwJPb8n9CqwsfttXx2p5Hk7wUWemDcPAX0ZJ/nNnGMSq2p2QPhPjjUpr3qKXuES0sQ==
dependencies: dependencies:
react-freeze "^1.0.0" react-freeze "^1.0.0"
warn-once "^0.1.0" warn-once "^0.1.0"
@ -6221,10 +6226,10 @@ react-native@0.66.4:
whatwg-fetch "^3.0.0" whatwg-fetch "^3.0.0"
ws "^6.1.4" ws "^6.1.4"
react-query@3.34.14: react-query@3.34.15:
version "3.34.14" version "3.34.15"
resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.34.14.tgz#ba944c1c36bbeab3e7037c42e8e862acd73111ff" resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.34.15.tgz#9e143b7d0aa39c515102a35120d5518ad91b10f6"
integrity sha512-KVMnM8omt+81oO9fPZfM65pGhQilpWzGsNwAqeeLMB2sG3xwY3bpIEYbhDf7FFgsqhAQfSzmCL4gRSiJaWIDwA== integrity sha512-dOhGLB5RT3p+wWj0rVdAompSg+R9t6oMRk+JhU8DP0tpJM2UyIv3r4Kk0zUkHSxT+QG34hFdrgdqxVWxgeNq4g==
dependencies: dependencies:
"@babel/runtime" "^7.5.5" "@babel/runtime" "^7.5.5"
broadcast-channel "^3.4.1" broadcast-channel "^3.4.1"