diff --git a/mobile/android/gradle.properties b/mobile/android/gradle.properties index 915f0e66f948..e29a6150df0d 100644 --- a/mobile/android/gradle.properties +++ b/mobile/android/gradle.properties @@ -17,4 +17,5 @@ # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true android.enableJetifier=true -android.useAndroidX=true \ No newline at end of file +android.useAndroidX=true +org.gradle.jvmargs=-Xmx4608m \ No newline at end of file diff --git a/mobile/index.js b/mobile/index.js index 84a7fb9325ff..c40b433bb6df 100644 --- a/mobile/index.js +++ b/mobile/index.js @@ -1,5 +1,8 @@ 'use strict' +// https://github.com/kmagiera/react-native-gesture-handler/issues/320 +import 'react-native-gesture-handler' + import 'core-js/stable' import 'regenerator-runtime/runtime' diff --git a/mobile/ios/OriginMarketplace/Info.plist b/mobile/ios/OriginMarketplace/Info.plist index b3fb2802e04a..d0e8a5124057 100644 --- a/mobile/ios/OriginMarketplace/Info.plist +++ b/mobile/ios/OriginMarketplace/Info.plist @@ -19,7 +19,7 @@ CFBundleSignature ???? CFBundleVersion - 1 + 6 LSApplicationQueriesSchemes fb diff --git a/mobile/ios/Podfile.lock b/mobile/ios/Podfile.lock index d65303cd2a14..11f4363c45f5 100644 --- a/mobile/ios/Podfile.lock +++ b/mobile/ios/Podfile.lock @@ -214,7 +214,9 @@ PODS: - React - react-native-geolocation (1.4.2): - React - - react-native-webview (7.4.3): + - react-native-safe-area-context (0.6.0): + - React + - react-native-webview (7.5.1): - React - React-RCTActionSheet (0.61.4): - React-Core/RCTActionSheetHeaders (= 0.61.4) @@ -251,15 +253,15 @@ PODS: - React-cxxreact (= 0.61.4) - React-jsi (= 0.61.4) - ReactCommon/jscallinvoker (= 0.61.4) - - RNCAsyncStorage (1.6.2): + - RNCAsyncStorage (1.6.3): - React - - RNCPushNotificationIOS (1.0.2): + - RNCPushNotificationIOS (1.0.3): - React - RNGestureHandler (1.5.0): - React - RNLocalize (1.3.1): - React - - RNSentry (1.0.9): + - RNSentry (1.1.0): - React - Sentry (~> 4.4.0) - Sentry (4.4.1): @@ -289,6 +291,7 @@ DEPENDENCIES: - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - react-native-fbsdk (from `../node_modules/react-native-fbsdk`) - "react-native-geolocation (from `../node_modules/@react-native-community/geolocation`)" + - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - react-native-webview (from `../node_modules/react-native-webview`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) @@ -352,6 +355,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-fbsdk" react-native-geolocation: :path: "../node_modules/@react-native-community/geolocation" + react-native-safe-area-context: + :path: "../node_modules/react-native-safe-area-context" react-native-webview: :path: "../node_modules/react-native-webview" React-RCTActionSheet: @@ -411,7 +416,8 @@ SPEC CHECKSUMS: React-jsinspector: d15478d0a8ada19864aa4d1cc1c697b41b3fa92f react-native-fbsdk: b94a83971c496a35803f38b921aec6d637ba07b5 react-native-geolocation: a7b94614afbd5fd8350e0233a2025c8228fc8041 - react-native-webview: 82d6456dfae1b3ef70c3939135536342afc96373 + react-native-safe-area-context: d288138da2c800caa111f9352e9333f186a06ead + react-native-webview: 2aadbfef6b9eaa9e89b306ae3e31e6e870a6306d React-RCTActionSheet: 7369b7c85f99b6299491333affd9f01f5a130c22 React-RCTAnimation: d07be15b2bd1d06d89417eb0343f98ffd2b099a7 React-RCTBlob: 8e0b23d95c9baa98f6b0e127e07666aaafd96c34 @@ -422,11 +428,11 @@ SPEC CHECKSUMS: React-RCTText: 21934e0a51d522abcd0a275407e80af45d6fd9ec React-RCTVibration: 0f76400ee3cec6edb9c125da49fed279340d145a ReactCommon: a6a294e7028ed67b926d29551aa9394fd989c24c - RNCAsyncStorage: 60a80e72d95bf02a01cace55d3697d9724f0d77f - RNCPushNotificationIOS: 0b8d06ff190d84627dd17501bfb96652375970e4 + RNCAsyncStorage: 3c304d1adfaea02ec732ac218801cb13897aa8c0 + RNCPushNotificationIOS: 83ec11fe19d4ea9e32cc339d8e7d2cc3c88f543e RNGestureHandler: a4ddde1ffc6e590c8127b8b7eabfdade45475c74 RNLocalize: 07eb7a91d10021cdf59d80061ebf3adb8a5b5688 - RNSentry: 2803ba8c8129dcf26b79e9b4d8c80168be6e4390 + RNSentry: 932ac1c8b2f581b1c8be5812f88ff556c99e7fb7 Sentry: 5d312a04e369154aeac616214f4dfc3cbcc8b296 TouchID: ba4c656d849cceabc2e4eef722dea5e55959ecf4 Yoga: ba3d99dbee6c15ea6bbe3783d1f0cb1ffb79af0f diff --git a/mobile/package.json b/mobile/package.json index 705be791a279..8023a66626cf 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -3,11 +3,11 @@ "author": "Origin Protocol Inc", "license": "MIT", "repository": "https://github.com/OriginProtocol/origin/mobile", - "version": "0.26.1", + "version": "0.26.6", "scripts": { "android": "react-native run-android --appId com.origincatcher", "clean": "git clean -fdX .", - "postinstall": "npx jetify; cd ios && pod install", + "postinstall": "npx jetify; patch-package; cd ios && pod install", "ios": "react-native run-ios", "lint": "eslint . && npm run prettier:check", "prettier": "prettier --write *.js \"**/*.js\"", @@ -28,14 +28,14 @@ "@babel/core": "^7.7.2", "@babel/plugin-transform-new-target": "^7.4.4", "@babel/register": "^7.7.0", - "@react-native-community/async-storage": "^1.6.2", - "@react-native-community/push-notification-ios": "^1.0.2", - "@sentry/react-native": "^1.0.9", + "@react-native-community/async-storage": "^1.6.3", + "@react-native-community/push-notification-ios": "^1.0.3", + "@sentry/react-native": "^1.1.0", "babel-plugin-fbt": "^0.11.0", "babel-plugin-fbt-runtime": "^0.9.9", "babel-plugin-inline-dotenv": "^1.5.0", "compare-versions": "^3.5.1", - "core-js": "^3.4.0", + "core-js": "^3.4.1", "cross-fetch": "^3.0.4", "eslint": "^6.6.0", "ethers": "^4.0.39", @@ -48,11 +48,13 @@ "json-stable-stringify": "^1.0.1", "lodash.get": "^4.4.2", "metro-react-native-babel-preset": "^0.57.0", + "patch-package": "^6.2.0", + "postinstall-postinstall": "^2.0.0", "prettier": "^1.19.1", - "react": "^16.11.0", + "react": "^16.12.0", "react-devtools-core": "^4.2.0", - "react-dom": "^16.11.0", - "react-hot-loader": "^4.12.16", + "react-dom": "^16.12.0", + "react-hot-loader": "^4.12.18", "react-native": "^0.61.4", "react-native-android-open-settings": "^1.3.0", "react-native-fbsdk": "1.1.1", @@ -61,14 +63,15 @@ "react-native-localize": "^1.3.1", "react-native-push-notification": "^3.1.9", "react-native-restart": "^0.0.13", - "react-native-safe-area-view": "^0.6.0", + "react-native-safe-area-context": "^0.6.0", + "react-native-safe-area-view": "^1.0.0", "react-native-samsung-bks": "^0.1.1", "react-native-touch-id": "^4.4.1", - "react-native-webview": "^7.4.3", + "react-native-webview": "^7.5.1", "react-navigation": "3.11.0", "react-navigation-backhandler": "^1.3.2", "react-redux": "^7.1.3", - "react-test-renderer": "16.11.0", + "react-test-renderer": "16.12.0", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-persist-transform-encrypt": "^2.0.1", diff --git a/mobile/patches/react-native-push-notification+3.1.9.patch b/mobile/patches/react-native-push-notification+3.1.9.patch new file mode 100644 index 000000000000..629fb0059b02 --- /dev/null +++ b/mobile/patches/react-native-push-notification+3.1.9.patch @@ -0,0 +1,11 @@ +diff --git a/node_modules/react-native-push-notification/android/react-native-push-notification.iml b/node_modules/react-native-push-notification/android/react-native-push-notification.iml +index 4c1e6c2..fd068a4 100644 +--- a/node_modules/react-native-push-notification/android/react-native-push-notification.iml ++++ b/node_modules/react-native-push-notification/android/react-native-push-notification.iml +@@ -1,5 +1,5 @@ + +- ++ + + + diff --git a/mobile/src/App.js b/mobile/src/App.js index e3416d6b3148..d29e0f26b981 100644 --- a/mobile/src/App.js +++ b/mobile/src/App.js @@ -1,11 +1,10 @@ 'use strict' import React from 'react' +import { SafeAreaProvider } from 'react-native-safe-area-context' import { YellowBox } from 'react-native' import { Provider as ReduxProvider } from 'react-redux' import { PersistGate } from 'redux-persist/integration/react' -// https://github.com/kmagiera/react-native-gesture-handler/issues/320 -import 'react-native-gesture-handler' import Store, { persistor } from './Store' import AppContainer from './AppContainer' @@ -36,11 +35,13 @@ const App = () => { return ( - { - NavigationService.setTopLevelNavigator(navigatorRef) - }} - /> + + { + NavigationService.setTopLevelNavigator(navigatorRef) + }} + /> + ) diff --git a/mobile/src/PushNotifications.js b/mobile/src/PushNotifications.js index 151069246e80..a6fc5a70a4c0 100644 --- a/mobile/src/PushNotifications.js +++ b/mobile/src/PushNotifications.js @@ -23,8 +23,6 @@ import withConfig from 'hoc/withConfig' import AuthClient from '@origin/auth-client/src/auth-client' -import RNSamsungBKS from 'react-native-samsung-bks' - class PushNotifications extends Component { constructor(props) { super(props) @@ -321,11 +319,7 @@ class PushNotifications extends Component { // No private key (Samsung BKS account), can't proceed if (wallet.activeAccount.hdPath) { - const messageToSign = Buffer.from(payload).toString('base64') - signature = await RNSamsungBKS.signEthPersonalMessage( - wallet.activeAccount.hdPath, - messageToSign - ) + return } else { const { privateKey, mnemonic } = wallet.activeAccount diff --git a/mobile/src/components/disclaimer.js b/mobile/src/components/disclaimer.js index f12cfe9261dc..73a77e351b12 100644 --- a/mobile/src/components/disclaimer.js +++ b/mobile/src/components/disclaimer.js @@ -15,6 +15,7 @@ const styles = StyleSheet.create({ container: { fontSize: 14, paddingVertical: 10, + marginBottom: 10, width: '80%' }, text: { diff --git a/mobile/src/constants.js b/mobile/src/constants.js index e1101f090d06..61c09542569a 100644 --- a/mobile/src/constants.js +++ b/mobile/src/constants.js @@ -1,6 +1,6 @@ 'use strict' -export const VERSION = '0.26.1' +export const VERSION = '0.26.6' class Enum extends Array { constructor(...args) { diff --git a/mobile/src/screens/accountBackup.js b/mobile/src/screens/accountBackup.js index bcf68ff39563..d8ad53a36bc4 100644 --- a/mobile/src/screens/accountBackup.js +++ b/mobile/src/screens/accountBackup.js @@ -1,7 +1,7 @@ 'use strict' import React from 'react' -import { Image, StyleSheet, Text, View } from 'react-native' +import { Image, ScrollView, StyleSheet, Text, View } from 'react-native' import { fbt } from 'fbt-runtime' import SafeAreaView from 'react-native-safe-area-view' @@ -13,42 +13,47 @@ const IMAGES_PATH = '../../assets/images/' const AccountBackupScreen = ({ navigation }) => ( - navigation.goBack(null)} /> - - - - Back Up Your Wallet - - - - Now that your wallet has been created, it's ready to be used with - Origin. - - - - - But what happens if you lose this device? Unless you back up your - wallet, you will lose access to it forever. We don't store your - recovery phrase, so we won't be able to help you access your - account or your funds. - - - - - { - navigation.navigate('RecoveryPhraseExplainer') - }} - /> - + + navigation.goBack(null)} /> + + + + Back Up Your Wallet + + + + Now that your wallet has been created, it's ready to be used + with Origin. + + + + + But what happens if you lose this device? Unless you back up your + wallet, you will lose access to it forever. We don't store your + recovery phrase, so we won't be able to help you access your + account or your funds. + + + + + { + navigation.navigate('RecoveryPhraseExplainer') + }} + /> + + ) diff --git a/mobile/src/screens/changePin.js b/mobile/src/screens/changePin.js index 8a516f6037a2..aa6df869953a 100644 --- a/mobile/src/screens/changePin.js +++ b/mobile/src/screens/changePin.js @@ -1,7 +1,7 @@ 'use strict' import React, { Component } from 'react' -import { KeyboardAvoidingView, Platform, StyleSheet, Text } from 'react-native' +import { KeyboardAvoidingView, StyleSheet, Text } from 'react-native' import { connect } from 'react-redux' import { fbt } from 'fbt-runtime' @@ -71,10 +71,7 @@ class ChangePinScreen extends Component { } return ( - + {titleElement} {this.state.isRetry === true && ( diff --git a/mobile/src/screens/importMnemonic.js b/mobile/src/screens/importMnemonic.js index 9849d0fb419b..58ffb4c8c871 100644 --- a/mobile/src/screens/importMnemonic.js +++ b/mobile/src/screens/importMnemonic.js @@ -92,12 +92,12 @@ class ImportAccountScreen extends Component { this.props.navigation.goBack(null)} /> diff --git a/mobile/src/screens/importPrivateKey.js b/mobile/src/screens/importPrivateKey.js index d9df8e3909f2..5b01bc8f2d8d 100644 --- a/mobile/src/screens/importPrivateKey.js +++ b/mobile/src/screens/importPrivateKey.js @@ -87,12 +87,12 @@ class ImportAccountScreen extends Component { this.props.navigation.goBack(null)} /> @@ -162,7 +162,8 @@ const styles = StyleSheet.create({ marginBottom: 20, paddingHorizontal: 20, textAlign: 'center', - width: 300, + width: '80%', + maxWidth: '80%', height: 100, color: '#000' }, diff --git a/mobile/src/screens/pin.js b/mobile/src/screens/pin.js index 29e448b5f974..cf4d9a65072f 100644 --- a/mobile/src/screens/pin.js +++ b/mobile/src/screens/pin.js @@ -18,6 +18,7 @@ import BackArrow from 'components/back-arrow' import PinInput from 'components/pin-input' import CommonStyles from 'styles/common' import OnboardingStyles from 'styles/onboarding' +import Disclaimer from 'components/disclaimer' class PinScreen extends Component { constructor(props) { @@ -63,19 +64,19 @@ class PinScreen extends Component { render() { const title = this.state.verifyPin - ? fbt('Re-enter Pin Code', 'PinScreen.reenterPinCode') - : fbt('Create a Pin Code', 'PinScreen.createPinCode') + ? fbt('Confirm Pin Code', 'PinScreen.reenterPinCode') + : fbt('Create Pin Code', 'PinScreen.createPinCode') return ( this.props.navigation.goBack(null)} /> @@ -93,11 +94,11 @@ class PinScreen extends Component { pinLength={this.pinLength} onChangeText={this.handleChange} /> - + Your Pin Code will be used to login to the app. - + diff --git a/mobile/src/screens/recoveryPhrase.js b/mobile/src/screens/recoveryPhrase.js index 28340e3f7e89..23ecff6a1935 100644 --- a/mobile/src/screens/recoveryPhrase.js +++ b/mobile/src/screens/recoveryPhrase.js @@ -1,7 +1,7 @@ 'use strict' import React from 'react' -import { StyleSheet, Text, View } from 'react-native' +import { StyleSheet, ScrollView, Text, View } from 'react-native' import { fbt } from 'fbt-runtime' import { connect } from 'react-redux' import SafeAreaView from 'react-native-safe-area-view' @@ -13,49 +13,55 @@ import CommonStyles from 'styles/common' const RecoveryPhraseScreen = ({ navigation, wallet }) => ( - navigation.goBack(null)} /> - - - Recovery Phrase - - - - Write down these 12 words in this order and keep them somewhere safe. - - - - - This is the ONLY way to restore access to your account. - - - - {wallet.activeAccount.mnemonic.split(' ').map((word, i) => { - return ( - - {i + 1} - {word} - - ) - })} + + navigation.goBack(null)} /> + + + Recovery Phrase + + + + Write down these 12 words in this order and keep them somewhere + safe. + + + + + This is the ONLY way to restore access to your account. + + + + {wallet.activeAccount.mnemonic.split(' ').map((word, i) => { + return ( + + {i + 1} + {word} + + ) + })} + + + + Remember: You are solely responsible for your recovery phrase. We + don't store it and there's no other way to recover your + account. + + - - - Remember: You are solely responsible for your recovery phrase. We - don't store it and there's no other way to recover your - account. - - - - - { - navigation.navigate('RecoveryPhraseVerify') - }} - /> - + + { + navigation.navigate('RecoveryPhraseVerify') + }} + /> + + ) @@ -83,15 +89,15 @@ const styles = StyleSheet.create({ flexDirection: 'row' }, recoveryWordNumber: { - fontSize: 16, + fontSize: 14, color: '#6a8296', textAlign: 'right', - width: '15%', - marginRight: '5%' + width: 28, + marginRight: 5 }, recoveryWord: { - fontSize: 16, + fontSize: 14, textAlign: 'left', - width: '75%' + width: '100%' } }) diff --git a/mobile/src/screens/recoveryPhraseExplainer.js b/mobile/src/screens/recoveryPhraseExplainer.js index 72105b1aa5c7..630fcec6880a 100644 --- a/mobile/src/screens/recoveryPhraseExplainer.js +++ b/mobile/src/screens/recoveryPhraseExplainer.js @@ -1,7 +1,7 @@ 'use strict' import React from 'react' -import { Image, StyleSheet, Text, View } from 'react-native' +import { Image, ScrollView, StyleSheet, Text, View } from 'react-native' import { fbt } from 'fbt-runtime' import SafeAreaView from 'react-native-safe-area-view' @@ -13,43 +13,48 @@ const IMAGES_PATH = '../../assets/images/' const RecoveryPhraseExplainerScreen = ({ navigation }) => ( - navigation.goBack(null)} /> - - - - Write It Down - - - - If your device gets lost or stolen, you must use your recovery phrase - to restore access to your wallet. - - - - - Keep your recovery phrase safe! Never share it with anyone and make - sure that it can't be lost or destroyed. - - - - - { - navigation.navigate('RecoveryPhrase') - }} - /> - + + navigation.goBack(null)} /> + + + + Write It Down + + + + If your device gets lost or stolen, you must use your recovery + phrase to restore access to your wallet. + + + + + Keep your recovery phrase safe! Never share it with anyone and make + sure that it can't be lost or destroyed. + + + + + { + navigation.navigate('RecoveryPhrase') + }} + /> + + ) diff --git a/mobile/src/screens/recoveryPhraseVerify.js b/mobile/src/screens/recoveryPhraseVerify.js index e78bdd7d0f92..7e0ed61f7a80 100644 --- a/mobile/src/screens/recoveryPhraseVerify.js +++ b/mobile/src/screens/recoveryPhraseVerify.js @@ -3,6 +3,7 @@ import React, { useState } from 'react' import { Dimensions, + ScrollView, StyleSheet, Text, TouchableOpacity, @@ -96,43 +97,48 @@ const RecoveryPhraseVerifyScreen = ({ navigation, wallet }) => { return ( - navigation.goBack(null)} /> - - - {isRetry ? ( - Oops, Try Again - ) : ( - - Confirm Part of Recovery Phrase - - )} - - {wordsToVerify.map(renderWord)} - - - w === null) === null} - onPress={() => { - // Naive check of array equality but works for all cases here - if ( - JSON.stringify(selectedWords) != JSON.stringify(wordsToVerify) - ) { - // Failure, generate a new set of verification words and set - // retry state - const randomWords = getRandomWords() - setSelectedWords([null, null, null]) - setWordsToVerify(randomWords) - setWordOptions(randomWords.map(getRandomWords)) - setIsRetry(true) - } else { - navigation.navigate('Authentication') - } - }} - /> - + + navigation.goBack(null)} /> + + + {isRetry ? ( + Oops, Try Again + ) : ( + + Confirm Part of Recovery Phrase + + )} + + {wordsToVerify.map(renderWord)} + + + w === null) === null} + onPress={() => { + // Naive check of array equality but works for all cases here + if ( + JSON.stringify(selectedWords) != JSON.stringify(wordsToVerify) + ) { + // Failure, generate a new set of verification words and set + // retry state + const randomWords = getRandomWords() + setSelectedWords([null, null, null]) + setWordsToVerify(randomWords) + setWordOptions(randomWords.map(getRandomWords)) + setIsRetry(true) + } else { + navigation.navigate('Authentication') + } + }} + /> + + ) } diff --git a/mobile/src/screens/welcome.js b/mobile/src/screens/welcome.js index e4d4d4b0aa76..e2323cc9f434 100644 --- a/mobile/src/screens/welcome.js +++ b/mobile/src/screens/welcome.js @@ -201,6 +201,7 @@ const styles = StyleSheet.create({ textAlign: 'center', color: 'white', fontFamily: 'Lato', - marginBottom: 20 + marginBottom: 20, + paddingHorizontal: 20 } }) diff --git a/mobile/yarn.lock b/mobile/yarn.lock index 5e4782f8a85b..d1d139abeaaf 100644 --- a/mobile/yarn.lock +++ b/mobile/yarn.lock @@ -856,10 +856,10 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@react-native-community/async-storage@^1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@react-native-community/async-storage/-/async-storage-1.6.2.tgz#a19ca7149c4dfe8216f2330e6b1ebfe2d075ef92" - integrity sha512-EJGsbrHubK1mGxPjWB74AaHAd5m9I+Gg2RRPZzMK6org7QOU9WOBnIMFqoeVto3hKOaEPlk8NV74H6G34/2pZQ== +"@react-native-community/async-storage@^1.6.3": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@react-native-community/async-storage/-/async-storage-1.6.3.tgz#1a713e8c5cacd543ab8539080a5ce57ad917da88" + integrity sha512-67K2akX90uc252zKMYJt1wISvaEH6ARtdTI9bUkwmOFXVPyVk1DfPnaRmyUzcVdeCBOO1n0xv9YO2GSppIormQ== "@react-native-community/cli-platform-android@^3.0.0-alpha.1", "@react-native-community/cli-platform-android@^3.0.0-alpha.7": version "3.0.0-alpha.7" @@ -953,13 +953,20 @@ resolved "https://registry.yarnpkg.com/@react-native-community/geolocation/-/geolocation-1.4.2.tgz#7228c6d37c2f55017af9c49c2b9ad586d9bcb9f8" integrity sha512-9x9dHDeUXnh2larA4zTT3y/tXPmRnysh5o9fsNbGcnUKPj1BUCIHnGGPxEIDnwP1DNIMP2DN9DmuMHImtTbX6A== -"@react-native-community/push-notification-ios@^1.0.1", "@react-native-community/push-notification-ios@^1.0.2": +"@react-native-community/push-notification-ios@^1.0.1": version "1.0.2" resolved "https://registry.yarnpkg.com/@react-native-community/push-notification-ios/-/push-notification-ios-1.0.2.tgz#541bc8ce088d726c4a98fff0e261b4d0f555cacf" integrity sha512-9lWaw+zBGvT8Yw9HZmiLkYbnmF5AzrWexYh2qmRt/shpfZawCTPmPBrq09N7JhiPV4g/gEbeLXlndxl1JQeB0g== dependencies: invariant "^2.2.4" +"@react-native-community/push-notification-ios@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/push-notification-ios/-/push-notification-ios-1.0.3.tgz#cd2c7f29aeeb431942eda0bd729738fd2b444ae9" + integrity sha512-f+Y3lFLt5OBWHDtGHE+PiZH4aLeS8w2D47c0G/S5XpzeGoEeggOiALtou/r6raiVLP+D5CrLkIBMs2U2+LGJhw== + dependencies: + invariant "^2.2.4" + "@react-navigation/core@~3.4.1": version "3.4.2" resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.4.2.tgz#bec563e94fde40fbab3730cdc97f22afbb2a1498" @@ -979,10 +986,10 @@ react-native-safe-area-view "^0.14.1" react-native-screens "^1.0.0 || ^1.0.0-alpha" -"@sentry/browser@^5.6.3": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.8.0.tgz#cd8adb96154ed1777fb14278d802bf90df06d15f" - integrity sha512-o8OWLZ2+IT8FbSa4MWBtXbENG5hmDR511VFE5l/q/BjE6W/mWyiA+9UxFkxNvRFvhT/r436mXzNcmmRli/AQ2A== +"@sentry/browser@^5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.9.0.tgz#09f6f544fce51d52f2e086ef776509b15ef04761" + integrity sha512-KTpmAau98QyJZtoV7LVYEFd1cdKQGk5yHlRyP3pCkhDcRbgicBNR3umdRDpsI5Ozgix3zNlyQprz0iQPmrPNRQ== dependencies: "@sentry/core" "5.8.0" "@sentry/types" "5.7.1" @@ -1001,7 +1008,7 @@ progress "2.0.0" proxy-from-env "^1.0.0" -"@sentry/core@5.8.0", "@sentry/core@^5.6.2": +"@sentry/core@5.8.0", "@sentry/core@^5.8.0": version "5.8.0" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.8.0.tgz#bbfd2f4711491951a8e3a0e8fa8b172fdf7bff6f" integrity sha512-aAh2KLidIXJVGrxmHSVq2eVKbu7tZiYn5ylW6yzJXFetS5z4MA+JYaSBaG2inVYDEEqqMIkb17TyWxxziUDieg== @@ -1021,7 +1028,7 @@ "@sentry/utils" "5.8.0" tslib "^1.9.3" -"@sentry/integrations@^5.6.1": +"@sentry/integrations@^5.8.0": version "5.8.0" resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-5.8.0.tgz#ea0ac89a701ebfb809ee992e758ad49d66083b5e" integrity sha512-Obe3GqTtq63PAJ4opYEbeZ6Bm8uw+CND+7MywJLDguqnvIVRvxpcJIZ6wxcE/VjbU3OMkNmTMnM+ra8RB7Wj6w== @@ -1039,24 +1046,24 @@ "@sentry/types" "5.7.1" tslib "^1.9.3" -"@sentry/react-native@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-1.0.9.tgz#672ca2499bc18d2278d5947c6b274fc6360b3a60" - integrity sha512-fe1KEUJc+N4vq/k0ykqQ3el/CXxwTN7E8kBTYBCvxt9U449FdRodyFduiwz1UrkYhBsaQDC+5vQSZBZyT8EuOA== - dependencies: - "@sentry/browser" "^5.6.3" - "@sentry/core" "^5.6.2" - "@sentry/integrations" "^5.6.1" - "@sentry/types" "^5.6.1" - "@sentry/utils" "^5.6.1" +"@sentry/react-native@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@sentry/react-native/-/react-native-1.1.0.tgz#94c5558216759cc43a504e11f905cb4fbd990d48" + integrity sha512-zXdyl970PTo153Gzwoh/JUxniSTewT21t/5D+ILOdIVek/jPz8qCOp/dj5YS/iuMu8mnKRsVH4AH9O5H/4VhMA== + dependencies: + "@sentry/browser" "^5.9.0" + "@sentry/core" "^5.8.0" + "@sentry/integrations" "^5.8.0" + "@sentry/types" "^5.7.1" + "@sentry/utils" "^5.8.0" "@sentry/wizard" "^1.0.0" -"@sentry/types@5.7.1", "@sentry/types@^5.6.1": +"@sentry/types@5.7.1", "@sentry/types@^5.7.1": version "5.7.1" resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.7.1.tgz#4c4c1d4d891b6b8c2c3c7b367d306a8b1350f090" integrity sha512-tbUnTYlSliXvnou5D4C8Zr+7/wJrHLbpYX1YkLXuIJRU0NSi81bHMroAuHWILcQKWhVjaV/HZzr7Y/hhWtbXVQ== -"@sentry/utils@5.8.0", "@sentry/utils@^5.6.1": +"@sentry/utils@5.8.0", "@sentry/utils@^5.8.0": version "5.8.0" resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.8.0.tgz#34683088159b9935f973b6e6cad1a1cc26bbddac" integrity sha512-KDxUvBSYi0/dHMdunbxAxD3389pcQioLtcO6CI6zt/nJXeVFolix66cRraeQvqupdLhvOk/el649W4fCPayTHw== @@ -1262,19 +1269,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-6.14.9.tgz#733583e21ef0eab85a9737dfafbaa66345a92ef0" integrity sha512-leP/gxHunuazPdZaCvsCefPQxinqUDsCxCR5xaDUrY2MkYxQRFZZwU5e7GojyYsGB7QVtCi7iVEl/hoFXQYc+w== -"@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== - -"@types/react@^15.0.0 || ^16.0.0": - version "16.9.11" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120" - integrity sha512-UBT4GZ3PokTXSWmdgC/GeCGEJXE5ofWyibCcecRLUVN2ZBpXQGVgQGtG2foS7CrTKFKlQVVswLvf7Js6XA/CVQ== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - "@types/restify@^4.3.6": version "4.3.6" resolved "https://registry.yarnpkg.com/@types/restify/-/restify-4.3.6.tgz#5da5889b65c34c33937a67686bab591325dde806" @@ -1325,7 +1319,7 @@ dependencies: "@types/yargs-parser" "*" -"@yarnpkg/lockfile@^1.0.2": +"@yarnpkg/lockfile@^1.0.2", "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== @@ -2304,11 +2298,16 @@ core-js@^2.2.2, core-js@^2.4.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== -core-js@^3.2.0, core-js@^3.4.0: +core-js@^3.2.0: version "3.4.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.4.0.tgz#29ea478601789c72f2978e9bb98f43546f89d3aa" integrity sha512-lQxb4HScV71YugF/X28LtePZj9AB7WqOpcB+YztYxusvhrgZiQXPmCYfPC5LHsw/+ScEtDbXU3xbqH3CjBRmYA== +core-js@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.4.1.tgz#76dd6828412900ab27c8ce0b22e6114d7ce21b18" + integrity sha512-KX/dnuY/J8FtEwbnrzmAjUYgLqtk+cxM86hfG60LGiW3MmltIc2yAmDgBgEkfm0blZhUrdr1Zd84J2Y14mLxzg== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2390,11 +2389,6 @@ cssstyle@^1.0.0: dependencies: cssom "0.3.x" -csstype@^2.2.0: - version "2.6.7" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" - integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== - d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -3259,6 +3253,14 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-yarn-workspace-root@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" + integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== + dependencies: + fs-extra "^4.0.3" + micromatch "^3.1.4" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -3335,6 +3337,15 @@ fs-extra@^1.0.0: jsonfile "^2.1.0" klaw "^1.0.0" +fs-extra@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -4742,6 +4753,13 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -6033,6 +6051,25 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +patch-package@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.0.tgz#677de858e352b6ca4e6cb48a6efde2cec9fde566" + integrity sha512-HWlQflaBBMjLBfOWomfolF8aqsFDeNbSNro1JDUgYqnVvPM5OILJ9DQdwIRiKmGaOsmHvhkl1FYkvv1I9r2ZJw== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^1.2.1" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + update-notifier "^2.5.0" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -6148,6 +6185,11 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +postinstall-postinstall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.0.0.tgz#7ba6711b4420575c4f561638836a81faad47f43f" + integrity sha512-3f6qWexsHiT4WKtZc5DRb0FPLilHtARi5KpY4fqban/DJNn8/YhZH8U7dVKVz51WbOxEnR31gV+qYQhvEdHtdQ== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -6339,22 +6381,21 @@ react-devtools-core@^4.2.0: shell-quote "^1.6.1" ws "^7" -react-dom@^16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.11.0.tgz#7e7c4a5a85a569d565c2462f5d345da2dd849af5" - integrity sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA== +react-dom@^16.12.0: + version "16.12.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" + integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.17.0" + scheduler "^0.18.0" -react-hot-loader@^4.12.16: - version "4.12.16" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.12.16.tgz#353bd07fbb08f791b5720535f86b0a8f9b651317" - integrity sha512-KC33uTBacgdunMtfpZFP2pgPpyvKIcCwuh0XmWESbeFrkWLqUtCFN91zyaTdU5OiAM982+E8xh1gjE5EINumaw== +react-hot-loader@^4.12.18: + version "4.12.18" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.12.18.tgz#a9029e34af2690d76208f9a35189d73c2dfea6a7" + integrity sha512-qYD0Qi9lIbg9jLyfmodfqvAQqCBsoPKxAhca8Nxvy2/2pO5Q9r2kM28jN0bbbSnhwK8dJ7FjsfVtXKOxMW+bqw== dependencies: - "@types/react" "^15.0.0 || ^16.0.0" fast-levenshtein "^2.0.6" global "^4.3.0" hoist-non-react-statics "^3.3.0" @@ -6418,6 +6459,11 @@ react-native-restart@^0.0.13: resolved "https://registry.yarnpkg.com/react-native-restart/-/react-native-restart-0.0.13.tgz#88003fd6b1cce9de5bafa2570ba4ef8ff1ea2937" integrity sha512-p4rBiTliPiJEejA0IhExHuM7Ge6TuLpUAm98TbtkmiISWDRK2a/DeZ4Wno7bawcMr1Yb6O5eeTHPO0rUltRD/A== +react-native-safe-area-context@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-0.6.0.tgz#f53f5a5bcafb462a8798a26b145e68946389ad60" + integrity sha512-blY0akr3ZLTuZFdUotmjV+7LVXpBnd5CGFlNhTiarNNGJoHu79K42IJpUpmtg75iC9aWbSW7QHstlP0xz11V0A== + react-native-safe-area-view@^0.14.1: version "0.14.8" resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz#ef33c46ff8164ae77acad48c3039ec9c34873e5b" @@ -6425,10 +6471,10 @@ react-native-safe-area-view@^0.14.1: dependencies: hoist-non-react-statics "^2.3.1" -react-native-safe-area-view@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.6.0.tgz#ce01eb27905a77780219537e0f53fe9c783a8b3d" - integrity sha512-aMloMb1Ds+HA/e4IxWUWwtQ41NV3sbpR/54zFhdIVTnzZq/ziX7ea9hddxMMx0RjvhJ7C0BznryWdVjUa/rvDg== +react-native-safe-area-view@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-1.0.0.tgz#17be33aeb30702e07bb846378f4c9561e2dd6684" + integrity sha512-cJOBfM6t7HL3NQf3QTVKO6BU7esCCMbKJjpNy9L2nT724UzZ2y6E3ol/3QWsw7ySegWlF857+RIkRLsnpltFVg== dependencies: hoist-non-react-statics "^2.3.1" @@ -6456,10 +6502,10 @@ react-native-touch-id@^4.4.1: resolved "https://registry.yarnpkg.com/react-native-touch-id/-/react-native-touch-id-4.4.1.tgz#8b1bb2d04c30bac36bb9696d2d723e719c4a8b08" integrity sha512-1jTl8fC+0fxvqegy/XXTyo6vMvPhjzkoDdaqoYZx0OH8AT250NuXnNPyKktvigIcys3+2acciqOeaCall7lrvg== -react-native-webview@^7.4.3: - version "7.4.3" - resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-7.4.3.tgz#e00e92e17f7389d84d09f5900652501ff2665915" - integrity sha512-4n72B2D7n1xOQSoCSD1qk9D7JksyT4d6nk8QG9guZKZn3KXQL5EejwE2yhh1TxZRQpr+OD3a96rb+rA/UEnvrQ== +react-native-webview@^7.5.1: + version "7.5.1" + resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-7.5.1.tgz#01b026c1110d7548123460cc640fb1d4227a0f54" + integrity sha512-lFpa4m8CMapk6vbZf2GiQDGxsQSRrKoVElTFCkDI5BEl5/a14ClASnJdIyr6U6uYj7ZjcAYsaqNtz86BJqyRVQ== dependencies: escape-string-regexp "2.0.0" invariant "2.2.4" @@ -6554,20 +6600,20 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" integrity sha512-kv5QlFFSZWo7OlJFNYbxRtY66JImuP2LcrFgyJfQaf85gSP+byzG21UbDQEYjU7f//ny8rwiEkO6py2Y+fEgAQ== -react-test-renderer@16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.11.0.tgz#72574566496462c808ac449b0287a4c0a1a7d8f8" - integrity sha512-nh9gDl8R4ut+ZNNb2EeKO5VMvTKxwzurbSMuGBoKtjpjbg8JK/u3eVPVNi1h1Ue+eYK9oSzJjb+K3lzLxyA4ag== +react-test-renderer@16.12.0: + version "16.12.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.12.0.tgz#11417ffda579306d4e841a794d32140f3da1b43f" + integrity sha512-Vj/teSqt2oayaWxkbhQ6gKis+t5JrknXfPVo+aIJ8QwYAqMPH77uptOdrlphyxl8eQI/rtkOYg86i/UWkpFu0w== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" react-is "^16.8.6" - scheduler "^0.17.0" + scheduler "^0.18.0" -react@^16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" - integrity sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g== +react@^16.12.0: + version "16.12.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" + integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -6997,10 +7043,10 @@ scheduler@0.15.0: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" - integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== +scheduler@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" + integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1"