diff --git a/README.md b/README.md index 3c86c4cd9..5d54b5819 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,9 @@ We're using Nativewind, a styling system for React Native based on Tailwind CSS. We have a custom set of icons stored as SVG files and compiled into a font. New icons should be included with issues in a ready-to-use form, but some editing may be required. -1. Add / edit SVGs to / in `src/images/icons/` (`git add` any new icons) +1. Add / edit SVGs to / in `src/images/icons/` (`git add` any new icons). Icon SVGs must meet the following requirements + * `` element must have `width="24"` and `height="24"` attributes + * No paths with `fill-rule="evenodd"` attribute or `fill-rule: evenodd styles` 1. `npm run icons` 1. Rebuild the app (you'll have newly-linked assets that won't hot reload) diff --git a/android/app/build.gradle b/android/app/build.gradle index aabe8bf4b..daff98b53 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -123,8 +123,8 @@ android { applicationId "com.inaturalistreactnative" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 49 - versionName "0.7.0" + versionCode 50 + versionName "0.8.1" setProperty("archivesBaseName", applicationId + "-v" + versionName + "+" + versionCode) // Detox Android setup testBuildType System.getProperty('testBuildType', 'debug') diff --git a/android/app/src/main/assets/fonts/INatIcon.ttf b/android/app/src/main/assets/fonts/INatIcon.ttf index b9ea17789..9de5bf5ac 100644 Binary files a/android/app/src/main/assets/fonts/INatIcon.ttf and b/android/app/src/main/assets/fonts/INatIcon.ttf differ diff --git a/android/link-assets-manifest.json b/android/link-assets-manifest.json index 737c3193a..8e9dbe766 100644 --- a/android/link-assets-manifest.json +++ b/android/link-assets-manifest.json @@ -3,7 +3,7 @@ "data": [ { "path": "assets/fonts/INatIcon.ttf", - "sha1": "5ee81524df59ba0d7ef0efafdf940f528a8ee5af" + "sha1": "94ddb30161ddbd61eda2524a57b2c5eec804401e" }, { "path": "assets/fonts/Whitney-BookItalic-Pro.otf", diff --git a/assets/fonts/INatIcon.ttf b/assets/fonts/INatIcon.ttf index b9ea17789..9de5bf5ac 100644 Binary files a/assets/fonts/INatIcon.ttf and b/assets/fonts/INatIcon.ttf differ diff --git a/fastlane/metadata/android/en-US/changelogs/50.txt b/fastlane/metadata/android/en-US/changelogs/50.txt new file mode 100644 index 000000000..a971d04c7 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/50.txt @@ -0,0 +1,10 @@ +NEW +* Basic AR camera (just names, using Seek model) +* Withdrawing IDs on ObsDetail +* StandardCamera zoom button + +FIXED +* Bottom sheet appearing over camera from ObsEdit +* Importing photo shows evidence as complete +* MyObs header jitter on scroll in Android +* Several LocationPicker problems diff --git a/ios/Podfile.lock b/ios/Podfile.lock index aaa281dde..1d71a7216 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,19 +4,19 @@ PODS: - BVLinearGradient (2.6.2): - React-Core - DoubleConversion (1.1.6) - - FBLazyVector (0.71.8) - - FBReactNativeSpec (0.71.8): + - FBLazyVector (0.71.12) + - FBReactNativeSpec (0.71.12): - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.71.8) - - RCTTypeSafety (= 0.71.8) - - React-Core (= 0.71.8) - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) + - RCTRequired (= 0.71.12) + - RCTTypeSafety (= 0.71.12) + - React-Core (= 0.71.12) + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) - fmt (6.2.1) - glog (0.3.5) - - hermes-engine (0.71.8): - - hermes-engine/Pre-built (= 0.71.8) - - hermes-engine/Pre-built (0.71.8) + - hermes-engine (0.71.12): + - hermes-engine/Pre-built (= 0.71.12) + - hermes-engine/Pre-built (0.71.12) - libevent (2.1.12) - Permission-LocationWhenInUse (3.8.0): - RNPermissions @@ -39,26 +39,26 @@ PODS: - fmt (~> 6.2.1) - glog - libevent - - RCTRequired (0.71.8) - - RCTTypeSafety (0.71.8): - - FBLazyVector (= 0.71.8) - - RCTRequired (= 0.71.8) - - React-Core (= 0.71.8) - - React (0.71.8): - - React-Core (= 0.71.8) - - React-Core/DevSupport (= 0.71.8) - - React-Core/RCTWebSocket (= 0.71.8) - - React-RCTActionSheet (= 0.71.8) - - React-RCTAnimation (= 0.71.8) - - React-RCTBlob (= 0.71.8) - - React-RCTImage (= 0.71.8) - - React-RCTLinking (= 0.71.8) - - React-RCTNetwork (= 0.71.8) - - React-RCTSettings (= 0.71.8) - - React-RCTText (= 0.71.8) - - React-RCTVibration (= 0.71.8) - - React-callinvoker (0.71.8) - - React-Codegen (0.71.8): + - RCTRequired (0.71.12) + - RCTTypeSafety (0.71.12): + - FBLazyVector (= 0.71.12) + - RCTRequired (= 0.71.12) + - React-Core (= 0.71.12) + - React (0.71.12): + - React-Core (= 0.71.12) + - React-Core/DevSupport (= 0.71.12) + - React-Core/RCTWebSocket (= 0.71.12) + - React-RCTActionSheet (= 0.71.12) + - React-RCTAnimation (= 0.71.12) + - React-RCTBlob (= 0.71.12) + - React-RCTImage (= 0.71.12) + - React-RCTLinking (= 0.71.12) + - React-RCTNetwork (= 0.71.12) + - React-RCTSettings (= 0.71.12) + - React-RCTText (= 0.71.12) + - React-RCTVibration (= 0.71.12) + - React-callinvoker (0.71.12) + - React-Codegen (0.71.12): - FBReactNativeSpec - hermes-engine - RCT-Folly @@ -69,209 +69,209 @@ PODS: - React-jsiexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-Core (0.71.8): + - React-Core (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.71.8) - - React-cxxreact (= 0.71.8) + - React-Core/Default (= 0.71.12) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/CoreModulesHeaders (0.71.8): + - React-Core/CoreModulesHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/Default (0.71.8): + - React-Core/Default (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/DevSupport (0.71.8): + - React-Core/DevSupport (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.71.8) - - React-Core/RCTWebSocket (= 0.71.8) - - React-cxxreact (= 0.71.8) + - React-Core/Default (= 0.71.12) + - React-Core/RCTWebSocket (= 0.71.12) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-jsinspector (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-jsinspector (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTActionSheetHeaders (0.71.8): + - React-Core/RCTActionSheetHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTAnimationHeaders (0.71.8): + - React-Core/RCTAnimationHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTBlobHeaders (0.71.8): + - React-Core/RCTBlobHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTImageHeaders (0.71.8): + - React-Core/RCTImageHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTLinkingHeaders (0.71.8): + - React-Core/RCTLinkingHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTNetworkHeaders (0.71.8): + - React-Core/RCTNetworkHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTSettingsHeaders (0.71.8): + - React-Core/RCTSettingsHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTTextHeaders (0.71.8): + - React-Core/RCTTextHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTVibrationHeaders (0.71.8): + - React-Core/RCTVibrationHeaders (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - React-Core/Default - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-Core/RCTWebSocket (0.71.8): + - React-Core/RCTWebSocket (0.71.12): - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.71.8) - - React-cxxreact (= 0.71.8) + - React-Core/Default (= 0.71.12) + - React-cxxreact (= 0.71.12) - React-hermes - - React-jsi (= 0.71.8) - - React-jsiexecutor (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-jsi (= 0.71.12) + - React-jsiexecutor (= 0.71.12) + - React-perflogger (= 0.71.12) - Yoga - - React-CoreModules (0.71.8): + - React-CoreModules (0.71.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.71.8) - - React-Codegen (= 0.71.8) - - React-Core/CoreModulesHeaders (= 0.71.8) - - React-jsi (= 0.71.8) + - RCTTypeSafety (= 0.71.12) + - React-Codegen (= 0.71.12) + - React-Core/CoreModulesHeaders (= 0.71.12) + - React-jsi (= 0.71.12) - React-RCTBlob - - React-RCTImage (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-cxxreact (0.71.8): + - React-RCTImage (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-cxxreact (0.71.12): - boost (= 1.76.0) - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.71.8) - - React-jsi (= 0.71.8) - - React-jsinspector (= 0.71.8) - - React-logger (= 0.71.8) - - React-perflogger (= 0.71.8) - - React-runtimeexecutor (= 0.71.8) - - React-hermes (0.71.8): + - React-callinvoker (= 0.71.12) + - React-jsi (= 0.71.12) + - React-jsinspector (= 0.71.12) + - React-logger (= 0.71.12) + - React-perflogger (= 0.71.12) + - React-runtimeexecutor (= 0.71.12) + - React-hermes (0.71.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.71.8) + - React-cxxreact (= 0.71.12) - React-jsi - - React-jsiexecutor (= 0.71.8) - - React-jsinspector (= 0.71.8) - - React-perflogger (= 0.71.8) - - React-jsi (0.71.8): + - React-jsiexecutor (= 0.71.12) + - React-jsinspector (= 0.71.12) + - React-perflogger (= 0.71.12) + - React-jsi (0.71.12): - boost (= 1.76.0) - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.71.8): + - React-jsiexecutor (0.71.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.71.8) - - React-jsi (= 0.71.8) - - React-perflogger (= 0.71.8) - - React-jsinspector (0.71.8) - - React-logger (0.71.8): + - React-cxxreact (= 0.71.12) + - React-jsi (= 0.71.12) + - React-perflogger (= 0.71.12) + - React-jsinspector (0.71.12) + - React-logger (0.71.12): - glog - react-native-cameraroll (5.7.2): - React-Core @@ -311,90 +311,90 @@ PODS: - React-Core - react-native-webview (11.26.1): - React-Core - - React-perflogger (0.71.8) - - React-RCTActionSheet (0.71.8): - - React-Core/RCTActionSheetHeaders (= 0.71.8) - - React-RCTAnimation (0.71.8): + - React-perflogger (0.71.12) + - React-RCTActionSheet (0.71.12): + - React-Core/RCTActionSheetHeaders (= 0.71.12) + - React-RCTAnimation (0.71.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.71.8) - - React-Codegen (= 0.71.8) - - React-Core/RCTAnimationHeaders (= 0.71.8) - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-RCTAppDelegate (0.71.8): + - RCTTypeSafety (= 0.71.12) + - React-Codegen (= 0.71.12) + - React-Core/RCTAnimationHeaders (= 0.71.12) + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-RCTAppDelegate (0.71.12): - RCT-Folly - RCTRequired - RCTTypeSafety - React-Core - ReactCommon/turbomodule/core - - React-RCTBlob (0.71.8): + - React-RCTBlob (0.71.12): - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.71.8) - - React-Core/RCTBlobHeaders (= 0.71.8) - - React-Core/RCTWebSocket (= 0.71.8) - - React-jsi (= 0.71.8) - - React-RCTNetwork (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-RCTImage (0.71.8): + - React-Codegen (= 0.71.12) + - React-Core/RCTBlobHeaders (= 0.71.12) + - React-Core/RCTWebSocket (= 0.71.12) + - React-jsi (= 0.71.12) + - React-RCTNetwork (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-RCTImage (0.71.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.71.8) - - React-Codegen (= 0.71.8) - - React-Core/RCTImageHeaders (= 0.71.8) - - React-jsi (= 0.71.8) - - React-RCTNetwork (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-RCTLinking (0.71.8): - - React-Codegen (= 0.71.8) - - React-Core/RCTLinkingHeaders (= 0.71.8) - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-RCTNetwork (0.71.8): + - RCTTypeSafety (= 0.71.12) + - React-Codegen (= 0.71.12) + - React-Core/RCTImageHeaders (= 0.71.12) + - React-jsi (= 0.71.12) + - React-RCTNetwork (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-RCTLinking (0.71.12): + - React-Codegen (= 0.71.12) + - React-Core/RCTLinkingHeaders (= 0.71.12) + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-RCTNetwork (0.71.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.71.8) - - React-Codegen (= 0.71.8) - - React-Core/RCTNetworkHeaders (= 0.71.8) - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-RCTSettings (0.71.8): + - RCTTypeSafety (= 0.71.12) + - React-Codegen (= 0.71.12) + - React-Core/RCTNetworkHeaders (= 0.71.12) + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-RCTSettings (0.71.12): - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.71.8) - - React-Codegen (= 0.71.8) - - React-Core/RCTSettingsHeaders (= 0.71.8) - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-RCTText (0.71.8): - - React-Core/RCTTextHeaders (= 0.71.8) - - React-RCTVibration (0.71.8): + - RCTTypeSafety (= 0.71.12) + - React-Codegen (= 0.71.12) + - React-Core/RCTSettingsHeaders (= 0.71.12) + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-RCTText (0.71.12): + - React-Core/RCTTextHeaders (= 0.71.12) + - React-RCTVibration (0.71.12): - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.71.8) - - React-Core/RCTVibrationHeaders (= 0.71.8) - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/core (= 0.71.8) - - React-runtimeexecutor (0.71.8): - - React-jsi (= 0.71.8) - - ReactCommon/turbomodule/bridging (0.71.8): + - React-Codegen (= 0.71.12) + - React-Core/RCTVibrationHeaders (= 0.71.12) + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/core (= 0.71.12) + - React-runtimeexecutor (0.71.12): + - React-jsi (= 0.71.12) + - ReactCommon/turbomodule/bridging (0.71.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.71.8) - - React-Core (= 0.71.8) - - React-cxxreact (= 0.71.8) - - React-jsi (= 0.71.8) - - React-logger (= 0.71.8) - - React-perflogger (= 0.71.8) - - ReactCommon/turbomodule/core (0.71.8): + - React-callinvoker (= 0.71.12) + - React-Core (= 0.71.12) + - React-cxxreact (= 0.71.12) + - React-jsi (= 0.71.12) + - React-logger (= 0.71.12) + - React-perflogger (= 0.71.12) + - ReactCommon/turbomodule/core (0.71.12): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.71.8) - - React-Core (= 0.71.8) - - React-cxxreact (= 0.71.8) - - React-jsi (= 0.71.8) - - React-logger (= 0.71.8) - - React-perflogger (= 0.71.8) + - React-callinvoker (= 0.71.12) + - React-Core (= 0.71.12) + - React-cxxreact (= 0.71.12) + - React-jsi (= 0.71.12) + - React-logger (= 0.71.12) + - React-perflogger (= 0.71.12) - ReactNativeExceptionHandler (2.10.10): - React-Core - RealmJS (11.8.0): @@ -702,28 +702,28 @@ SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 BVLinearGradient: 34a999fda29036898a09c6a6b728b0b4189e1a44 DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - FBLazyVector: f637f31eacba90d4fdeff3fa41608b8f361c173b - FBReactNativeSpec: 0d9a4f4de7ab614c49e98c00aedfd3bfbda33d59 + FBLazyVector: 4eb7ee83e8d0ad7e20a829485295ff48823c4e4c + FBReactNativeSpec: b24809f97ae83c786928d56b732957195b4fa390 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - hermes-engine: 47986d26692ae75ee7a17ab049caee8864f855de + hermes-engine: b60ebc812e0179a612d8146ac54730d533c804a2 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 Permission-LocationWhenInUse: 1c80e4797ae587642a83125e80b86686cefeba53 Permission-PhotoLibrary: 31787bbe77d0d3ae6a5267b8435e4a2e9ef78f1d RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 - RCTRequired: 8af6a32dfc2b65ec82193c2dee6e1011ff22ac2a - RCTTypeSafety: bee9dd161c175896c680d47ef1d9eaacf2b587f4 - React: d850475db9ba8006a8b875d79e1e0d6ac8a0f8b6 - React-callinvoker: 6a0c75475ddc17c9ed54e4ff0478074a18fd7ab5 - React-Codegen: 786571642e87add634e7f4d299c85314ec6cc158 - React-Core: 1adfab153f59e4f56e09b97a153089f466d7b8aa - React-CoreModules: 958d236715415d4ccdd5fa35c516cf0356637393 - React-cxxreact: 2e7a6283807ce8755c3d501735acd400bec3b5cd - React-hermes: 8102c3112ba32207c3052619be8cfae14bf99d84 - React-jsi: dd29264f041a587e91f994e4be97e86c127742b2 - React-jsiexecutor: 747911ab5921641b4ed7e4900065896597142125 - React-jsinspector: c712f9e3bb9ba4122d6b82b4f906448b8a281580 - React-logger: 342f358b8decfbf8f272367f4eacf4b6154061be + RCTRequired: 4db5e3e18b906377a502da5b358ff159ba4783ed + RCTTypeSafety: 6c1a8aed043050de0d537336c95cd1be7b66c272 + React: 214e77358d860a3ed707fede9088e7c00663a087 + React-callinvoker: 8fc1c79c26fbcadce2a5d4a3cb4b2ced2dec3436 + React-Codegen: 1517e1a59c594e6b5661d3d054209e838baa4fa7 + React-Core: ea541085ca5be10b2be289c7d82eba368b5c4900 + React-CoreModules: d9680e1d551eef1dd764df736a473cf25f701070 + React-cxxreact: 0792e80e291d086b2cf588410f6bc6e752bc1d83 + React-hermes: 0b1bba58112cb7421f1166d527a1a05489f48dbc + React-jsi: 1e41088515c4273ef5b118575337df4671851430 + React-jsiexecutor: 509cd947c28834614808ce056ee8eb700a0662aa + React-jsinspector: ec4dcbfb1f4e72f04f826a0301eceee5fa7ca540 + React-logger: 35538accacf2583693fbc3ee8b53e69a1776fcee react-native-cameraroll: 134805127580aed23403b8c2cb1548920dd77b3a react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727 react-native-exif-reader: b2ad2175125a5d7dbd399ac6bd3bc4ba8753f85a @@ -740,19 +740,19 @@ SPEC CHECKSUMS: react-native-safe-area-context: 1d596539b05a78f2b346e954e7c577f6f9be7544 react-native-sensitive-info: d44e909d065f9c0e15734245e5dd6a24b82e3dcd react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 - React-perflogger: d21f182895de9d1b077f8a3cd00011095c8c9100 - React-RCTActionSheet: 0151f83ef92d2a7139bba7dfdbc8066632a6d47b - React-RCTAnimation: 5ec9c0705bb2297549c120fe6473aa3e4a01e215 - React-RCTAppDelegate: 9895fd1b6d1176d88c4b10ddc169b2e1300c91f0 - React-RCTBlob: f3634eb45b6e7480037655e1ca93d1136ac984dd - React-RCTImage: 3c12cb32dec49549ae62ed6cba4018db43841ffc - React-RCTLinking: 310e930ee335ef25481b4a173d9edb64b77895f9 - React-RCTNetwork: b6837841fe88303b0c04c1e3c01992b30f1f5498 - React-RCTSettings: 600d91fe25fa7c16b0ff891304082440f2904b89 - React-RCTText: a0a19f749088280c6def5397ed6211b811e7eef3 - React-RCTVibration: 43ffd976a25f6057a7cf95ea3648ba4e00287f89 - React-runtimeexecutor: 7c51ae9d4b3e9608a2366e39ccaa606aa551b9ed - ReactCommon: 85c98ab0a509e70bf5ee5d9715cf68dbf495b84c + React-perflogger: 75b0e25075c67565a830985f3c373e2eae5389e0 + React-RCTActionSheet: a0c3e916b327e297d124d9ebe8b0c721840ee04d + React-RCTAnimation: 3da7025801d7bf0f8cfd94574d6278d5b82a8b88 + React-RCTAppDelegate: f74a567e0bc905aaff66d47ab30e6548f727549c + React-RCTBlob: 53252ebabe7777fd1c440a34546c64e16b162908 + React-RCTImage: e230761bd34d71362dd8b3d51b5cd72674935aa0 + React-RCTLinking: 3294b1b540005628168e5a341963b0eddc3932e8 + React-RCTNetwork: 00c6b2215e54a9fb015c53a5e02b0a852dbb8568 + React-RCTSettings: 2e7e4964f45e9b24c6c32ad30b6ab2ef4a7e2ffc + React-RCTText: a9c712b13cab90e1432e0ad113edc8bdbc691248 + React-RCTVibration: a283fefb8cc29d9740a7ff2e87f72ad10f25a433 + React-runtimeexecutor: 7902246857a4ead4166869e6c42d4df329ff721d + ReactCommon: a6d1c76b9e10b439e41db225263341240e1cda9f ReactNativeExceptionHandler: b11ff67c78802b2f62eed0e10e75cb1ef7947c60 RealmJS: 27b8d695fa4bc9606a4a4a378de55511edc2084c RNAudioRecorderPlayer: 6638283925b46808310c9fdf803ebabc3abdbadc @@ -773,7 +773,7 @@ SPEC CHECKSUMS: RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8 VisionCamera: f41b08470c9ae0a01be0d5e48f9fdd61602aa51f VisionCameraPluginInatVision: 79bb258db75218889c74d0897ecba676492c4def - Yoga: 065f0b74dba4832d6e328238de46eb72c5de9556 + Yoga: 39310a10944fc864a7550700de349183450f8aaa PODFILE CHECKSUM: 30369fa5e81b6ffd4950226cf0ef9275489616be diff --git a/ios/iNaturalistReactNative.xcodeproj/project.pbxproj b/ios/iNaturalistReactNative.xcodeproj/project.pbxproj index 4086ebd64..a02c2139c 100644 --- a/ios/iNaturalistReactNative.xcodeproj/project.pbxproj +++ b/ios/iNaturalistReactNative.xcodeproj/project.pbxproj @@ -11,8 +11,11 @@ 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 19FA77402A787B8A00982F02 /* taxonomy.json in Resources */ = {isa = PBXBuildFile; fileRef = 19FA773E2A787B8A00982F02 /* taxonomy.json */; }; + 19FA77412A787B8A00982F02 /* cvmodel.mlmodel in Sources */ = {isa = PBXBuildFile; fileRef = 19FA773F2A787B8A00982F02 /* cvmodel.mlmodel */; }; 374CB22F29943E63005885ED /* Whitney-BookItalic-Pro.otf in Resources */ = {isa = PBXBuildFile; fileRef = 374CB22E29943E63005885ED /* Whitney-BookItalic-Pro.otf */; }; 4FB3B444D46A4115B867B9CC /* inaturalisticons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EE004FD2EC174086A7AB2908 /* inaturalisticons.ttf */; }; + 763319F15FC44DBF89C9DEB0 /* INatIcon.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A96A8C1FA45F4C8692AAE36F /* INatIcon.ttf */; }; 7F29616A6267D5F6EC5F67B7 /* libPods-iNaturalistReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B935DA49196EBFE90895C8DD /* libPods-iNaturalistReactNative.a */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 8B65ED3129F575C10054CCEF /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8B65ED2F29F575C10054CCEF /* MainInterface.storyboard */; }; @@ -23,8 +26,6 @@ A252B2AEA64E47C9AC1D20E8 /* Whitney-Light-Pro.otf in Resources */ = {isa = PBXBuildFile; fileRef = BA9D41ECEBFA4C38B74009B3 /* Whitney-Light-Pro.otf */; }; BA2479FA3D7B40A7BEF7B3CD /* Whitney-Medium-Pro.otf in Resources */ = {isa = PBXBuildFile; fileRef = D09FA3A0162844FF80A5EF96 /* Whitney-Medium-Pro.otf */; }; D1A158A7F6C9E77B651BB4AA /* libPods-iNaturalistReactNative-ShareExtension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDD0D061046941F61CA31D /* libPods-iNaturalistReactNative-ShareExtension.a */; }; - F005F5581901496B8576FB4E /* BuildFile in Resources */ = {isa = PBXBuildFile; }; - 41DE3088F97E402FBC6E6DD8 /* INatIcon.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 63D7A2871FF24F76861F64DD /* INatIcon.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -70,6 +71,8 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = iNaturalistReactNative/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = iNaturalistReactNative/main.m; sourceTree = ""; }; 19A5877328F8E3310016D128 /* iNaturalistReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "iNaturalistReactNative-Bridging-Header.h"; sourceTree = ""; }; + 19FA773E2A787B8A00982F02 /* taxonomy.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = taxonomy.json; sourceTree = ""; }; + 19FA773F2A787B8A00982F02 /* cvmodel.mlmodel */ = {isa = PBXFileReference; lastKnownFileType = file.mlmodel; path = cvmodel.mlmodel; sourceTree = ""; }; 374CB22E29943E63005885ED /* Whitney-BookItalic-Pro.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "Whitney-BookItalic-Pro.otf"; path = "../assets/fonts/Whitney-BookItalic-Pro.otf"; sourceTree = ""; }; 52305C33CFC262F17ADC692E /* Pods-iNaturalistReactNative.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iNaturalistReactNative.release.xcconfig"; path = "Target Support Files/Pods-iNaturalistReactNative/Pods-iNaturalistReactNative.release.xcconfig"; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = iNaturalistReactNative/LaunchScreen.storyboard; sourceTree = ""; }; @@ -83,6 +86,7 @@ 8BF3756EB416D21D28518C7D /* Pods-iNaturalistReactNative.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iNaturalistReactNative.debug.xcconfig"; path = "Target Support Files/Pods-iNaturalistReactNative/Pods-iNaturalistReactNative.debug.xcconfig"; sourceTree = ""; }; 8FE03BB92A5EFCB2001B35BA /* small_inception_tf1.mlmodel */ = {isa = PBXFileReference; lastKnownFileType = file.mlmodel; path = small_inception_tf1.mlmodel; sourceTree = ""; }; 8FE03BBA2A5EFCB2001B35BA /* small_export_tax.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = small_export_tax.json; sourceTree = ""; }; + A96A8C1FA45F4C8692AAE36F /* INatIcon.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = INatIcon.ttf; path = ../assets/fonts/INatIcon.ttf; sourceTree = ""; }; ADBDD0D061046941F61CA31D /* libPods-iNaturalistReactNative-ShareExtension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-iNaturalistReactNative-ShareExtension.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B935DA49196EBFE90895C8DD /* libPods-iNaturalistReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-iNaturalistReactNative.a"; sourceTree = BUILT_PRODUCTS_DIR; }; BA9D41ECEBFA4C38B74009B3 /* Whitney-Light-Pro.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Whitney-Light-Pro.otf"; path = "../assets/fonts/Whitney-Light-Pro.otf"; sourceTree = ""; }; @@ -90,7 +94,6 @@ DEB901D3F8FB2DAE1CCED0CC /* Pods-iNaturalistReactNative-ShareExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iNaturalistReactNative-ShareExtension.release.xcconfig"; path = "Target Support Files/Pods-iNaturalistReactNative-ShareExtension/Pods-iNaturalistReactNative-ShareExtension.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; EE004FD2EC174086A7AB2908 /* inaturalisticons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = inaturalisticons.ttf; path = ../assets/fonts/inaturalisticons.ttf; sourceTree = ""; }; - 63D7A2871FF24F76861F64DD /* INatIcon.ttf */ = {isa = PBXFileReference; name = "INatIcon.ttf"; path = "../assets/fonts/INatIcon.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -140,6 +143,8 @@ 13B07FAE1A68108700A75B9A /* iNaturalistReactNative */ = { isa = PBXGroup; children = ( + 19FA773F2A787B8A00982F02 /* cvmodel.mlmodel */, + 19FA773E2A787B8A00982F02 /* taxonomy.json */, 8FE03BBA2A5EFCB2001B35BA /* small_export_tax.json */, 8FE03BB92A5EFCB2001B35BA /* small_inception_tf1.mlmodel */, 8B8BAD0429F54EB300CE5C9F /* iNaturalistReactNative.entitlements */, @@ -228,7 +233,7 @@ D09FA3A0162844FF80A5EF96 /* Whitney-Medium-Pro.otf */, 374CB22E29943E63005885ED /* Whitney-BookItalic-Pro.otf */, EE004FD2EC174086A7AB2908 /* inaturalisticons.ttf */, - 63D7A2871FF24F76861F64DD /* INatIcon.ttf */, + A96A8C1FA45F4C8692AAE36F /* INatIcon.ttf */, ); name = Resources; sourceTree = ""; @@ -352,14 +357,14 @@ buildActionMask = 2147483647; files = ( 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, + 19FA77402A787B8A00982F02 /* taxonomy.json in Resources */, 8FE03BBC2A5EFCB2001B35BA /* small_export_tax.json in Resources */, 374CB22F29943E63005885ED /* Whitney-BookItalic-Pro.otf in Resources */, 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, A252B2AEA64E47C9AC1D20E8 /* Whitney-Light-Pro.otf in Resources */, BA2479FA3D7B40A7BEF7B3CD /* Whitney-Medium-Pro.otf in Resources */, 4FB3B444D46A4115B867B9CC /* inaturalisticons.ttf in Resources */, - F005F5581901496B8576FB4E /* BuildFile in Resources */, - 41DE3088F97E402FBC6E6DD8 /* INatIcon.ttf in Resources */, + 763319F15FC44DBF89C9DEB0 /* INatIcon.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -520,6 +525,7 @@ buildActionMask = 2147483647; files = ( 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + 19FA77412A787B8A00982F02 /* cvmodel.mlmodel in Sources */, 8FE03BBB2A5EFCB2001B35BA /* small_inception_tf1.mlmodel in Sources */, 13B07FC11A68108700A75B9A /* main.m in Sources */, ); @@ -621,7 +627,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = iNaturalistReactNative/iNaturalistReactNative.entitlements; - CURRENT_PROJECT_VERSION = 49; + CURRENT_PROJECT_VERSION = 50; DEVELOPMENT_TEAM = N5J7L4P93Z; ENABLE_BITCODE = NO; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; @@ -653,7 +659,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = iNaturalistReactNative/iNaturalistReactNative.entitlements; - CURRENT_PROJECT_VERSION = 49; + CURRENT_PROJECT_VERSION = 50; DEVELOPMENT_TEAM = N5J7L4P93Z; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = iNaturalistReactNative/Info.plist; @@ -825,7 +831,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = "iNaturalistReactNative-ShareExtension/iNaturalistReactNative-ShareExtension.entitlements"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 49; + CURRENT_PROJECT_VERSION = 50; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = N5J7L4P93Z; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "i386 arm64"; @@ -869,7 +875,7 @@ CODE_SIGN_ENTITLEMENTS = "iNaturalistReactNative-ShareExtension/iNaturalistReactNative-ShareExtension.entitlements"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 49; + CURRENT_PROJECT_VERSION = 50; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = N5J7L4P93Z; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "i386 arm64"; diff --git a/ios/iNaturalistReactNative/Info.plist b/ios/iNaturalistReactNative/Info.plist index 40729eabc..8063c2770 100644 --- a/ios/iNaturalistReactNative/Info.plist +++ b/ios/iNaturalistReactNative/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.7.0 + 0.8.1 CFBundleSignature ???? CFBundleVersion - 49 + 50 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/ios/iNaturalistReactNativeTests/Info.plist b/ios/iNaturalistReactNativeTests/Info.plist index f270fd866..75a7236ea 100644 --- a/ios/iNaturalistReactNativeTests/Info.plist +++ b/ios/iNaturalistReactNativeTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 0.7.0 + 0.8.1 CFBundleSignature ???? CFBundleVersion - 49 + 50 diff --git a/ios/link-assets-manifest.json b/ios/link-assets-manifest.json index 737c3193a..8e9dbe766 100644 --- a/ios/link-assets-manifest.json +++ b/ios/link-assets-manifest.json @@ -3,7 +3,7 @@ "data": [ { "path": "assets/fonts/INatIcon.ttf", - "sha1": "5ee81524df59ba0d7ef0efafdf940f528a8ee5af" + "sha1": "94ddb30161ddbd61eda2524a57b2c5eec804401e" }, { "path": "assets/fonts/Whitney-BookItalic-Pro.otf", diff --git a/package-lock.json b/package-lock.json index 3561f4a2a..b508dc494 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "inaturalistreactnative", - "version": "0.7.0", + "version": "0.8.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "inaturalistreactnative", - "version": "0.7.0", + "version": "0.8.1", "hasInstallScript": true, "dependencies": { "@babel/eslint-parser": "^7.21.3", @@ -51,7 +51,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-i18next": "^12.2.2", - "react-native": "0.71.8", + "react-native": "0.71.12", "react-native-animated-dots-carousel": "^1.0.2", "react-native-audio-recorder-player": "^3.5.3", "react-native-circular-progress-indicator": "^4.4.2", @@ -92,7 +92,7 @@ "react-native-svg-transformer": "^1.0.0", "react-native-uuid": "^2.0.1", "react-native-vector-icons": "^9.1.0", - "react-native-vision-camera": "github:inaturalist/react-native-vision-camera#1544-sroske-orientation-fix", + "react-native-vision-camera": "github:inaturalist/react-native-vision-camera#our-main-fork", "react-native-webview": "^11.26.1", "react-tinder-card": "^1.6.2", "realm": "^11.8.0", @@ -142,7 +142,7 @@ "jest": "^29.5.0", "jest-circus": "^29.5.0", "metro-config": "0.73.9", - "metro-react-native-babel-preset": "0.73.9", + "metro-react-native-babel-preset": "0.73.10", "nock": "^13.3.0", "patch-package": "^7.0.0", "prettier": "^2.4.1", @@ -3852,16 +3852,16 @@ } }, "node_modules/@react-native-community/cli": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.2.tgz", - "integrity": "sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz", + "integrity": "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==", "dependencies": { "@react-native-community/cli-clean": "^10.1.1", "@react-native-community/cli-config": "^10.1.1", "@react-native-community/cli-debugger-ui": "^10.0.0", - "@react-native-community/cli-doctor": "^10.2.2", + "@react-native-community/cli-doctor": "^10.2.4", "@react-native-community/cli-hermes": "^10.2.0", - "@react-native-community/cli-plugin-metro": "^10.2.2", + "@react-native-community/cli-plugin-metro": "^10.2.3", "@react-native-community/cli-server-api": "^10.1.1", "@react-native-community/cli-tools": "^10.1.1", "@react-native-community/cli-types": "^10.0.0", @@ -4016,9 +4016,9 @@ } }, "node_modules/@react-native-community/cli-clean/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -4158,12 +4158,12 @@ } }, "node_modules/@react-native-community/cli-doctor": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.2.tgz", - "integrity": "sha512-49Ep2aQOF0PkbAR/TcyMjOm9XwBa8VQr+/Zzf4SJeYwiYLCT1NZRAVAVjYRXl0xqvq5S5mAGZZShS4AQl4WsZw==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.5.tgz", + "integrity": "sha512-1YbzXvsldBmSw1MmBsXB74bKiHXKNCjlb2ByLgkfTiarpSvETYam3g5vex0N+qc0Cdkzkq+8NznE744LFhnUpw==", "dependencies": { "@react-native-community/cli-config": "^10.1.1", - "@react-native-community/cli-platform-ios": "^10.2.1", + "@react-native-community/cli-platform-ios": "^10.2.5", "@react-native-community/cli-tools": "^10.1.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", @@ -4180,6 +4180,19 @@ "wcwidth": "^1.0.1" } }, + "node_modules/@react-native-community/cli-doctor/node_modules/@react-native-community/cli-platform-ios": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz", + "integrity": "sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg==", + "dependencies": { + "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -4249,9 +4262,9 @@ } }, "node_modules/@react-native-community/cli-doctor/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -4583,9 +4596,9 @@ } }, "node_modules/@react-native-community/cli-platform-android/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -4632,9 +4645,9 @@ } }, "node_modules/@react-native-community/cli-platform-ios": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz", - "integrity": "sha512-hz4zu4Y6eyj7D0lnZx8Mf2c2si8y+zh/zUTgCTaPPLzQD8jSZNNBtUUiA1cARm2razpe8marCZ1QbTMAGbf3mg==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz", + "integrity": "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==", "dependencies": { "@react-native-community/cli-tools": "^10.1.1", "chalk": "^4.1.2", @@ -4768,9 +4781,9 @@ } }, "node_modules/@react-native-community/cli-platform-ios/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -4817,20 +4830,20 @@ } }, "node_modules/@react-native-community/cli-plugin-metro": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.2.tgz", - "integrity": "sha512-sTGjZlD3OGqbF9v1ajwUIXhGmjw9NyJ/14Lo0sg7xH8Pv4qUd5ZvQ6+DWYrQn3IKFUMfGFWYyL81ovLuPylrpw==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz", + "integrity": "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==", "dependencies": { "@react-native-community/cli-server-api": "^10.1.1", "@react-native-community/cli-tools": "^10.1.1", "chalk": "^4.1.2", "execa": "^1.0.0", - "metro": "0.73.9", - "metro-config": "0.73.9", - "metro-core": "0.73.9", - "metro-react-native-babel-transformer": "0.73.9", - "metro-resolver": "0.73.9", - "metro-runtime": "0.73.9", + "metro": "0.73.10", + "metro-config": "0.73.10", + "metro-core": "0.73.10", + "metro-react-native-babel-transformer": "0.73.10", + "metro-resolver": "0.73.10", + "metro-runtime": "0.73.10", "readline": "^1.3.0" } }, @@ -4894,6 +4907,14 @@ "node": ">=4.8" } }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/@react-native-community/cli-plugin-metro/node_modules/execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -4938,6 +4959,260 @@ "node": ">=0.10.0" } }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz", + "integrity": "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "absolute-path": "^0.0.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.8.0", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.73.10", + "metro-cache": "0.73.10", + "metro-cache-key": "0.73.10", + "metro-config": "0.73.10", + "metro-core": "0.73.10", + "metro-file-map": "0.73.10", + "metro-hermes-compiler": "0.73.10", + "metro-inspector-proxy": "0.73.10", + "metro-minify-terser": "0.73.10", + "metro-minify-uglify": "0.73.10", + "metro-react-native-babel-preset": "0.73.10", + "metro-resolver": "0.73.10", + "metro-runtime": "0.73.10", + "metro-source-map": "0.73.10", + "metro-symbolicate": "0.73.10", + "metro-transform-plugins": "0.73.10", + "metro-transform-worker": "0.73.10", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "temp": "0.8.3", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.5.1" + }, + "bin": { + "metro": "src/cli.js" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", + "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.8.0", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz", + "integrity": "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==", + "dependencies": { + "metro-core": "0.73.10", + "rimraf": "^3.0.2" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz", + "integrity": "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz", + "integrity": "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==", + "dependencies": { + "cosmiconfig": "^5.0.5", + "jest-validate": "^26.5.2", + "metro": "0.73.10", + "metro-cache": "0.73.10", + "metro-core": "0.73.10", + "metro-runtime": "0.73.10" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz", + "integrity": "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==", + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.73.10" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz", + "integrity": "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==", + "dependencies": { + "abort-controller": "^3.0.0", + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-serializer": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-hermes-compiler": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz", + "integrity": "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-inspector-proxy": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz", + "integrity": "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==", + "dependencies": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.5.1" + }, + "bin": { + "metro-inspector-proxy": "src/cli.js" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-terser": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz", + "integrity": "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==", + "dependencies": { + "terser": "^5.15.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-uglify": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz", + "integrity": "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==", + "dependencies": { + "uglify-es": "^3.1.9" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz", + "integrity": "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==", + "dependencies": { + "absolute-path": "^0.0.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", + "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", + "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.73.10", + "nullthrows": "^1.1.1", + "ob1": "0.73.10", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", + "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz", + "integrity": "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz", + "integrity": "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.73.10", + "metro-babel-transformer": "0.73.10", + "metro-cache": "0.73.10", + "metro-cache-key": "0.73.10", + "metro-hermes-compiler": "0.73.10", + "metro-source-map": "0.73.10", + "metro-transform-plugins": "0.73.10", + "nullthrows": "^1.1.1" + } + }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/@react-native-community/cli-plugin-metro/node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -4949,6 +5224,11 @@ "node": ">=4" } }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", + "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + }, "node_modules/@react-native-community/cli-plugin-metro/node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -4958,9 +5238,9 @@ } }, "node_modules/@react-native-community/cli-plugin-metro/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -4984,6 +5264,14 @@ "node": ">=0.10.0" } }, + "node_modules/@react-native-community/cli-plugin-metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -5285,9 +5573,9 @@ } }, "node_modules/@react-native-community/cli/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -8209,9 +8497,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", - "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", "engines": { "node": ">=6" }, @@ -8814,9 +9102,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" }, "node_modules/debug": { "version": "4.3.4", @@ -9880,9 +10168,9 @@ } }, "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "bin": { "envinfo": "dist/cli.js" }, @@ -11464,9 +11752,9 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-xml-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.2.tgz", - "integrity": "sha512-DLzIPtQqmvmdq3VUKR7T6omPK/VCRNqgFlGtbESfyhcH2R4I8EzK1/K6E8PkRCK2EabWrUHK32NjYRbEFnnz0Q==", + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", + "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", "funding": [ { "type": "paypal", @@ -16438,6 +16726,11 @@ "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -17028,6 +17321,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.9.tgz", "integrity": "sha512-BlYbPmTF60hpetyNdKhdvi57dSqutb+/oK0u3ni4emIh78PiI0axGo7RfdsZ/mn3saASXc94tDbpC5yn7+NpEg==", + "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "@babel/core": "^7.20.0", @@ -17088,6 +17382,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.9.tgz", "integrity": "sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA==", + "dev": true, "dependencies": { "@babel/core": "^7.20.0", "hermes-parser": "0.8.0", @@ -17099,6 +17394,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.9.tgz", "integrity": "sha512-upiRxY8rrQkUWj7ieACD6tna7xXuXdu2ZqrheksT79ePI0aN/t0memf6WcyUtJUMHZetke3j+ppELNvlmp3tOw==", + "dev": true, "dependencies": { "metro-core": "0.73.9", "rimraf": "^3.0.2" @@ -17107,12 +17403,14 @@ "node_modules/metro-cache-key": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.9.tgz", - "integrity": "sha512-uJg+6Al7UoGIuGfoxqPBy6y1Ewq7Y8/YapGYIDh6sohInwt/kYKnPZgLDYHIPvY2deORnQ/2CYo4tOeBTnhCXQ==" + "integrity": "sha512-uJg+6Al7UoGIuGfoxqPBy6y1Ewq7Y8/YapGYIDh6sohInwt/kYKnPZgLDYHIPvY2deORnQ/2CYo4tOeBTnhCXQ==", + "dev": true }, "node_modules/metro-config": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.9.tgz", "integrity": "sha512-NiWl1nkYtjqecDmw77tbRbXnzIAwdO6DXGZTuKSkH+H/c1NKq1eizO8Fe+NQyFtwR9YLqn8Q0WN1nmkwM1j8CA==", + "dev": true, "dependencies": { "cosmiconfig": "^5.0.5", "jest-validate": "^26.5.2", @@ -17126,6 +17424,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.9.tgz", "integrity": "sha512-1NTs0IErlKcFTfYyRT3ljdgrISWpl1nys+gaHkXapzTSpvtX9F1NQNn5cgAuE+XIuTJhbsCdfIJiM2JXbrJQaQ==", + "dev": true, "dependencies": { "lodash.throttle": "^4.1.1", "metro-resolver": "0.73.9" @@ -17135,6 +17434,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.9.tgz", "integrity": "sha512-R/Wg3HYeQhYY3ehWtfedw8V0ne4lpufG7a21L3GWer8tafnC9pmjoCKEbJz9XZkVj9i1FtxE7UTbrtZNeIILxQ==", + "dev": true, "dependencies": { "abort-controller": "^3.0.0", "anymatch": "^3.0.3", @@ -17158,6 +17458,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } @@ -17165,17 +17466,20 @@ "node_modules/metro-file-map/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/metro-hermes-compiler": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.9.tgz", - "integrity": "sha512-5B3vXIwQkZMSh3DQQY23XpTCpX9kPLqZbA3rDuAcbGW0tzC3f8dCenkyBb0GcCzyTDncJeot/A7oVCVK6zapwg==" + "integrity": "sha512-5B3vXIwQkZMSh3DQQY23XpTCpX9kPLqZbA3rDuAcbGW0tzC3f8dCenkyBb0GcCzyTDncJeot/A7oVCVK6zapwg==", + "dev": true }, "node_modules/metro-inspector-proxy": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.9.tgz", "integrity": "sha512-B3WrWZnlYhtTrv0IaX3aUAhi2qVILPAZQzb5paO1e+xrz4YZHk9c7dXv7qe7B/IQ132e3w46y3AL7rFo90qVjA==", + "dev": true, "dependencies": { "connect": "^3.6.5", "debug": "^2.2.0", @@ -17190,6 +17494,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } @@ -17197,12 +17502,14 @@ "node_modules/metro-inspector-proxy/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/metro-minify-terser": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.9.tgz", "integrity": "sha512-MTGPu2qV5qtzPJ2SqH6s58awHDtZ4jd7lmmLR+7TXDwtZDjIBA0YVfI0Zak2Haby2SqoNKrhhUns/b4dPAQAVg==", + "dev": true, "dependencies": { "terser": "^5.15.0" } @@ -17211,14 +17518,15 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.9.tgz", "integrity": "sha512-gzxD/7WjYcnCNGiFJaA26z34rjOp+c/Ft++194Wg91lYep3TeWQ0CnH8t2HRS7AYDHU81SGWgvD3U7WV0g4LGA==", + "dev": true, "dependencies": { "uglify-es": "^3.1.9" } }, "node_modules/metro-react-native-babel-preset": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz", - "integrity": "sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==", + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz", + "integrity": "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==", "dependencies": { "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", @@ -17264,26 +17572,85 @@ } }, "node_modules/metro-react-native-babel-transformer": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz", - "integrity": "sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ==", + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz", + "integrity": "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==", "dependencies": { "@babel/core": "^7.20.0", "babel-preset-fbjs": "^3.4.0", "hermes-parser": "0.8.0", - "metro-babel-transformer": "0.73.9", - "metro-react-native-babel-preset": "0.73.9", - "metro-source-map": "0.73.9", + "metro-babel-transformer": "0.73.10", + "metro-react-native-babel-preset": "0.73.10", + "metro-source-map": "0.73.10", "nullthrows": "^1.1.1" }, "peerDependencies": { "@babel/core": "*" } }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-babel-transformer": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", + "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.8.0", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1" + } + }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-source-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", + "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.73.10", + "nullthrows": "^1.1.1", + "ob1": "0.73.10", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "node_modules/metro-react-native-babel-transformer/node_modules/metro-symbolicate": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", + "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/metro-react-native-babel-transformer/node_modules/ob1": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", + "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + }, + "node_modules/metro-react-native-babel-transformer/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/metro-resolver": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.9.tgz", "integrity": "sha512-Ej3wAPOeNRPDnJmkK0zk7vJ33iU07n+oPhpcf5L0NFkWneMmSM2bflMPibI86UjzZGmRfn0AhGhs8yGeBwQ/Xg==", + "dev": true, "dependencies": { "absolute-path": "^0.0.0" } @@ -17292,6 +17659,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.9.tgz", "integrity": "sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg==", + "dev": true, "dependencies": { "@babel/runtime": "^7.0.0", "react-refresh": "^0.4.0" @@ -17301,6 +17669,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.9.tgz", "integrity": "sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ==", + "dev": true, "dependencies": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", @@ -17316,6 +17685,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -17324,6 +17694,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.9.tgz", "integrity": "sha512-4TUOwxRHHqbEHxRqRJ3wZY5TA8xq7AHMtXrXcjegMH9FscgYztsrIG9aNBUBS+VLB6g1qc6BYbfIgoAnLjCDyw==", + "dev": true, "dependencies": { "invariant": "^2.2.4", "metro-source-map": "0.73.9", @@ -17343,6 +17714,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -17351,6 +17723,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.9.tgz", "integrity": "sha512-r9NeiqMngmooX2VOKLJVQrMuV7PAydbqst5bFhdVBPcFpZkxxqyzjzo+kzrszGy2UpSQBZr2P1L6OMjLHwQwfQ==", + "dev": true, "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -17363,6 +17736,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.9.tgz", "integrity": "sha512-Rq4b489sIaTUENA+WCvtu9yvlT/C6zFMWhU4sq+97W29Zj0mPBjdk+qGT5n1ZBgtBIJzZWt1KxeYuc17f4aYtQ==", + "dev": true, "dependencies": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -17383,6 +17757,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -17397,6 +17772,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -17412,6 +17788,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -17422,12 +17799,14 @@ "node_modules/metro/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/metro/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { "ms": "2.0.0" } @@ -17436,19 +17815,71 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } }, + "node_modules/metro/node_modules/metro-react-native-babel-preset": { + "version": "0.73.9", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz", + "integrity": "sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, "node_modules/metro/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/metro/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -17457,6 +17888,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -20811,7 +21243,8 @@ "node_modules/ob1": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.9.tgz", - "integrity": "sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw==" + "integrity": "sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw==", + "dev": true }, "node_modules/object-assign": { "version": "4.1.1", @@ -22286,19 +22719,20 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-native": { - "version": "0.71.8", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.8.tgz", - "integrity": "sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g==", + "version": "0.71.12", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.12.tgz", + "integrity": "sha512-1zDOTdalLepcVB8ZRIZpWlIGyyJISzAF4MIYSDdW7VDJtIRC7ybXsj/kSARF1zpGSg+LgAV8NMCZzGg598M7Iw==", "dependencies": { "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "10.2.2", + "@react-native-community/cli": "10.2.4", "@react-native-community/cli-platform-android": "10.2.0", - "@react-native-community/cli-platform-ios": "10.2.1", + "@react-native-community/cli-platform-ios": "10.2.4", "@react-native/assets": "1.0.0", "@react-native/normalize-color": "2.1.0", "@react-native/polyfills": "2.0.0", "abort-controller": "^3.0.0", "anser": "^1.4.9", + "ansi-regex": "^5.0.0", "base64-js": "^1.1.2", "deprecated-react-native-prop-types": "^3.0.1", "event-target-shim": "^5.0.1", @@ -22306,16 +22740,16 @@ "jest-environment-node": "^29.2.1", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-react-native-babel-transformer": "0.73.9", - "metro-runtime": "0.73.9", - "metro-source-map": "0.73.9", + "metro-react-native-babel-transformer": "0.73.10", + "metro-runtime": "0.73.10", + "metro-source-map": "0.73.10", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", "promise": "^8.3.0", "react-devtools-core": "^4.26.1", "react-native-codegen": "^0.71.5", - "react-native-gradle-plugin": "^0.71.18", + "react-native-gradle-plugin": "^0.71.19", "react-refresh": "^0.4.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", @@ -22531,9 +22965,9 @@ } }, "node_modules/react-native-gradle-plugin": { - "version": "0.71.18", - "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.18.tgz", - "integrity": "sha512-7F6bD7B8Xsn3JllxcwHhFcsl9aHIig47+3eN4IHFNqfLhZr++3ElDrcqfMzugM+niWbaMi7bJ0kAkAL8eCpdWg==" + "version": "0.71.19", + "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz", + "integrity": "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" }, "node_modules/react-native-image-pan-zoom": { "version": "2.1.12", @@ -23001,7 +23435,7 @@ }, "node_modules/react-native-vision-camera": { "version": "2.15.4", - "resolved": "git+ssh://git@github.com/inaturalist/react-native-vision-camera.git#9b44354be8afcc9eae2eef0dd6bbf4eea070478e", + "resolved": "git+ssh://git@github.com/inaturalist/react-native-vision-camera.git#fdc51466b0517f59054da6d9fd68b7af2ba57dc6", "license": "MIT", "peerDependencies": { "react": "*", @@ -23253,6 +23687,49 @@ "@babel/preset-env": "^7.1.6" } }, + "node_modules/react-native/node_modules/metro-runtime": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", + "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "node_modules/react-native/node_modules/metro-source-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", + "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.73.10", + "nullthrows": "^1.1.1", + "ob1": "0.73.10", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "node_modules/react-native/node_modules/metro-symbolicate": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", + "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, "node_modules/react-native/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -23276,6 +23753,11 @@ "node": ">=0.10.0" } }, + "node_modules/react-native/node_modules/ob1": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", + "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + }, "node_modules/react-native/node_modules/pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -23325,6 +23807,14 @@ "rimraf": "bin.js" } }, + "node_modules/react-native/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-native/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -26238,7 +26728,7 @@ }, "node_modules/vision-camera-plugin-inatvision": { "version": "0.1.0", - "resolved": "git+ssh://git@github.com/inaturalist/vision-camera-plugin-inatvision.git#75c2ddb6deb17561105d3bb33d0911e4433d1032", + "resolved": "git+ssh://git@github.com/inaturalist/vision-camera-plugin-inatvision.git#12b29468c95e30d977d9a38da5dce0df16167c96", "license": "MIT", "engines": { "node": ">= 16.0.0" @@ -29173,16 +29663,16 @@ "requires": {} }, "@react-native-community/cli": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.2.tgz", - "integrity": "sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz", + "integrity": "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==", "requires": { "@react-native-community/cli-clean": "^10.1.1", "@react-native-community/cli-config": "^10.1.1", "@react-native-community/cli-debugger-ui": "^10.0.0", - "@react-native-community/cli-doctor": "^10.2.2", + "@react-native-community/cli-doctor": "^10.2.4", "@react-native-community/cli-hermes": "^10.2.0", - "@react-native-community/cli-plugin-metro": "^10.2.2", + "@react-native-community/cli-plugin-metro": "^10.2.3", "@react-native-community/cli-server-api": "^10.1.1", "@react-native-community/cli-tools": "^10.1.1", "@react-native-community/cli-types": "^10.0.0", @@ -29239,9 +29729,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" } } }, @@ -29420,9 +29910,9 @@ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "shebang-command": { "version": "1.2.0", @@ -29527,12 +30017,12 @@ } }, "@react-native-community/cli-doctor": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.2.tgz", - "integrity": "sha512-49Ep2aQOF0PkbAR/TcyMjOm9XwBa8VQr+/Zzf4SJeYwiYLCT1NZRAVAVjYRXl0xqvq5S5mAGZZShS4AQl4WsZw==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.5.tgz", + "integrity": "sha512-1YbzXvsldBmSw1MmBsXB74bKiHXKNCjlb2ByLgkfTiarpSvETYam3g5vex0N+qc0Cdkzkq+8NznE744LFhnUpw==", "requires": { "@react-native-community/cli-config": "^10.1.1", - "@react-native-community/cli-platform-ios": "^10.2.1", + "@react-native-community/cli-platform-ios": "^10.2.5", "@react-native-community/cli-tools": "^10.1.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", @@ -29549,6 +30039,19 @@ "wcwidth": "^1.0.1" }, "dependencies": { + "@react-native-community/cli-platform-ios": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz", + "integrity": "sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg==", + "requires": { + "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, "ansi-regex": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", @@ -29597,9 +30100,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" } } }, @@ -29844,9 +30347,9 @@ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "shebang-command": { "version": "1.2.0", @@ -29880,9 +30383,9 @@ } }, "@react-native-community/cli-platform-ios": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz", - "integrity": "sha512-hz4zu4Y6eyj7D0lnZx8Mf2c2si8y+zh/zUTgCTaPPLzQD8jSZNNBtUUiA1cARm2razpe8marCZ1QbTMAGbf3mg==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz", + "integrity": "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==", "requires": { "@react-native-community/cli-tools": "^10.1.1", "chalk": "^4.1.2", @@ -29980,9 +30483,9 @@ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "shebang-command": { "version": "1.2.0", @@ -30016,20 +30519,20 @@ } }, "@react-native-community/cli-plugin-metro": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.2.tgz", - "integrity": "sha512-sTGjZlD3OGqbF9v1ajwUIXhGmjw9NyJ/14Lo0sg7xH8Pv4qUd5ZvQ6+DWYrQn3IKFUMfGFWYyL81ovLuPylrpw==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz", + "integrity": "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==", "requires": { "@react-native-community/cli-server-api": "^10.1.1", "@react-native-community/cli-tools": "^10.1.1", "chalk": "^4.1.2", "execa": "^1.0.0", - "metro": "0.73.9", - "metro-config": "0.73.9", - "metro-core": "0.73.9", - "metro-react-native-babel-transformer": "0.73.9", - "metro-resolver": "0.73.9", - "metro-runtime": "0.73.9", + "metro": "0.73.10", + "metro-config": "0.73.10", + "metro-core": "0.73.10", + "metro-react-native-babel-transformer": "0.73.10", + "metro-resolver": "0.73.10", + "metro-runtime": "0.73.10", "readline": "^1.3.0" }, "dependencies": { @@ -30075,6 +30578,14 @@ "which": "^1.2.9" } }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -30107,6 +30618,246 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" }, + "metro": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz", + "integrity": "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "absolute-path": "^0.0.0", + "accepts": "^1.3.7", + "async": "^3.2.2", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.8.0", + "image-size": "^0.6.0", + "invariant": "^2.2.4", + "jest-worker": "^27.2.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.73.10", + "metro-cache": "0.73.10", + "metro-cache-key": "0.73.10", + "metro-config": "0.73.10", + "metro-core": "0.73.10", + "metro-file-map": "0.73.10", + "metro-hermes-compiler": "0.73.10", + "metro-inspector-proxy": "0.73.10", + "metro-minify-terser": "0.73.10", + "metro-minify-uglify": "0.73.10", + "metro-react-native-babel-preset": "0.73.10", + "metro-resolver": "0.73.10", + "metro-runtime": "0.73.10", + "metro-source-map": "0.73.10", + "metro-symbolicate": "0.73.10", + "metro-transform-plugins": "0.73.10", + "metro-transform-worker": "0.73.10", + "mime-types": "^2.1.27", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "rimraf": "^3.0.2", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "temp": "0.8.3", + "throat": "^5.0.0", + "ws": "^7.5.1", + "yargs": "^17.5.1" + } + }, + "metro-babel-transformer": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", + "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", + "requires": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.8.0", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1" + } + }, + "metro-cache": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz", + "integrity": "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==", + "requires": { + "metro-core": "0.73.10", + "rimraf": "^3.0.2" + } + }, + "metro-cache-key": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz", + "integrity": "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" + }, + "metro-config": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz", + "integrity": "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==", + "requires": { + "cosmiconfig": "^5.0.5", + "jest-validate": "^26.5.2", + "metro": "0.73.10", + "metro-cache": "0.73.10", + "metro-core": "0.73.10", + "metro-runtime": "0.73.10" + } + }, + "metro-core": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz", + "integrity": "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==", + "requires": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.73.10" + } + }, + "metro-file-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz", + "integrity": "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==", + "requires": { + "abort-controller": "^3.0.0", + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-regex-util": "^27.0.6", + "jest-serializer": "^27.0.6", + "jest-util": "^27.2.0", + "jest-worker": "^27.2.0", + "micromatch": "^4.0.4", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + } + }, + "metro-hermes-compiler": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz", + "integrity": "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" + }, + "metro-inspector-proxy": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz", + "integrity": "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==", + "requires": { + "connect": "^3.6.5", + "debug": "^2.2.0", + "ws": "^7.5.1", + "yargs": "^17.5.1" + } + }, + "metro-minify-terser": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz", + "integrity": "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==", + "requires": { + "terser": "^5.15.0" + } + }, + "metro-minify-uglify": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz", + "integrity": "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==", + "requires": { + "uglify-es": "^3.1.9" + } + }, + "metro-resolver": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz", + "integrity": "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==", + "requires": { + "absolute-path": "^0.0.0" + } + }, + "metro-runtime": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", + "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", + "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.73.10", + "nullthrows": "^1.1.1", + "ob1": "0.73.10", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", + "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "metro-transform-plugins": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz", + "integrity": "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "nullthrows": "^1.1.1" + } + }, + "metro-transform-worker": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz", + "integrity": "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==", + "requires": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "babel-preset-fbjs": "^3.4.0", + "metro": "0.73.10", + "metro-babel-transformer": "0.73.10", + "metro-cache": "0.73.10", + "metro-cache-key": "0.73.10", + "metro-hermes-compiler": "0.73.10", + "metro-source-map": "0.73.10", + "metro-transform-plugins": "0.73.10", + "nullthrows": "^1.1.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -30115,15 +30866,20 @@ "path-key": "^2.0.0" } }, + "ob1": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", + "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "shebang-command": { "version": "1.2.0", @@ -30138,6 +30894,11 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -32371,9 +33132,9 @@ } }, "cli-spinners": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", - "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==" + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==" }, "cliui": { "version": "8.0.1", @@ -32847,9 +33608,9 @@ "requires": {} }, "dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" }, "debug": { "version": "4.3.4", @@ -33649,9 +34410,9 @@ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==" }, "error-ex": { "version": "1.3.2", @@ -34781,9 +35542,9 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fast-xml-parser": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.2.tgz", - "integrity": "sha512-DLzIPtQqmvmdq3VUKR7T6omPK/VCRNqgFlGtbESfyhcH2R4I8EzK1/K6E8PkRCK2EabWrUHK32NjYRbEFnnz0Q==", + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", + "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", "requires": { "strnum": "^1.0.5" } @@ -38418,6 +39179,11 @@ "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" }, + "jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" + }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -38886,6 +39652,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.9.tgz", "integrity": "sha512-BlYbPmTF60hpetyNdKhdvi57dSqutb+/oK0u3ni4emIh78PiI0axGo7RfdsZ/mn3saASXc94tDbpC5yn7+NpEg==", + "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "@babel/core": "^7.20.0", @@ -38943,6 +39710,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -38951,6 +39719,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -38960,6 +39729,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -38967,12 +39737,14 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -38980,22 +39752,72 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "metro-react-native-babel-preset": { + "version": "0.73.9", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz", + "integrity": "sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==", + "dev": true, + "requires": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "react-refresh": "^0.4.0" + } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -39006,6 +39828,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.9.tgz", "integrity": "sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA==", + "dev": true, "requires": { "@babel/core": "^7.20.0", "hermes-parser": "0.8.0", @@ -39017,6 +39840,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.9.tgz", "integrity": "sha512-upiRxY8rrQkUWj7ieACD6tna7xXuXdu2ZqrheksT79ePI0aN/t0memf6WcyUtJUMHZetke3j+ppELNvlmp3tOw==", + "dev": true, "requires": { "metro-core": "0.73.9", "rimraf": "^3.0.2" @@ -39025,12 +39849,14 @@ "metro-cache-key": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.9.tgz", - "integrity": "sha512-uJg+6Al7UoGIuGfoxqPBy6y1Ewq7Y8/YapGYIDh6sohInwt/kYKnPZgLDYHIPvY2deORnQ/2CYo4tOeBTnhCXQ==" + "integrity": "sha512-uJg+6Al7UoGIuGfoxqPBy6y1Ewq7Y8/YapGYIDh6sohInwt/kYKnPZgLDYHIPvY2deORnQ/2CYo4tOeBTnhCXQ==", + "dev": true }, "metro-config": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.9.tgz", "integrity": "sha512-NiWl1nkYtjqecDmw77tbRbXnzIAwdO6DXGZTuKSkH+H/c1NKq1eizO8Fe+NQyFtwR9YLqn8Q0WN1nmkwM1j8CA==", + "dev": true, "requires": { "cosmiconfig": "^5.0.5", "jest-validate": "^26.5.2", @@ -39044,6 +39870,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.9.tgz", "integrity": "sha512-1NTs0IErlKcFTfYyRT3ljdgrISWpl1nys+gaHkXapzTSpvtX9F1NQNn5cgAuE+XIuTJhbsCdfIJiM2JXbrJQaQ==", + "dev": true, "requires": { "lodash.throttle": "^4.1.1", "metro-resolver": "0.73.9" @@ -39053,6 +39880,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.9.tgz", "integrity": "sha512-R/Wg3HYeQhYY3ehWtfedw8V0ne4lpufG7a21L3GWer8tafnC9pmjoCKEbJz9XZkVj9i1FtxE7UTbrtZNeIILxQ==", + "dev": true, "requires": { "abort-controller": "^3.0.0", "anymatch": "^3.0.3", @@ -39074,6 +39902,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -39081,19 +39910,22 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, "metro-hermes-compiler": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.9.tgz", - "integrity": "sha512-5B3vXIwQkZMSh3DQQY23XpTCpX9kPLqZbA3rDuAcbGW0tzC3f8dCenkyBb0GcCzyTDncJeot/A7oVCVK6zapwg==" + "integrity": "sha512-5B3vXIwQkZMSh3DQQY23XpTCpX9kPLqZbA3rDuAcbGW0tzC3f8dCenkyBb0GcCzyTDncJeot/A7oVCVK6zapwg==", + "dev": true }, "metro-inspector-proxy": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.9.tgz", "integrity": "sha512-B3WrWZnlYhtTrv0IaX3aUAhi2qVILPAZQzb5paO1e+xrz4YZHk9c7dXv7qe7B/IQ132e3w46y3AL7rFo90qVjA==", + "dev": true, "requires": { "connect": "^3.6.5", "debug": "^2.2.0", @@ -39105,6 +39937,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -39112,7 +39945,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, @@ -39120,6 +39954,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.9.tgz", "integrity": "sha512-MTGPu2qV5qtzPJ2SqH6s58awHDtZ4jd7lmmLR+7TXDwtZDjIBA0YVfI0Zak2Haby2SqoNKrhhUns/b4dPAQAVg==", + "dev": true, "requires": { "terser": "^5.15.0" } @@ -39128,14 +39963,15 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.9.tgz", "integrity": "sha512-gzxD/7WjYcnCNGiFJaA26z34rjOp+c/Ft++194Wg91lYep3TeWQ0CnH8t2HRS7AYDHU81SGWgvD3U7WV0g4LGA==", + "dev": true, "requires": { "uglify-es": "^3.1.9" } }, "metro-react-native-babel-preset": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz", - "integrity": "sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==", + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz", + "integrity": "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==", "requires": { "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", @@ -39178,23 +40014,75 @@ } }, "metro-react-native-babel-transformer": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz", - "integrity": "sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ==", + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz", + "integrity": "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==", "requires": { "@babel/core": "^7.20.0", "babel-preset-fbjs": "^3.4.0", "hermes-parser": "0.8.0", - "metro-babel-transformer": "0.73.9", - "metro-react-native-babel-preset": "0.73.9", - "metro-source-map": "0.73.9", + "metro-babel-transformer": "0.73.10", + "metro-react-native-babel-preset": "0.73.10", + "metro-source-map": "0.73.10", "nullthrows": "^1.1.1" + }, + "dependencies": { + "metro-babel-transformer": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", + "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", + "requires": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.8.0", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1" + } + }, + "metro-source-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", + "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.73.10", + "nullthrows": "^1.1.1", + "ob1": "0.73.10", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", + "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, + "ob1": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", + "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } } }, "metro-resolver": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.9.tgz", "integrity": "sha512-Ej3wAPOeNRPDnJmkK0zk7vJ33iU07n+oPhpcf5L0NFkWneMmSM2bflMPibI86UjzZGmRfn0AhGhs8yGeBwQ/Xg==", + "dev": true, "requires": { "absolute-path": "^0.0.0" } @@ -39203,6 +40091,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.9.tgz", "integrity": "sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg==", + "dev": true, "requires": { "@babel/runtime": "^7.0.0", "react-refresh": "^0.4.0" @@ -39212,6 +40101,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.9.tgz", "integrity": "sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ==", + "dev": true, "requires": { "@babel/traverse": "^7.20.0", "@babel/types": "^7.20.0", @@ -39226,7 +40116,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true } } }, @@ -39234,6 +40125,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.9.tgz", "integrity": "sha512-4TUOwxRHHqbEHxRqRJ3wZY5TA8xq7AHMtXrXcjegMH9FscgYztsrIG9aNBUBS+VLB6g1qc6BYbfIgoAnLjCDyw==", + "dev": true, "requires": { "invariant": "^2.2.4", "metro-source-map": "0.73.9", @@ -39246,7 +40138,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true } } }, @@ -39254,6 +40147,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.9.tgz", "integrity": "sha512-r9NeiqMngmooX2VOKLJVQrMuV7PAydbqst5bFhdVBPcFpZkxxqyzjzo+kzrszGy2UpSQBZr2P1L6OMjLHwQwfQ==", + "dev": true, "requires": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -39266,6 +40160,7 @@ "version": "0.73.9", "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.9.tgz", "integrity": "sha512-Rq4b489sIaTUENA+WCvtu9yvlT/C6zFMWhU4sq+97W29Zj0mPBjdk+qGT5n1ZBgtBIJzZWt1KxeYuc17f4aYtQ==", + "dev": true, "requires": { "@babel/core": "^7.20.0", "@babel/generator": "^7.20.0", @@ -41536,7 +42431,8 @@ "ob1": { "version": "0.73.9", "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.9.tgz", - "integrity": "sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw==" + "integrity": "sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw==", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -42562,19 +43458,20 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "react-native": { - "version": "0.71.8", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.8.tgz", - "integrity": "sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g==", + "version": "0.71.12", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.12.tgz", + "integrity": "sha512-1zDOTdalLepcVB8ZRIZpWlIGyyJISzAF4MIYSDdW7VDJtIRC7ybXsj/kSARF1zpGSg+LgAV8NMCZzGg598M7Iw==", "requires": { "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "10.2.2", + "@react-native-community/cli": "10.2.4", "@react-native-community/cli-platform-android": "10.2.0", - "@react-native-community/cli-platform-ios": "10.2.1", + "@react-native-community/cli-platform-ios": "10.2.4", "@react-native/assets": "1.0.0", "@react-native/normalize-color": "2.1.0", "@react-native/polyfills": "2.0.0", "abort-controller": "^3.0.0", "anser": "^1.4.9", + "ansi-regex": "^5.0.0", "base64-js": "^1.1.2", "deprecated-react-native-prop-types": "^3.0.1", "event-target-shim": "^5.0.1", @@ -42582,16 +43479,16 @@ "jest-environment-node": "^29.2.1", "jsc-android": "^250231.0.0", "memoize-one": "^5.0.0", - "metro-react-native-babel-transformer": "0.73.9", - "metro-runtime": "0.73.9", - "metro-source-map": "0.73.9", + "metro-react-native-babel-transformer": "0.73.10", + "metro-runtime": "0.73.10", + "metro-source-map": "0.73.10", "mkdirp": "^0.5.1", "nullthrows": "^1.1.1", "pretty-format": "^26.5.2", "promise": "^8.3.0", "react-devtools-core": "^4.26.1", "react-native-codegen": "^0.71.5", - "react-native-gradle-plugin": "^0.71.18", + "react-native-gradle-plugin": "^0.71.19", "react-refresh": "^0.4.0", "react-shallow-renderer": "^16.15.0", "regenerator-runtime": "^0.13.2", @@ -42780,6 +43677,43 @@ "write-file-atomic": "^2.3.0" } }, + "metro-runtime": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", + "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "requires": { + "@babel/runtime": "^7.0.0", + "react-refresh": "^0.4.0" + } + }, + "metro-source-map": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", + "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "requires": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "invariant": "^2.2.4", + "metro-symbolicate": "0.73.10", + "nullthrows": "^1.1.1", + "ob1": "0.73.10", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + } + }, + "metro-symbolicate": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", + "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "requires": { + "invariant": "^2.2.4", + "metro-source-map": "0.73.10", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + } + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -42800,6 +43734,11 @@ "to-regex": "^3.0.2" } }, + "ob1": { + "version": "0.73.10", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", + "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" + }, "pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -42843,6 +43782,11 @@ "glob": "^7.1.3" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -43022,9 +43966,9 @@ } }, "react-native-gradle-plugin": { - "version": "0.71.18", - "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.18.tgz", - "integrity": "sha512-7F6bD7B8Xsn3JllxcwHhFcsl9aHIig47+3eN4IHFNqfLhZr++3ElDrcqfMzugM+niWbaMi7bJ0kAkAL8eCpdWg==" + "version": "0.71.19", + "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz", + "integrity": "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" }, "react-native-image-pan-zoom": { "version": "2.1.12", @@ -43341,8 +44285,8 @@ } }, "react-native-vision-camera": { - "version": "git+ssh://git@github.com/inaturalist/react-native-vision-camera.git#9b44354be8afcc9eae2eef0dd6bbf4eea070478e", - "from": "react-native-vision-camera@github:inaturalist/react-native-vision-camera#1544-sroske-orientation-fix", + "version": "git+ssh://git@github.com/inaturalist/react-native-vision-camera.git#fdc51466b0517f59054da6d9fd68b7af2ba57dc6", + "from": "react-native-vision-camera@github:inaturalist/react-native-vision-camera#our-main-fork", "requires": {} }, "react-native-webview": { @@ -45563,7 +46507,7 @@ } }, "vision-camera-plugin-inatvision": { - "version": "git+ssh://git@github.com/inaturalist/vision-camera-plugin-inatvision.git#75c2ddb6deb17561105d3bb33d0911e4433d1032", + "version": "git+ssh://git@github.com/inaturalist/vision-camera-plugin-inatvision.git#12b29468c95e30d977d9a38da5dce0df16167c96", "from": "vision-camera-plugin-inatvision@github:inaturalist/vision-camera-plugin-inatvision", "requires": {} }, diff --git a/package.json b/package.json index e9fe16845..51a0a90aa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "inaturalistreactnative", - "version": "0.7.0", + "version": "0.8.1", "private": true, "scripts": { "android": "react-native run-android", @@ -70,7 +70,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-i18next": "^12.2.2", - "react-native": "0.71.8", + "react-native": "0.71.12", "react-native-animated-dots-carousel": "^1.0.2", "react-native-audio-recorder-player": "^3.5.3", "react-native-circular-progress-indicator": "^4.4.2", @@ -111,7 +111,7 @@ "react-native-svg-transformer": "^1.0.0", "react-native-uuid": "^2.0.1", "react-native-vector-icons": "^9.1.0", - "react-native-vision-camera": "github:inaturalist/react-native-vision-camera#1544-sroske-orientation-fix", + "react-native-vision-camera": "github:inaturalist/react-native-vision-camera#our-main-fork", "react-native-webview": "^11.26.1", "react-tinder-card": "^1.6.2", "realm": "^11.8.0", @@ -161,7 +161,7 @@ "jest": "^29.5.0", "jest-circus": "^29.5.0", "metro-config": "0.73.9", - "metro-react-native-babel-preset": "0.73.9", + "metro-react-native-babel-preset": "0.73.10", "nock": "^13.3.0", "patch-package": "^7.0.0", "prettier": "^2.4.1", diff --git a/src/components/Camera/ARCamera/ARCamera.js b/src/components/Camera/ARCamera/ARCamera.js index 670042de0..8af5ac65d 100644 --- a/src/components/Camera/ARCamera/ARCamera.js +++ b/src/components/Camera/ARCamera/ARCamera.js @@ -126,19 +126,22 @@ const ARCamera = ( { let prediction = null; let predictions = []; if ( Platform.OS === "ios" ) { - prediction = { - rank_level: cvResults[0].rank, - id: cvResults[0].taxon_id, - name: cvResults[0].name, - score: cvResults[0].score - }; + if ( cvResults.length > 0 ) { + const finestPrediction = cvResults[cvResults.length - 1]; + prediction = { + rank_level: finestPrediction.rank, + id: finestPrediction.taxon_id, + name: finestPrediction.name, + score: finestPrediction.score + }; + } } else { - predictions = cvResults.map( r => { + predictions = cvResults?.map( r => { const rank = Object.keys( r )[0]; return r[rank][0]; } ) .sort( ( a, b ) => a.rank - b.rank ); - prediction = { + prediction = predictions && predictions.length > 0 && { rank_level: predictions[0].rank, id: predictions[0].taxon_id, name: predictions[0].name, diff --git a/src/components/Camera/ARCamera/FrameProcessorCamera.js b/src/components/Camera/ARCamera/FrameProcessorCamera.js index d1e9e0065..87696a596 100644 --- a/src/components/Camera/ARCamera/FrameProcessorCamera.js +++ b/src/components/Camera/ARCamera/FrameProcessorCamera.js @@ -27,7 +27,7 @@ type Props = { // Johannes: when I copied over the native code from the legacy react-native-camera on Android // this value had to be a string. On iOS I changed the API to also accept a string (was number). // Maybe, the intention would look clearer if we refactor to use a number here. -const confidenceThreshold = "0.7"; +const confidenceThreshold = "0.5"; const FrameProcessorCamera = ( { cameraRef, @@ -61,12 +61,12 @@ const FrameProcessorCamera = ( { // Reminder: this is a worklet, running on the UI thread. try { - const results = InatVision.inatVision( - frame, - dirModel, - dirTaxonomy, + const results = InatVision.inatVision( frame, { + version: "1.0", + modelPath: dirModel, + taxonomyPath: dirTaxonomy, confidenceThreshold - ); + } ); REA.runOnJS( onTaxaDetected )( results ); } catch ( classifierError ) { console.log( `Error: ${classifierError.message}` ); diff --git a/src/components/Camera/CameraContainer.js b/src/components/Camera/CameraContainer.js index 78c8fb0c9..857564962 100644 --- a/src/components/Camera/CameraContainer.js +++ b/src/components/Camera/CameraContainer.js @@ -68,9 +68,11 @@ const CameraContainer = ( ): Node => { const devices = useCameraDevices( ); const device = devices[cameraPosition]; const hasFlash = device?.hasFlash; - const initialPhotoOptions = hasFlash - ? { flash: "off" } - : { }; + const initialPhotoOptions = { + enableAutoStabilization: true, + qualityPrioritization: "quality", + ...( hasFlash && { flash: "off" } ) + }; const [takePhotoOptions, setTakePhotoOptions] = useState( initialPhotoOptions ); const { deviceOrientation } = useDeviceOrientation( ); const [showDiscardSheet, setShowDiscardSheet] = useState( false ); diff --git a/src/components/Camera/CameraView.js b/src/components/Camera/CameraView.js index 06cd1a7e4..aee8e6d7d 100644 --- a/src/components/Camera/CameraView.js +++ b/src/components/Camera/CameraView.js @@ -155,6 +155,8 @@ const CameraView = ( { : null} ref={cameraRef} device={device} + preset="photo" + enableHighQualityPhotos // Props for ARCamera only frameProcessor={frameProcessor} frameProcessorFps={frameProcessorFps} diff --git a/src/components/LocationPicker/LoadingIndicator.js b/src/components/LocationPicker/LoadingIndicator.js index 4127a7c11..204b1a8d2 100644 --- a/src/components/LocationPicker/LoadingIndicator.js +++ b/src/components/LocationPicker/LoadingIndicator.js @@ -1,12 +1,29 @@ // @flow +import classnames from "classnames"; import { View } from "components/styledComponents"; import type { Node } from "react"; import React from "react"; import { ActivityIndicator } from "react-native-paper"; -const LoadingIndicator = ( ): Node => ( - +type Props = { + getShadow: Function, + theme: Object +}; + +const LoadingIndicator = ( { getShadow, theme }: Props ): Node => ( + ); diff --git a/src/components/LocationPicker/LocationPicker.js b/src/components/LocationPicker/LocationPicker.js index 5cee5d16c..8056d816e 100644 --- a/src/components/LocationPicker/LocationPicker.js +++ b/src/components/LocationPicker/LocationPicker.js @@ -10,9 +10,10 @@ import { View } from "components/styledComponents"; import type { Node } from "react"; import React from "react"; import MapView from "react-native-maps"; -import { useTheme } from "react-native-paper"; +import { ActivityIndicator, useTheme } from "react-native-paper"; import useTranslation from "sharedHooks/useTranslation"; import { getShadowStyle } from "styles/global"; +import colors from "styles/tailwindColors"; import CrosshairCircle from "./CrosshairCircle"; import DisplayLatLng from "./DisplayLatLng"; @@ -33,43 +34,45 @@ const getShadow = shadowColor => getShadowStyle( { } ); type Props = { - showMap: boolean, - loading: boolean, - accuracyTest: string, - region: Object, - mapView: any, - updateRegion: Function, - locationName: ?string, - updateLocationName: Function, accuracy: number, - returnToUserLocation: Function, - keysToUpdate: Object, + accuracyTest: string, goBackOnSave: Function, - toggleMapLayer: Function, + fetchingLocation: boolean, + hidePlaceResults: boolean, + keysToUpdate: Object, + loading: boolean, + locationName: ?string, mapType: string, - setMapReady: Function, + mapView: any, + region: Object, + returnToUserLocation: Function, selectPlaceResult: Function, - hidePlaceResults: boolean + setMapReady: Function, + showMap: boolean, + toggleMapLayer: Function, + updateLocationName: Function, + updateRegion: Function, }; const LocationPicker = ( { - showMap, - loading, - accuracyTest, - region, - mapView, - updateRegion, - locationName, - updateLocationName, accuracy, - returnToUserLocation, - keysToUpdate, + accuracyTest, goBackOnSave, - toggleMapLayer, + fetchingLocation, + hidePlaceResults, + keysToUpdate, + loading, + locationName, mapType, - setMapReady, + mapView, + region, + returnToUserLocation, selectPlaceResult, - hidePlaceResults + setMapReady, + showMap, + toggleMapLayer, + updateLocationName, + updateRegion }: Props ): Node => { const theme = useTheme( ); const { t } = useTranslation( ); @@ -98,7 +101,10 @@ const LocationPicker = ( { getShadow={getShadow} /> - + {showMap && ( - {loading && } + {loading && } {showMap @@ -148,13 +154,28 @@ const LocationPicker = ( { style={getShadow( theme.colors.primary )} className="absolute bottom-3 bg-white right-3 rounded-full" > - + { + fetchingLocation + ? ( + + + + ) + : ( + + ) + }
{ - console.log( action.type, "action type" ); switch ( action.type ) { case "ESTIMATE_ACCURACY": return { ...state, positional_accuracy: estimatedAccuracy( state.region.longitudeDelta ) }; - case "FETCH_CURRENT_LOCATION": + case "SET_CURRENT_LOCATION": return { ...state, - loading: false, + fetchingLocation: false, region: { ...state.region, latitude: action.userLocation?.latitude, longitude: action.userLocation?.longitude } }; + case "SET_FETCHING_LOCATION": + return { + ...state, + fetchingLocation: true + }; case "INITIALIZE_MAP": return { ...state, @@ -64,8 +69,10 @@ const reducer = ( state, action ) => { locationName: action.currentObservation?.place_guess, region: { ...state.region, - latitude: action.currentObservation?.latitude, - longitude: action.currentObservation?.longitude, + // This was causing a crash when getting to the location picker before + // current location was fetched in the observation viewer + latitude: action.currentObservation?.latitude || 0.0, + longitude: action.currentObservation?.longitude || 0.0, latitudeDelta: DELTA, longitudeDelta: DELTA } @@ -133,11 +140,12 @@ const LocationPickerContainer = ( { route }: Props ): Node => { const { accuracy, accuracyTest, + fetchingLocation, + hidePlaceResults, loading, locationName, mapType, - region, - hidePlaceResults + region } = state; const showMap = region.latitude !== 0.0; @@ -188,17 +196,25 @@ const LocationPickerContainer = ( { route }: Props ): Node => { }; const returnToUserLocation = async ( ) => { - dispatch( { type: "SET_LOADING", loading: false } ); + dispatch( { type: "SET_FETCHING_LOCATION" } ); const userLocation = await fetchUserLocation( ); - dispatch( { type: "FETCH_CURRENT_LOCATION", userLocation } ); - mapView.current?.getCamera().then( cam => { - if ( Platform.OS === "android" ) { - cam.zoom = 20; - } else { - cam.altitude = 100; - } - mapView.current?.animateCamera( cam ); - } ); + dispatch( { type: "SET_CURRENT_LOCATION", userLocation } ); + mapView.current?.getCamera( ) + .then( cam => { + if ( Platform.OS === "android" ) { + cam.zoom = 20; + } else { + cam.altitude = 100; + } + mapView.current?.animateCamera( cam ); + } ) + .catch( getCameraError => { + if ( getCameraError.message.match( /AirMapView.map is not valid/ ) ) { + // This doesn't seem to have any ill effect + return; + } + throw getCameraError; + } ); dispatch( { type: "ESTIMATE_ACCURACY" } ); }; @@ -220,6 +236,10 @@ const LocationPickerContainer = ( { route }: Props ): Node => { [navigation, currentObservation] ); + useEffect( ( ) => { + if ( !showMap ) dispatch( { type: "SET_LOADING", loading: false } ); + }, [showMap] ); + const setMapReady = ( ) => dispatch( { type: "SET_LOADING", loading: false } ); const selectPlaceResult = place => { @@ -237,23 +257,24 @@ const LocationPickerContainer = ( { route }: Props ): Node => { return ( ); }; diff --git a/src/components/LocationPicker/WarningText.js b/src/components/LocationPicker/WarningText.js index 904cf7c50..60a4d78cb 100644 --- a/src/components/LocationPicker/WarningText.js +++ b/src/components/LocationPicker/WarningText.js @@ -19,6 +19,10 @@ const WarningText = ( { accuracyTest, getShadow }: Props ): Node => { const theme = useTheme( ); const { t } = useTranslation( ); + if ( accuracyTest === "pass" ) { + return null; + } + const displayWarningText = ( ) => { if ( accuracyTest === "acceptable" ) { return t( "Zoom-in" ); @@ -33,7 +37,6 @@ const WarningText = ( { accuracyTest, getShadow }: Props ): Node => { { if ( idWithdrawn ) { - return ; + return ; } if ( item.vision ) return ; if ( flaggedStatus ) return ; diff --git a/src/components/SharedComponents/Buttons/INatIconButton.js b/src/components/SharedComponents/Buttons/INatIconButton.js index 0ac3d925f..942ce743b 100644 --- a/src/components/SharedComponents/Buttons/INatIconButton.js +++ b/src/components/SharedComponents/Buttons/INatIconButton.js @@ -10,7 +10,9 @@ import colors from "styles/tailwindColors"; type Props = { accessibilityLabel?: string, + children?: any, color?: string, + disabled?: boolean, height?: number, icon: string, onPress: Function, @@ -30,7 +32,9 @@ const MIN_ACCESSIBLE_DIM = 44; // the icon with `size` const INatIconButton = ( { accessibilityLabel, + children, color, + disabled = false, height = 44, icon, onPress, @@ -58,6 +62,8 @@ const INatIconButton = ( { [ { @@ -97,7 +103,15 @@ const INatIconButton = ( { }} /> )} - + { + children || ( + + ) + } ); diff --git a/src/components/SharedComponents/DisplayTaxonName.js b/src/components/SharedComponents/DisplayTaxonName.js index b5d2d31c6..2d5ef6f0b 100644 --- a/src/components/SharedComponents/DisplayTaxonName.js +++ b/src/components/SharedComponents/DisplayTaxonName.js @@ -105,7 +105,7 @@ const DisplayTaxonName = ( { ); } ); - if ( rankLevel > 10 ) { + if ( rank && rankLevel > 10 ) { scientificNameComponent.unshift( `${rank} ` ); } diff --git a/src/components/SharedComponents/INatIcon/glyphmap.json b/src/components/SharedComponents/INatIcon/glyphmap.json index be5e3bb41..c200bac7f 100644 --- a/src/components/SharedComponents/INatIcon/glyphmap.json +++ b/src/components/SharedComponents/INatIcon/glyphmap.json @@ -9,80 +9,94 @@ "arrow-up-circle-dots": 61704, "arrow-up-small": 61705, "arrow-up": 61706, - "binoculars": 61707, - "book": 61708, - "briefcase": 61709, - "camera": 61710, - "check": 61711, - "checkmark-circle-outline": 61712, - "checkmark-circle": 61713, - "chevron-left-circle": 61714, - "chevron-left": 61715, - "chevron-right-circle": 61716, - "circle-dots": 61717, - "clock-outline": 61718, - "close-bold": 61719, - "close": 61720, - "comments-outline": 61721, - "comments": 61722, - "compass-rose-outline": 61723, - "copyright": 61724, - "crop": 61725, - "door-exit": 61726, - "flag": 61727, - "flash-off": 61728, - "flash-on": 61729, - "flip": 61730, - "gallery": 61731, - "gear": 61732, - "globe-outline": 61733, - "grid-square": 61734, - "grid": 61735, - "hamburger-menu": 61736, - "heart": 61737, - "help-circle-outline": 61738, - "help-circle": 61739, - "help": 61740, - "id-agree": 61741, - "inaturalist": 61742, - "info-circle-outline": 61743, - "kebab-menu": 61744, - "label-outline": 61745, - "label": 61746, - "laptop": 61747, - "layers": 61748, - "leaf": 61749, - "list-square": 61750, - "location-crosshairs": 61751, - "magnifying-glass": 61752, - "map-marker-outline": 61753, - "microphone-circle": 61754, - "microphone": 61755, - "noevidence": 61756, - "notifications-bell": 61757, - "pause-circle": 61758, - "pencil-outline": 61759, - "pencil": 61760, - "person": 61761, - "photos-outline": 61762, - "photos": 61763, - "play-circle": 61764, - "play": 61765, - "plus-bold": 61766, - "plus": 61767, - "pot-outline": 61768, - "rotate-exclamation": 61769, - "rotate-right": 61770, - "rotate": 61771, - "sliders": 61772, - "sound-bold-outline": 61773, - "sound-outline": 61774, - "sounds": 61775, - "sparkly-label": 61776, - "star-bold-outline": 61777, - "star": 61778, - "trash-outline": 61779, - "trash": 61780, - "triangle-exclamation": 61781, - "withdraw-id": 61782 + "ban": 61707, + "binoculars": 61708, + "book": 61709, + "briefcase": 61710, + "camera": 61711, + "check": 61712, + "checkmark-circle-outline": 61713, + "checkmark-circle": 61714, + "chevron-left-circle": 61715, + "chevron-left": 61716, + "chevron-right-circle": 61717, + "circle-dots": 61718, + "clock-outline": 61719, + "close-bold": 61720, + "close": 61721, + "comments-outline": 61722, + "comments": 61723, + "compass-rose-outline": 61724, + "copyright": 61725, + "crop": 61726, + "door-exit": 61727, + "flag": 61728, + "flash-off": 61729, + "flash-on": 61730, + "flip": 61731, + "gallery": 61732, + "gear": 61733, + "globe-outline": 61734, + "grid-square": 61735, + "grid": 61736, + "hamburger-menu": 61737, + "heart": 61738, + "help-circle-outline": 61739, + "help-circle": 61740, + "help": 61741, + "iconic-actinopterygii": 61742, + "iconic-amphibia": 61743, + "iconic-animalia": 61744, + "iconic-arachnida": 61745, + "iconic-aves": 61746, + "iconic-chromista": 61747, + "iconic-fungi": 61748, + "iconic-insecta": 61749, + "iconic-mammalia": 61750, + "iconic-mollusica": 61751, + "iconic-plantae": 61752, + "iconic-protozoa": 61753, + "iconic-reptilia": 61754, + "iconic-unknown": 61755, + "id-agree": 61756, + "inaturalist": 61757, + "info-circle-outline": 61758, + "kebab-menu": 61759, + "label-outline": 61760, + "label": 61761, + "laptop": 61762, + "layers": 61763, + "leaf": 61764, + "list-square": 61765, + "location-crosshairs": 61766, + "magnifying-glass": 61767, + "map-marker-outline": 61768, + "microphone-circle": 61769, + "microphone": 61770, + "noevidence": 61771, + "notifications-bell": 61772, + "pause-circle": 61773, + "pencil-outline": 61774, + "pencil": 61775, + "person": 61776, + "photos-outline": 61777, + "photos": 61778, + "play-circle": 61779, + "play": 61780, + "plus-bold": 61781, + "plus": 61782, + "pot-outline": 61783, + "rotate-exclamation": 61784, + "rotate-right": 61785, + "rotate": 61786, + "sliders": 61787, + "sound-bold-outline": 61788, + "sound-outline": 61789, + "sounds": 61790, + "sparkly-label": 61791, + "star-bold-outline": 61792, + "star": 61793, + "trash-outline": 61794, + "trash": 61795, + "triangle-exclamation": 61796 } \ No newline at end of file diff --git a/src/images/icons/withdraw-id.svg b/src/images/icons/ban.svg similarity index 100% rename from src/images/icons/withdraw-id.svg rename to src/images/icons/ban.svg diff --git a/src/images/icons/door-exit.svg b/src/images/icons/door-exit.svg index b9d7e00e7..da714fb3f 100644 --- a/src/images/icons/door-exit.svg +++ b/src/images/icons/door-exit.svg @@ -1,4 +1,4 @@ - + diff --git a/src/images/icons/gear.svg b/src/images/icons/gear.svg index 7aabb720f..1d4d5fde5 100644 --- a/src/images/icons/gear.svg +++ b/src/images/icons/gear.svg @@ -1,4 +1,4 @@ - + diff --git a/src/images/icons/help-circle.svg b/src/images/icons/help-circle.svg index 8b6fabbca..ff12b0076 100644 --- a/src/images/icons/help-circle.svg +++ b/src/images/icons/help-circle.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/src/images/icons/iconic-actinopterygii.svg b/src/images/icons/iconic-actinopterygii.svg new file mode 100644 index 000000000..41953752f --- /dev/null +++ b/src/images/icons/iconic-actinopterygii.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-amphibia.svg b/src/images/icons/iconic-amphibia.svg new file mode 100644 index 000000000..a9af08820 --- /dev/null +++ b/src/images/icons/iconic-amphibia.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-animalia.svg b/src/images/icons/iconic-animalia.svg new file mode 100644 index 000000000..798ede45e --- /dev/null +++ b/src/images/icons/iconic-animalia.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-arachnida.svg b/src/images/icons/iconic-arachnida.svg new file mode 100644 index 000000000..deb2a5d82 --- /dev/null +++ b/src/images/icons/iconic-arachnida.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-aves.svg b/src/images/icons/iconic-aves.svg new file mode 100644 index 000000000..f15e30801 --- /dev/null +++ b/src/images/icons/iconic-aves.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/images/icons/iconic-chromista.svg b/src/images/icons/iconic-chromista.svg new file mode 100644 index 000000000..3acf1f133 --- /dev/null +++ b/src/images/icons/iconic-chromista.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-fungi.svg b/src/images/icons/iconic-fungi.svg new file mode 100644 index 000000000..728fe6680 --- /dev/null +++ b/src/images/icons/iconic-fungi.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-insecta.svg b/src/images/icons/iconic-insecta.svg new file mode 100644 index 000000000..cf1117468 --- /dev/null +++ b/src/images/icons/iconic-insecta.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-mammalia.svg b/src/images/icons/iconic-mammalia.svg new file mode 100644 index 000000000..9bfa359ba --- /dev/null +++ b/src/images/icons/iconic-mammalia.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-mollusica.svg b/src/images/icons/iconic-mollusica.svg new file mode 100644 index 000000000..27fea3e8f --- /dev/null +++ b/src/images/icons/iconic-mollusica.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-plantae.svg b/src/images/icons/iconic-plantae.svg new file mode 100644 index 000000000..0495ccee2 --- /dev/null +++ b/src/images/icons/iconic-plantae.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/images/icons/iconic-protozoa.svg b/src/images/icons/iconic-protozoa.svg new file mode 100644 index 000000000..beb624c25 --- /dev/null +++ b/src/images/icons/iconic-protozoa.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-reptilia.svg b/src/images/icons/iconic-reptilia.svg new file mode 100644 index 000000000..88844ee06 --- /dev/null +++ b/src/images/icons/iconic-reptilia.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/images/icons/iconic-unknown.svg b/src/images/icons/iconic-unknown.svg new file mode 100644 index 000000000..f9af8d80a --- /dev/null +++ b/src/images/icons/iconic-unknown.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/sharedHelpers/taxon.js b/src/sharedHelpers/taxon.js index 38ab8ecf3..2e2e0b55c 100644 --- a/src/sharedHelpers/taxon.js +++ b/src/sharedHelpers/taxon.js @@ -97,7 +97,7 @@ export const capitalizeCommonName = name => { export const generateTaxonPieces = taxon => { const taxonData = {}; - taxonData.rank = capitalize( taxon.rank ); + if ( taxon.rank ) taxonData.rank = capitalize( taxon.rank ); taxonData.rankLevel = taxon.rank_level; // Logic follows the SplitTaxon component from web diff --git a/src/sharedHooks/useUserLocation.js b/src/sharedHooks/useUserLocation.js index daba3ec51..fe00b694f 100644 --- a/src/sharedHooks/useUserLocation.js +++ b/src/sharedHooks/useUserLocation.js @@ -10,6 +10,9 @@ type Props = { skipPlaceGuess?: bool } +// Max time to wait while fetching current location +const CURRENT_LOCATION_TIMEOUT_MS = 30000; + const useUserLocation = ( { skipPlaceGuess = false }: Props ): Object => { const [latLng, setLatLng] = useState( null ); const [isLoading, setIsLoading] = useState( true ); @@ -58,7 +61,11 @@ const useUserLocation = ( { skipPlaceGuess = false }: Props ): Object => { setIsLoading( false ); }; - const options = { enableHighAccuracy: true, maximumAge: 0 }; + const options = { + enableHighAccuracy: true, + maximumAge: 0, + timeout: CURRENT_LOCATION_TIMEOUT_MS + }; Geolocation.getCurrentPosition( success, failure, options ); }; diff --git a/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/ActivityCount.test.js.snap b/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/ActivityCount.test.js.snap index 1f703563a..61167b2ce 100644 --- a/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/ActivityCount.test.js.snap +++ b/tests/unit/components/SharedComponents/ActivityCount/__snapshots__/ActivityCount.test.js.snap @@ -36,7 +36,7 @@ exports[`ActivityCount renders reliably 1`] = ` ] } > -  +  - -  - - - 1 - -
-`; - -exports[`CommentsCount renders filled reliably 1`] = ` `; +exports[`CommentsCount renders filled reliably 1`] = ` + + +  + + + 1 + + +`; + exports[`CommentsCount renders white reliably 1`] = ` -  +  -  +  -  +  -  +  -  +  diff --git a/tests/unit/components/SharedComponents/InlineUser/__snapshots__/InlineUser.test.js.snap b/tests/unit/components/SharedComponents/InlineUser/__snapshots__/InlineUser.test.js.snap index ba20cca70..721f61085 100644 --- a/tests/unit/components/SharedComponents/InlineUser/__snapshots__/InlineUser.test.js.snap +++ b/tests/unit/components/SharedComponents/InlineUser/__snapshots__/InlineUser.test.js.snap @@ -174,7 +174,7 @@ exports[`InlineUser when offline renders reliably 1`] = ` } testID="InlineUser.NoInternetPicture" > -  +  -  +  -  +  diff --git a/tests/unit/components/__snapshots__/INatIcon.test.js.snap b/tests/unit/components/__snapshots__/INatIcon.test.js.snap index dfae288d0..40215ecd6 100644 --- a/tests/unit/components/__snapshots__/INatIcon.test.js.snap +++ b/tests/unit/components/__snapshots__/INatIcon.test.js.snap @@ -20,6 +20,6 @@ exports[`INatIcon renders correctly 1`] = ` ] } > -  +  `;