diff --git a/.buckconfig b/.buckconfig index 934256cb..a441a914 100644 --- a/.buckconfig +++ b/.buckconfig @@ -3,4 +3,4 @@ target = Google Inc.:Google APIs:23 [maven_repositories] - central = https://repo1.maven.org/maven2 + central = https://repo1.maven.org/maven2 \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 1646571e..6b3286d2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,7 @@ module.exports = { - extends: [ - '@apollosproject/eslint-config/client', - ], -} - + root: true, + extends: ['@react-native-community', 'plugin:react/jsx-runtime'], + env: { + 'jest/globals': true, + }, +}; diff --git a/.flowconfig b/.flowconfig new file mode 100644 index 00000000..005d5c4b --- /dev/null +++ b/.flowconfig @@ -0,0 +1,65 @@ +[ignore] +; We fork some components by platform +.*/*[.]android.js + +; Ignore "BUCK" generated dirs +/\.buckd/ + +; Ignore polyfills +node_modules/react-native/Libraries/polyfills/.* + +; Flow doesn't support platforms +.*/Libraries/Utilities/LoadingView.js + +[untyped] +.*/node_modules/@react-native-community/cli/.*/.* + +[include] + +[libs] +node_modules/react-native/interface.js +node_modules/react-native/flow/ + +[options] +emoji=true + +exact_by_default=true + +format.bracket_spacing=false + +module.file_ext=.js +module.file_ext=.json +module.file_ext=.ios.js + +munge_underscores=true + +module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1' +module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub' + +suppress_type=$FlowIssue +suppress_type=$FlowFixMe +suppress_type=$FlowFixMeProps +suppress_type=$FlowFixMeState + +[lints] +sketchy-null-number=warn +sketchy-null-mixed=warn +sketchy-number=warn +untyped-type-import=warn +nonstrict-import=warn +deprecated-type=warn +unsafe-getters-setters=warn +unnecessary-invariant=warn +signature-verification-failure=warn + +[strict] +deprecated-type +nonstrict-import +sketchy-null +unclear-type +unsafe-getters-setters +untyped-import +untyped-type-import + +[version] +^0.158.0 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index d42ff183..59b845bf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ -*.pbxproj -text +# Windows files should use crlf line endings +# https://help.github.com/articles/dealing-with-line-endings/ +*.bat text eol=crlf \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4a3e57f0..51202e61 100644 --- a/.gitignore +++ b/.gitignore @@ -115,6 +115,7 @@ keystore.properties apolloskeystoreupload.keystore local.properties *.iml +*.hprof # Xcode build/ @@ -133,7 +134,6 @@ DerivedData *.hmap *.ipa *.xcuserstate -project.xcworkspace # misc .env.local @@ -148,7 +148,11 @@ project.xcworkspace fastlane/report.xml # symbols -newspringchurchapp.app.dSYM.zip +*.app.dSYM.zip + +# iOS keys +push.pem +*.p8 # Google Play authentication key key.json @@ -158,5 +162,4 @@ key.json .env.shared # GraphQL info -schema.graphql -fragmentTypes.json +fragmentTypes.json \ No newline at end of file diff --git a/.prettier.js b/.prettier.js new file mode 100644 index 00000000..7321aa10 --- /dev/null +++ b/.prettier.js @@ -0,0 +1,7 @@ +module.exports = { + bracketSpacing: true, // custom for Apollos, RN defaults to 'false' + jsxBracketSameLine: false, // custom for Apollos, RN defaults to 'true' + singleQuote: true, + trailingComma: 'es5', // custom for Apollos, RN defaults to 'all' + arrowParens: 'always', // custom for Apollos, RN defaults to 'avoid' +}; \ No newline at end of file diff --git a/Gemfile b/Gemfile index 77041843..5c40ccb5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,3 @@ source 'https://rubygems.org' -gem 'cocoapods', '1.10.1' -gem 'fastlane', '2.179.0' +gem 'cocoapods', '1.11.2' +gem 'fastlane', '2.197.0' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 1dcfcf8a..7b6b4fc0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,41 +1,43 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.2) - activesupport (5.2.4.4) + CFPropertyList (3.0.5) + rexml + activesupport (6.1.4.1) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.7.0) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) artifactory (3.0.15) atomos (0.1.3) - aws-eventstream (1.1.1) - aws-partitions (1.443.0) - aws-sdk-core (3.113.1) + aws-eventstream (1.2.0) + aws-partitions (1.534.0) + aws-sdk-core (3.122.1) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) + aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.43.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-kms (1.51.0) + aws-sdk-core (~> 3, >= 3.122.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.93.0) - aws-sdk-core (~> 3, >= 3.112.0) + aws-sdk-s3 (1.106.0) + aws-sdk-core (~> 3, >= 3.122.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.3) + aws-sigv4 (~> 1.4) + aws-sigv4 (1.4.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.0.3) - cocoapods (1.10.1) - addressable (~> 2.6) + cocoapods (1.11.2) + addressable (~> 2.8) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.10.1) + cocoapods-core (= 1.11.2) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.4.0, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -46,65 +48,79 @@ GEM escape (~> 0.0.4) fourflusher (>= 2.3.0, < 3.0) gh_inspector (~> 1.0) - molinillo (~> 0.6.6) + molinillo (~> 0.8.0) nap (~> 1.0) - ruby-macho (~> 1.4) - xcodeproj (>= 1.19.0, < 2.0) - cocoapods-core (1.10.1) - activesupport (> 5.0, < 6) - addressable (~> 2.6) + ruby-macho (>= 1.0, < 3.0) + xcodeproj (>= 1.21.0, < 2.0) + cocoapods-core (1.11.2) + activesupport (>= 5.0, < 7) + addressable (~> 2.8) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) netrc (~> 0.11) - public_suffix + public_suffix (~> 4.0) typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.4.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (1.5.1) cocoapods-plugins (1.0.0) nap - cocoapods-search (1.0.0) - cocoapods-trunk (1.5.0) + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.2.0) colored (1.2) colored2 (3.1.2) - commander-fastlane (4.4.6) - highline (~> 1.7.2) - concurrent-ruby (1.1.8) + commander (4.6.0) + highline (~> 2.0.0) + concurrent-ruby (1.1.9) declarative (0.0.20) - digest-crc (0.6.3) + digest-crc (0.6.4) rake (>= 12.0.0, < 14.0.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (2.7.6) - emoji_regex (3.2.2) + emoji_regex (3.2.3) escape (0.0.4) - ethon (0.12.0) - ffi (>= 1.3.0) - excon (0.79.0) - faraday (1.3.0) + ethon (0.15.0) + ffi (>= 1.15.0) + excon (0.88.0) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) multipart-post (>= 1.2, < 3) - ruby2_keywords + ruby2_keywords (>= 0.0.4) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) faraday-net_http (1.0.1) - faraday_middleware (1.0.0) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.3) - fastlane (2.179.0) + fastimage (2.2.5) + fastlane (2.197.0) CFPropertyList (>= 2.3, < 4.0.0) - addressable (>= 2.3, < 3.0.0) + addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) aws-sdk-s3 (~> 1.0) babosa (>= 1.0.3, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) colored - commander-fastlane (>= 4.4.6, < 5.0.0) + commander (~> 4.6) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 4.0) excon (>= 0.71.0, < 1.0.0) @@ -113,19 +129,20 @@ GEM faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.37.0, < 0.39.0) - google-cloud-storage (>= 1.15.0, < 2.0.0) - highline (>= 1.7.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-storage (~> 1.31) + highline (~> 2.0) json (< 3.0.0) jwt (>= 2.1.0, < 3) mini_magick (>= 4.9.4, < 5.0.0) multipart-post (~> 2.0.0) naturally (~> 2.2) + optparse (~> 0.1.1) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.3) simctl (~> 1.6.3) - slack-notifier (>= 2.0.0, < 3.0.0) terminal-notifier (>= 2.0.0, < 3.0.0) terminal-table (>= 1.4.5, < 2.0.0) tty-screen (>= 0.6.3, < 1.0.0) @@ -134,134 +151,130 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - ffi (1.14.2) + ffi (1.15.4) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - google-api-client (0.38.0) - addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.9) - httpclient (>= 2.8.1, < 3.0) - mini_mime (~> 1.0) - representable (~> 3.0) - retriable (>= 2.0, < 4.0) - signet (~> 0.12) - google-apis-core (0.3.0) + google-apis-androidpublisher_v3 (0.13.0) + google-apis-core (>= 0.4, < 2.a) + google-apis-core (0.4.1) addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.14) - httpclient (>= 2.8.1, < 3.0) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) mini_mime (~> 1.0) representable (~> 3.0) - retriable (>= 2.0, < 4.0) + retriable (>= 2.0, < 4.a) rexml - signet (~> 0.14) webrick - google-apis-iamcredentials_v1 (0.3.0) - google-apis-core (~> 0.1) - google-apis-storage_v1 (0.3.0) - google-apis-core (~> 0.1) + google-apis-iamcredentials_v1 (0.8.0) + google-apis-core (>= 0.4, < 2.a) + google-apis-playcustomapp_v1 (0.6.0) + google-apis-core (>= 0.4, < 2.a) + google-apis-storage_v1 (0.9.0) + google-apis-core (>= 0.4, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) google-cloud-env (1.5.0) faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.1.0) - google-cloud-storage (1.31.0) + google-cloud-errors (1.2.0) + google-cloud-storage (1.34.1) addressable (~> 2.5) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) google-apis-storage_v1 (~> 0.1) - google-cloud-core (~> 1.2) - googleauth (~> 0.9) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (0.16.1) + googleauth (1.1.0) faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) - signet (~> 0.14) - highline (1.7.10) - http-cookie (1.0.3) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.4) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.8.8) + i18n (1.8.11) concurrent-ruby (~> 1.0) jmespath (1.4.0) - json (2.3.1) - jwt (2.2.2) + json (2.6.1) + jwt (2.3.0) memoist (0.16.2) mini_magick (4.11.0) - mini_mime (1.1.0) - minitest (5.14.3) - molinillo (0.6.6) + mini_mime (1.1.2) + minitest (5.14.4) + molinillo (0.8.0) multi_json (1.15.0) multipart-post (2.0.0) nanaimo (0.3.0) nap (1.1.0) naturally (2.2.1) netrc (0.11.0) - os (1.1.1) + optparse (0.1.1) + os (1.1.4) plist (3.6.0) public_suffix (4.0.6) - rake (13.0.3) - representable (3.1.0) + rake (13.0.6) + representable (3.1.1) declarative (< 0.1.0) - trailblazer-option (~> 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) rexml (3.2.5) rouge (2.0.7) - ruby-macho (1.4.0) - ruby2_keywords (0.0.4) - rubyzip (2.3.0) + ruby-macho (2.5.1) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) security (0.1.3) - signet (0.15.0) - addressable (~> 2.3) + signet (0.16.0) + addressable (~> 2.8) faraday (>= 0.17.3, < 2.0) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simctl (1.6.8) CFPropertyList naturally - slack-notifier (2.3.2) terminal-notifier (2.0.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - trailblazer-option (0.1.0) + trailblazer-option (0.1.2) tty-cursor (0.7.1) tty-screen (0.8.1) tty-spinner (0.9.3) tty-cursor (~> 0.7) typhoeus (1.4.0) ethon (>= 0.9.0) - tzinfo (1.2.9) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) + unf_ext (0.0.8) + unicode-display_width (1.8.0) webrick (1.7.0) word_wrap (1.0.0) - xcodeproj (1.19.0) + xcodeproj (1.21.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) nanaimo (~> 0.3.0) + rexml (~> 3.2.4) xcpretty (0.3.0) rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) + zeitwerk (2.5.1) PLATFORMS - ruby + x86_64-darwin-20 DEPENDENCIES - cocoapods (= 1.10.1) - fastlane (= 2.179.0) + cocoapods (= 1.11.2) + fastlane (= 2.197.0) BUNDLED WITH - 2.1.4 + 2.2.21 diff --git a/index.js b/index.js index 37626845..2130b4e7 100644 --- a/index.js +++ b/index.js @@ -1,11 +1,6 @@ import './loadConfig'; -import { AppRegistry, YellowBox } from 'react-native'; +import { AppRegistry } from 'react-native'; const App = require('./src').default; -YellowBox.ignoreWarnings([ - 'Warning: isMounted(...) is deprecated', - 'Module RCTImageLoader', -]); - -AppRegistry.registerComponent('newspringchurchapp', () => App); +AppRegistry.registerComponent('apolloschurchapp', () => App); diff --git a/ios/Podfile b/ios/Podfile index e7258a40..ff72172b 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,17 +1,20 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' -platform :ios, '10.0' +platform :ios, '11.0' target 'newspringchurchapp' do config = use_native_modules! - use_react_native!(:path => config["reactNativePath"]) + use_react_native!( + :path => config[:reactNativePath], + # to enable hermes on iOS, change `false` to `true` and then install pods + :hermes_enabled => true + ) permissions_path = '../node_modules/react-native-permissions/ios' pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec" pod 'Permission-Notifications', :path => "#{permissions_path}/Notifications.podspec" - # pod 'react-native-google-cast/NoBluetooth', path: '../node_modules/react-native-google-cast/ios/' target 'newspringchurchappTests' do inherit! :complete @@ -21,31 +24,22 @@ target 'newspringchurchapp' do # Enables Flipper. # # Note that if you have use_frameworks! enabled, Flipper will not work and - # you should disable these next few lines. - use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1') + # you should disable the next line. + use_flipper!() post_install do |installer| - flipper_post_install(installer) - installer.pods_project.targets.each do |target| - if target.name == 'react-native-config' - phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase) - phase.shell_script = "cd ../../"\ - " && RNC_ROOT=./node_modules/react-native-config/"\ - " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\ - " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby" - - target.build_phases << phase - target.build_phases.move(phase,0) - end - end - end -end - -target 'newspringchurchapp-tvOS' do - # Pods for newspringchurchapp-tvOS - - target 'newspringchurchapp-tvOSTests' do - inherit! :complete - # Pods for testing + react_native_post_install(installer) + __apply_Xcode_12_5_M1_post_install_workaround(installer) + installer.pods_project.targets.each do |target| + if target.name == 'react-native-config' + phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase) + phase.shell_script = "cd ../../"\ + " && RNC_ROOT=./node_modules/react-native-config/"\ + " && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\ + " && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby" + + target.build_phases << phase + target.build_phases.move(phase,0) + end + end end - end diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d4109b5c..d25017fd 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,275 +1,303 @@ PODS: - - Amplitude-iOS (4.3.1) - - appcenter-analytics (4.0.2): - - AppCenter/Analytics (~> 4.0) - - AppCenterReactNativeShared (~> 4.0) - - React-Core - - appcenter-core (4.0.2): - - AppCenterReactNativeShared (~> 4.0) - - React-Core - - appcenter-crashes (4.0.2): - - AppCenter/Crashes (~> 4.0) - - AppCenterReactNativeShared (~> 4.0) - - React-Core - - AppCenter/Analytics (4.1.0): - - AppCenter/Core - - AppCenter/Core (4.1.0) - - AppCenter/Crashes (4.1.0): - - AppCenter/Core - - AppCenterReactNativeShared (4.0.2): - - AppCenter/Core (= 4.1.0) - - AstronomerAnalytics (3.6.9) - - boost-for-react-native (1.63.0) - - BugsnagReactNative (7.5.6): - - React + - boost (1.76.0) - BVLinearGradient (2.5.6): - React - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.63.4) - - FBReactNativeSpec (0.63.4): - - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.4) - - RCTTypeSafety (= 0.63.4) - - React-Core (= 0.63.4) - - React-jsi (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - Flipper (0.75.1): - - Flipper-Folly (~> 2.5) - - Flipper-RSocket (~> 1.3) - - Flipper-DoubleConversion (1.1.7) - - Flipper-Folly (2.5.3): - - boost-for-react-native + - FBLazyVector (0.66.1) + - FBReactNativeSpec (0.66.1): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.66.1) + - RCTTypeSafety (= 0.66.1) + - React-Core (= 0.66.1) + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - Flipper (0.99.0): + - Flipper-Folly (~> 2.6) + - Flipper-RSocket (~> 1.4) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (3.1.7) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.7): + - Flipper-Boost-iOSX - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) - Flipper-Glog - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.180) - Flipper-Glog (0.3.6) - Flipper-PeerTalk (0.0.4) - - Flipper-RSocket (1.3.1): - - Flipper-Folly (~> 2.5) - - FlipperKit (0.75.1): - - FlipperKit/Core (= 0.75.1) - - FlipperKit/Core (0.75.1): - - Flipper (~> 0.75.1) + - Flipper-RSocket (1.4.3): + - Flipper-Folly (~> 2.6) + - FlipperKit (0.99.0): + - FlipperKit/Core (= 0.99.0) + - FlipperKit/Core (0.99.0): + - Flipper (~> 0.99.0) - FlipperKit/CppBridge - FlipperKit/FBCxxFollyDynamicConvert - FlipperKit/FBDefines - FlipperKit/FKPortForwarding - - FlipperKit/CppBridge (0.75.1): - - Flipper (~> 0.75.1) - - FlipperKit/FBCxxFollyDynamicConvert (0.75.1): - - Flipper-Folly (~> 2.5) - - FlipperKit/FBDefines (0.75.1) - - FlipperKit/FKPortForwarding (0.75.1): + - FlipperKit/CppBridge (0.99.0): + - Flipper (~> 0.99.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.99.0): + - Flipper-Folly (~> 2.6) + - FlipperKit/FBDefines (0.99.0) + - FlipperKit/FKPortForwarding (0.99.0): - CocoaAsyncSocket (~> 7.6) - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.75.1) - - FlipperKit/FlipperKitLayoutPlugin (0.75.1): + - FlipperKit/FlipperKitHighlightOverlay (0.99.0) + - FlipperKit/FlipperKitLayoutHelpers (0.99.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutTextSearchable + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.99.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.75.1) - - FlipperKit/FlipperKitNetworkPlugin (0.75.1): + - FlipperKit/FlipperKitLayoutPlugin (0.99.0): - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.75.1): + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - FlipperKit/FlipperKitLayoutIOSDescriptors + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.99.0) + - FlipperKit/FlipperKitNetworkPlugin (0.99.0): - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.75.1): + - FlipperKit/FlipperKitReactPlugin (0.99.0): - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.75.1): + - FlipperKit/FlipperKitUserDefaultsPlugin (0.99.0): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.99.0): - FlipperKit/Core - FlipperKit/FlipperKitNetworkPlugin - - Folly (2020.01.13.00): - - boost-for-react-native - - DoubleConversion - - Folly/Default (= 2020.01.13.00) - - glog - - Folly/Default (2020.01.13.00): - - boost-for-react-native - - DoubleConversion - - glog + - fmt (6.2.1) - glog (0.3.5) - - google-cast-sdk (4.3.0): - - google-cast-sdk/Core (= 4.3.0) - - google-cast-sdk/Core (4.3.0) + - hermes-engine (0.9.0) - libevent (2.1.12) - - OneSignal (2.15.2) + - OneSignal (3.4.3) - OpenSSL-Universal (1.1.180) - - Permission-Notifications (2.1.2): + - Permission-Notifications (2.2.2): - RNPermissions - - Permission-PhotoLibrary (2.1.2): + - Permission-PhotoLibrary (2.2.2): - RNPermissions - - RCTRequired (0.63.4) - - RCTTypeSafety (0.63.4): - - FBLazyVector (= 0.63.4) - - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.4) - - React-Core (= 0.63.4) - - React (0.63.4): - - React-Core (= 0.63.4) - - React-Core/DevSupport (= 0.63.4) - - React-Core/RCTWebSocket (= 0.63.4) - - React-RCTActionSheet (= 0.63.4) - - React-RCTAnimation (= 0.63.4) - - React-RCTBlob (= 0.63.4) - - React-RCTImage (= 0.63.4) - - React-RCTLinking (= 0.63.4) - - React-RCTNetwork (= 0.63.4) - - React-RCTSettings (= 0.63.4) - - React-RCTText (= 0.63.4) - - React-RCTVibration (= 0.63.4) - - React-callinvoker (0.63.4) - - React-Core (0.63.4): - - Folly (= 2020.01.13.00) + - RCT-Folly (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Default (= 2021.06.28.00-v2) + - RCT-Folly/Default (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) - glog - - React-Core/Default (= 0.63.4) - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - RCT-Folly/Futures (2021.06.28.00-v2): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent + - RCTRequired (0.66.1) + - RCTTypeSafety (0.66.1): + - FBLazyVector (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.66.1) + - React-Core (= 0.66.1) + - React (0.66.1): + - React-Core (= 0.66.1) + - React-Core/DevSupport (= 0.66.1) + - React-Core/RCTWebSocket (= 0.66.1) + - React-RCTActionSheet (= 0.66.1) + - React-RCTAnimation (= 0.66.1) + - React-RCTBlob (= 0.66.1) + - React-RCTImage (= 0.66.1) + - React-RCTLinking (= 0.66.1) + - React-RCTNetwork (= 0.66.1) + - React-RCTSettings (= 0.66.1) + - React-RCTText (= 0.66.1) + - React-RCTVibration (= 0.66.1) + - React-callinvoker (0.66.1) + - React-Core (0.66.1): + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.1) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/CoreModulesHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/CoreModulesHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/Default (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/Default (0.66.1): - glog - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/DevSupport (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/DevSupport (0.66.1): - glog - - React-Core/Default (= 0.63.4) - - React-Core/RCTWebSocket (= 0.63.4) - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) - - React-jsinspector (= 0.63.4) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.1) + - React-Core/RCTWebSocket (= 0.66.1) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-jsinspector (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTActionSheetHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTAnimationHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTAnimationHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTBlobHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTBlobHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTImageHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTImageHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTLinkingHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTLinkingHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTNetworkHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTNetworkHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTSettingsHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTSettingsHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTTextHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTTextHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTVibrationHeaders (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTVibrationHeaders (0.66.1): - glog + - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-Core/RCTWebSocket (0.63.4): - - Folly (= 2020.01.13.00) + - React-Core/RCTWebSocket (0.66.1): - glog - - React-Core/Default (= 0.63.4) - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsiexecutor (= 0.63.4) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/Default (= 0.66.1) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-perflogger (= 0.66.1) - Yoga - - React-CoreModules (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.4) - - React-Core/CoreModulesHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - React-RCTImage (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-cxxreact (0.63.4): - - boost-for-react-native (= 1.63.0) + - React-CoreModules (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.1) + - React-Core/CoreModulesHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - React-RCTImage (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-cxxreact (0.66.1): + - boost (= 1.76.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.4) - - React-jsinspector (= 0.63.4) - - React-jsi (0.63.4): - - boost-for-react-native (= 1.63.0) + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsinspector (= 0.66.1) + - React-logger (= 0.66.1) + - React-perflogger (= 0.66.1) + - React-runtimeexecutor (= 0.66.1) + - React-hermes (0.66.1): - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-jsi/Default (= 0.63.4) - - React-jsi/Default (0.63.4): - - boost-for-react-native (= 1.63.0) + - hermes-engine + - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly/Futures (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-jsiexecutor (= 0.66.1) + - React-jsinspector (= 0.66.1) + - React-perflogger (= 0.66.1) + - React-jsi (0.66.1): + - boost (= 1.76.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-jsiexecutor (0.63.4): + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsi/Default (= 0.66.1) + - React-jsi/Default (0.66.1): + - boost (= 1.76.0) - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) - - React-jsinspector (0.63.4) - - react-native-amplitude-analytics (0.2.7): - - Amplitude-iOS (~> 4.3.1) - - React - - react-native-apollos-player (2.11.0): + - RCT-Folly (= 2021.06.28.00-v2) + - React-jsiexecutor (0.66.1): + - DoubleConversion + - glog + - RCT-Folly (= 2021.06.28.00-v2) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-perflogger (= 0.66.1) + - React-jsinspector (0.66.1) + - React-logger (0.66.1): + - glog + - react-native-apollos-player (2.39.0): - React - react-native-config (0.11.7): - React @@ -277,128 +305,121 @@ PODS: - React - react-native-geolocation-service (5.2.0): - React - - react-native-google-cast (3.4.1): - - React - - react-native-google-cast/Default (= 3.4.1) - - react-native-google-cast/Default (3.4.1): - - google-cast-sdk - - React - - react-native-google-cast/RNGoogleCast - - react-native-google-cast/RNGoogleCast (3.4.1): - - React - - react-native-image-picker (3.2.1): + - react-native-image-picker (3.8.1): - React-Core - react-native-maps (0.27.1): - React - - react-native-music-control (0.10.8): - - React - - react-native-onesignal (3.9.1): - - OneSignal (= 2.15.2) + - react-native-music-control (1.4.0): + - React-Core + - react-native-onesignal (4.0.8): + - OneSignal (= 3.4.3) - React (< 1.0.0, >= 0.13.0) - react-native-passkit-wallet (0.1.4): - React - react-native-safari-view (1.0.0): - React - - react-native-safe-area-context (3.1.9): + - react-native-safe-area-context (3.3.2): - React-Core - react-native-splash-screen (3.2.0): - React - - react-native-video (5.0.2): - - React - - react-native-video/Video (= 5.0.2) - - react-native-video/Video (5.0.2): - - React - - react-native-webview (7.6.0): - - React - - React-RCTActionSheet (0.63.4): - - React-Core/RCTActionSheetHeaders (= 0.63.4) - - React-RCTAnimation (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.4) - - React-Core/RCTAnimationHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-RCTBlob (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.63.4) - - React-Core/RCTWebSocket (= 0.63.4) - - React-jsi (= 0.63.4) - - React-RCTNetwork (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-RCTImage (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.4) - - React-Core/RCTImageHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - React-RCTNetwork (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-RCTLinking (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - React-Core/RCTLinkingHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-RCTNetwork (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.4) - - React-Core/RCTNetworkHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-RCTSettings (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.4) - - React-Core/RCTSettingsHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - React-RCTText (0.63.4): - - React-Core/RCTTextHeaders (= 0.63.4) - - React-RCTVibration (0.63.4): - - FBReactNativeSpec (= 0.63.4) - - Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.63.4) - - React-jsi (= 0.63.4) - - ReactCommon/turbomodule/core (= 0.63.4) - - ReactCommon/turbomodule/core (0.63.4): + - react-native-video (5.2.0): + - React-Core + - react-native-video/Video (= 5.2.0) + - react-native-video/Video (5.2.0): + - React-Core + - react-native-webview (11.14.3): + - React-Core + - React-perflogger (0.66.1) + - React-RCTActionSheet (0.66.1): + - React-Core/RCTActionSheetHeaders (= 0.66.1) + - React-RCTAnimation (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.1) + - React-Core/RCTAnimationHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-RCTBlob (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTBlobHeaders (= 0.66.1) + - React-Core/RCTWebSocket (= 0.66.1) + - React-jsi (= 0.66.1) + - React-RCTNetwork (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-RCTImage (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.1) + - React-Core/RCTImageHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - React-RCTNetwork (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-RCTLinking (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - React-Core/RCTLinkingHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-RCTNetwork (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.1) + - React-Core/RCTNetworkHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-RCTSettings (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.66.1) + - React-Core/RCTSettingsHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-RCTText (0.66.1): + - React-Core/RCTTextHeaders (= 0.66.1) + - React-RCTVibration (0.66.1): + - FBReactNativeSpec (= 0.66.1) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTVibrationHeaders (= 0.66.1) + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (= 0.66.1) + - React-runtimeexecutor (0.66.1): + - React-jsi (= 0.66.1) + - ReactCommon/turbomodule/core (0.66.1): - DoubleConversion - - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.4) - - React-Core (= 0.63.4) - - React-cxxreact (= 0.63.4) - - React-jsi (= 0.63.4) + - RCT-Folly (= 2021.06.28.00-v2) + - React-callinvoker (= 0.66.1) + - React-Core (= 0.66.1) + - React-cxxreact (= 0.66.1) + - React-jsi (= 0.66.1) + - React-logger (= 0.66.1) + - React-perflogger (= 0.66.1) - rn-fetch-blob (0.10.16): - React-Core - RNAirplay (1.0.0): - React - - RNAnalytics (1.1.5): - - AstronomerAnalytics - - React - - RNCAsyncStorage (1.9.0): - - React - - RNCMaskedView (0.1.10): + - RNCAsyncStorage (1.12.1): + - React-Core + - RNCMaskedView (0.1.11): - React - - RNCPicker (1.9.10): + - RNCPicker (1.16.8): - React-Core - - RNDateTimePicker (3.0.4): + - RNDateTimePicker (3.5.2): - React-Core - RNDeviceInfo (4.0.1): - React - RNGestureHandler (1.10.3): - React-Core - - RNInAppBrowser (3.4.0): - - React - - RNPermissions (2.1.2): - - React - - RNReanimated (2.0.0): + - RNInAppBrowser (3.5.1): + - React-Core + - RNPermissions (2.2.2): + - React-Core + - RNReanimated (2.2.4): - DoubleConversion - FBLazyVector - FBReactNativeSpec - - Folly - glog + - RCT-Folly - RCTRequired - RCTTypeSafety - React @@ -422,7 +443,7 @@ PODS: - React-RCTVibration - ReactCommon/turbomodule/core - Yoga - - RNScreens (3.1.0): + - RNScreens (3.2.0): - React-Core - RNSVG (9.13.6): - React @@ -431,37 +452,38 @@ PODS: - Yoga (~> 1.14) DEPENDENCIES: - - appcenter-analytics (from `../node_modules/appcenter-analytics/ios`) - - appcenter-core (from `../node_modules/appcenter/ios`) - - appcenter-crashes (from `../node_modules/appcenter-crashes/ios`) - - "BugsnagReactNative (from `../node_modules/@bugsnag/react-native`)" + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) - - Flipper (= 0.75.1) - - Flipper-DoubleConversion (= 1.1.7) - - Flipper-Folly (= 2.5.3) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - Flipper (= 0.99.0) + - Flipper-Boost-iOSX (= 1.76.0.1.11) + - Flipper-DoubleConversion (= 3.1.7) + - Flipper-Fmt (= 7.1.7) + - Flipper-Folly (= 2.6.7) - Flipper-Glog (= 0.3.6) - - Flipper-PeerTalk (~> 0.0.4) - - Flipper-RSocket (= 1.3.1) - - FlipperKit (= 0.75.1) - - FlipperKit/Core (= 0.75.1) - - FlipperKit/CppBridge (= 0.75.1) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.75.1) - - FlipperKit/FBDefines (= 0.75.1) - - FlipperKit/FKPortForwarding (= 0.75.1) - - FlipperKit/FlipperKitHighlightOverlay (= 0.75.1) - - FlipperKit/FlipperKitLayoutPlugin (= 0.75.1) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.75.1) - - FlipperKit/FlipperKitNetworkPlugin (= 0.75.1) - - FlipperKit/FlipperKitReactPlugin (= 0.75.1) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.75.1) - - FlipperKit/SKIOSNetworkPlugin (= 0.75.1) - - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - Flipper-PeerTalk (= 0.0.4) + - Flipper-RSocket (= 1.4.3) + - FlipperKit (= 0.99.0) + - FlipperKit/Core (= 0.99.0) + - FlipperKit/CppBridge (= 0.99.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.99.0) + - FlipperKit/FBDefines (= 0.99.0) + - FlipperKit/FKPortForwarding (= 0.99.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.99.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.99.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.99.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.99.0) + - FlipperKit/FlipperKitReactPlugin (= 0.99.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.99.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.99.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (~> 0.9.0) + - libevent (~> 2.1.12) - Permission-Notifications (from `../node_modules/react-native-permissions/ios/Notifications.podspec`) - Permission-PhotoLibrary (from `../node_modules/react-native-permissions/ios/PhotoLibrary.podspec`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) @@ -471,15 +493,15 @@ DEPENDENCIES: - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - - react-native-amplitude-analytics (from `../node_modules/react-native-amplitude-analytics`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - "react-native-apollos-player (from `../node_modules/@apollosproject/ui-media-player`)" - react-native-config (from `../node_modules/react-native-config`) - "react-native-geolocation (from `../node_modules/@react-native-community/geolocation`)" - react-native-geolocation-service (from `../node_modules/react-native-geolocation-service`) - - react-native-google-cast (from `../node_modules/react-native-google-cast/ios`) - react-native-image-picker (from `../node_modules/react-native-image-picker`) - react-native-maps (from `../node_modules/react-native-maps`) - react-native-music-control (from `../node_modules/react-native-music-control`) @@ -490,6 +512,7 @@ DEPENDENCIES: - react-native-splash-screen (from `../node_modules/react-native-splash-screen`) - react-native-video (from `../node_modules/react-native-video`) - react-native-webview (from `../node_modules/react-native-webview`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) @@ -499,10 +522,10 @@ DEPENDENCIES: - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - rn-fetch-blob (from `../node_modules/rn-fetch-blob`) - "RNAirplay (from `../node_modules/@apollosproject/react-native-airplay-btn`)" - - "RNAnalytics (from `../node_modules/@metarouter/analytics-react-native`)" - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)" - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" @@ -518,34 +541,26 @@ DEPENDENCIES: SPEC REPOS: trunk: - - Amplitude-iOS - - AppCenter - - AppCenterReactNativeShared - - AstronomerAnalytics - - boost-for-react-native - CocoaAsyncSocket - Flipper + - Flipper-Boost-iOSX - Flipper-DoubleConversion + - Flipper-Fmt - Flipper-Folly - Flipper-Glog - Flipper-PeerTalk - Flipper-RSocket - FlipperKit - - google-cast-sdk + - fmt + - hermes-engine - libevent - OneSignal - OpenSSL-Universal - YogaKit EXTERNAL SOURCES: - appcenter-analytics: - :path: "../node_modules/appcenter-analytics/ios" - appcenter-core: - :path: "../node_modules/appcenter/ios" - appcenter-crashes: - :path: "../node_modules/appcenter-crashes/ios" - BugsnagReactNative: - :path: "../node_modules/@bugsnag/react-native" + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" BVLinearGradient: :path: "../node_modules/react-native-linear-gradient" DoubleConversion: @@ -553,15 +568,15 @@ EXTERNAL SOURCES: FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "../node_modules/react-native/Libraries/FBReactNativeSpec" - Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" + :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" Permission-Notifications: :path: "../node_modules/react-native-permissions/ios/Notifications.podspec" Permission-PhotoLibrary: :path: "../node_modules/react-native-permissions/ios/PhotoLibrary.podspec" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: :path: "../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: @@ -576,14 +591,16 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" React-jsi: :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: :path: "../node_modules/react-native/ReactCommon/jsinspector" - react-native-amplitude-analytics: - :path: "../node_modules/react-native-amplitude-analytics" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" react-native-apollos-player: :path: "../node_modules/@apollosproject/ui-media-player" react-native-config: @@ -592,8 +609,6 @@ EXTERNAL SOURCES: :path: "../node_modules/@react-native-community/geolocation" react-native-geolocation-service: :path: "../node_modules/react-native-geolocation-service" - react-native-google-cast: - :path: "../node_modules/react-native-google-cast/ios" react-native-image-picker: :path: "../node_modules/react-native-image-picker" react-native-maps: @@ -614,6 +629,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-video" react-native-webview: :path: "../node_modules/react-native-webview" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -632,14 +649,14 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: :path: "../node_modules/react-native/Libraries/Vibration" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: :path: "../node_modules/react-native/ReactCommon" rn-fetch-blob: :path: "../node_modules/rn-fetch-blob" RNAirplay: :path: "../node_modules/@apollosproject/react-native-airplay-btn" - RNAnalytics: - :path: "../node_modules/@metarouter/analytics-react-native" RNCAsyncStorage: :path: "../node_modules/@react-native-community/async-storage" RNCMaskedView: @@ -666,88 +683,84 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - Amplitude-iOS: df355e2be58972041acde9576a2ae97c217bf941 - AppCenter: 8832b158d17e54845c3b88a91076218f0b07174d - appcenter-analytics: f1bcf80219acb97acdabeda751a1591869f83dfd - appcenter-core: 92618da8986eef80bae39d1bb2b4c9fa0fc873bd - appcenter-crashes: 6fe933bbc9a1d2b64e451b348169640a9fea8729 - AppCenterReactNativeShared: e1db64e8c65dfdca495efd1a1f77892cbc21342b - AstronomerAnalytics: 36f48678a387e41481650edd6247c6c95d994131 - boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c - BugsnagReactNative: 1ac1129bdf95273df07cfe4d89750dc3d9d888a3 + boost: a7c83b31436843459a1961bfd74b96033dc77234 BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: cde416483dac037923206447da6e1454df403714 - FBLazyVector: 3bb422f41b18121b71783a905c10e58606f7dc3e - FBReactNativeSpec: f2c97f2529dd79c083355182cc158c9f98f4bd6e - Flipper: d3da1aa199aad94455ae725e9f3aa43f3ec17021 - Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 - Flipper-Folly: 755929a4f851b2fb2c347d533a23f191b008554c + DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 + FBLazyVector: 500821d196c3d1bd10e7e828bc93ce075234080f + FBReactNativeSpec: 74c869e2cffa2ffec685cd1bac6788c021da6005 + Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - Flipper-RSocket: 127954abe8b162fcaf68d2134d34dc2bd7076154 - FlipperKit: 8a20b5c5fcf9436cac58551dc049867247f64b00 - Folly: b73c3869541e86821df3c387eb0af5f65addfab4 - glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 - google-cast-sdk: 57cd67b4a0966802b2738fcbbc103125c98cc8a1 + Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 + FlipperKit: d8d346844eca5d9120c17d441a2f38596e8ed2b9 + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 + glog: 5337263514dd6f09803962437687240c5dc39aa4 + hermes-engine: bf7577d12ac6ccf53ab8b5af3c6ccf0dd8458c5c libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - OneSignal: 9531e385388565f4d31797ddadbe0fcc786430ec + OneSignal: e4dfb1912410f302dc9661ce98fc829f6c18ff6a OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b - Permission-Notifications: 2f2ff1d01fe7677c3858c8f0a0bd3f3accdbb6bb - Permission-PhotoLibrary: e29736d903e867d278747eb30951528303425f64 - RCTRequired: 082f10cd3f905d6c124597fd1c14f6f2655ff65e - RCTTypeSafety: 8c9c544ecbf20337d069e4ae7fd9a377aadf504b - React: b0a957a2c44da4113b0c4c9853d8387f8e64e615 - React-callinvoker: c3f44dd3cb195b6aa46621fff95ded79d59043fe - React-Core: d3b2a1ac9a2c13c3bcde712d9281fc1c8a5b315b - React-CoreModules: 0581ff36cb797da0943d424f69e7098e43e9be60 - React-cxxreact: c1480d4fda5720086c90df537ee7d285d4c57ac3 - React-jsi: a0418934cf48f25b485631deb27c64dc40fb4c31 - React-jsiexecutor: 93bd528844ad21dc07aab1c67cb10abae6df6949 - React-jsinspector: 58aef7155bc9a9683f5b60b35eccea8722a4f53a - react-native-amplitude-analytics: a4387e29d68ec0ff3c0e877a3ca8e328c0aca732 - react-native-apollos-player: 48e38b8e198b2591eb5bf01c89f8d4fba847168d + Permission-Notifications: 9c6b5cc4f0e6599e9fc3395b77cebddc48f1be41 + Permission-PhotoLibrary: 8227a6ed9f6a971537afe63742d54f5f23a38fe2 + RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 + RCTRequired: 3cc065b52aa18db729268b9bd78a2feffb4d0f91 + RCTTypeSafety: 3c4fc37d5dea452d2ef17324db5504ec2f05083a + React: 4a00720816c52a213424442954acb7e4b724804a + React-callinvoker: 911fc6570538f3bb5c61edf9dc907c1beb4355bf + React-Core: e134d3a5d7b2a1a731589be776e20dbb14868f27 + React-CoreModules: 2f8588b2aa47e7fef27125c8eaaabda963b3ac62 + React-cxxreact: 8f1382538cad0cc8b8eafca6d66268828e353bea + React-hermes: 503642bd7704c60dcd1385c2da9607eac5260077 + React-jsi: 9fe1854d2c0486216acebd5db3c38b4ccb23ca0b + React-jsiexecutor: db2f6e22a534d466fc0e34e622df47d9d20bab2f + React-jsinspector: 8c0517dee5e8c70cd6c3066f20213ff7ce54f176 + React-logger: bfddd3418dc1d45b77b822958f3e31422e2c179b + react-native-apollos-player: 9dc96ae40896773f0ea4562f0b3531c6dd5feea2 react-native-config: 55548054279d92e0e4566ea15a8b9b81028ec342 react-native-geolocation: c956aeb136625c23e0dce0467664af2c437888c9 react-native-geolocation-service: 7c9436da6dfdecd9526c62eac62ea2bc3f0cc8ea - react-native-google-cast: 9ead682d0026c857318efa8ea9c6f58b6142651a - react-native-image-picker: 64d12e81f3d9dad0af107fe6536b295d51932ec0 + react-native-image-picker: 31971f6184e7c1dcb4fc1f122e1ba2c3fb11ef1e react-native-maps: f4b89da81626ad7f151a8bfcb79733295d31ce5c - react-native-music-control: dcfe5b61e56a15898c4618579cb8ce612c9d21a8 - react-native-onesignal: ad2eaab1517951e50d19fa3eccd16d3048167181 + react-native-music-control: 93b521377efdf2e49b46ccade8457f9503359b38 + react-native-onesignal: 50b047c674b79ba700218338fdefb45220da4db5 react-native-passkit-wallet: 51e3babdaeec4c10b5736786ebd1bfb470fcaa36 react-native-safari-view: 955d7160d159241b8e9395d12d10ea0ef863dcdd - react-native-safe-area-context: b6e0e284002381d2ff29fa4fff42b4d8282e3c94 + react-native-safe-area-context: 584dc04881deb49474363f3be89e4ca0e854c057 react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865 - react-native-video: d01ed7ff1e38fa7dcc6c15c94cf505e661b7bfd0 - react-native-webview: db4682f1698ab4b17a5e88f951031d203ff8aea8 - React-RCTActionSheet: 89a0ca9f4a06c1f93c26067af074ccdce0f40336 - React-RCTAnimation: 1bde3ecc0c104c55df246eda516e0deb03c4e49b - React-RCTBlob: a97d378b527740cc667e03ebfa183a75231ab0f0 - React-RCTImage: c1b1f2d3f43a4a528c8946d6092384b5c880d2f0 - React-RCTLinking: 35ae4ab9dc0410d1fcbdce4d7623194a27214fb2 - React-RCTNetwork: 29ec2696f8d8cfff7331fac83d3e893c95ef43ae - React-RCTSettings: 60f0691bba2074ef394f95d4c2265ec284e0a46a - React-RCTText: 5c51df3f08cb9dedc6e790161195d12bac06101c - React-RCTVibration: ae4f914cfe8de7d4de95ae1ea6cc8f6315d73d9d - ReactCommon: 73d79c7039f473b76db6ff7c6b159c478acbbb3b + react-native-video: a4c2635d0802f983594b7057e1bce8f442f0ad28 + react-native-webview: b83cf1aa6b4453fe53ffcc5896c36cdf37f0383f + React-perflogger: fcac6090a80e3d967791b4c7f1b1a017f9d4a398 + React-RCTActionSheet: caf5913d9f9e605f5467206cf9d1caa6d47d7ad6 + React-RCTAnimation: 6539e3bf594f6a529cd861985ba6548286ae1ead + React-RCTBlob: 6e2e999d28b15fd03ed533f164ce33e0fcde571a + React-RCTImage: c6bbb10eedb6b840c4474f2108b864173b83de15 + React-RCTLinking: 8fda9bb8fdb104e78110a903a9a77754318c7d11 + React-RCTNetwork: 2b26daad93830501cf14aab03eac04e304f942d3 + React-RCTSettings: 89c0dcee7adb706c749383596f57c1e882a27843 + React-RCTText: 71734fce8e6cb854daeb4a5eec182c303ea58473 + React-RCTVibration: 6600b5eed7c0fda4a433fa1198d1cb2690151791 + React-runtimeexecutor: 33a949a51bec5f8a3c9e8d8092deb259600d761e + ReactCommon: 620442811dc6f707b4bf5e3b27d4f19c12d5a821 rn-fetch-blob: 651b8d076b43d0d7aa294a3d9ec16c00aab8bef9 RNAirplay: 75777dd55dafbd3687703c3eb9c290ea6cc43248 - RNAnalytics: 360b0680753d0e1d37152a25d47aa34a015cab72 - RNCAsyncStorage: 453cd7c335ec9ba3b877e27d02238956b76f3268 - RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f - RNCPicker: 77183d9b1cd80ae55505322f8ad09ba0036e29ba - RNDateTimePicker: 3d1931e387248cb8f1d1d33740d4a1a82dfe622a + RNCAsyncStorage: b03032fdbdb725bea0bd9e5ec5a7272865ae7398 + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 + RNCPicker: 0991c56da7815c0cf946d6f63cf920b25296e5f6 + RNDateTimePicker: 7658208086d86d09e1627b5c34ba0cf237c60140 RNDeviceInfo: 687c1b2ab6d86ff1ca1208783320cd144138c7f2 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNInAppBrowser: c1a0dad2734458d79bcb6c8f4297ba8658a1da9f - RNPermissions: a96580116f7894146552e92b000ac30bf1661947 - RNReanimated: 5231286440b796e09df3bfa5c1b12b02bfe07664 - RNScreens: 3ba2198ca3179f77f6158425fc31ba3c90a0d49f + RNInAppBrowser: 48b95ba7a4eaff5cc223bca338d3e319561dbd1b + RNPermissions: 5df468064df661a4c8c017e2791ce90d7695eea5 + RNReanimated: 65583befd5706cc9c86ae9a081786181ced37b93 + RNScreens: c277bfc4b5bb7c2fe977d19635df6f974f95dfd6 RNSVG: 8ba35cbeb385a52fd960fd28db9d7d18b4c2974f - Yoga: 4bd86afe9883422a7c4028c00e34790f560923d6 + Yoga: 2b4a01651f42a32f82e6cef3830a3ba48088237f YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: fc4f0c00de2622c3bb885c16fd884b40c976d282 +PODFILE CHECKSUM: 78e56930216c828cc1d3e8282de4d686ef6df8ec -COCOAPODS: 1.10.1 +COCOAPODS: 1.11.2 diff --git a/ios/newspringchurchapp.xcodeproj/project.pbxproj b/ios/newspringchurchapp.xcodeproj/project.pbxproj index 62e5e420..2dd9dad6 100644 --- a/ios/newspringchurchapp.xcodeproj/project.pbxproj +++ b/ios/newspringchurchapp.xcodeproj/project.pbxproj @@ -26,7 +26,6 @@ 578FFEC1D7D54C9B871A9E5B /* Inter-UI-BlackItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 5A5A2BC2998547F4816B82E4 /* Inter-UI-BlackItalic.otf */; }; 68D1351E80AA4A2C96288FD9 /* Inter-UI-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = EC21254B449443F99016EBFD /* Inter-UI-Black.otf */; }; 7FBC6BC3CE8D48298F9850A9 /* Inter-UI-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = D5157D807E164356ADE87867 /* Inter-UI-Bold.otf */; }; - 81C2E504B4D3070364F139A9 /* libPods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DA2D6414B5E2F65F7CF16A9 /* libPods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.a */; }; 82AAE52E24187BB500D1EEC7 /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 82AAE52D24187BB500D1EEC7 /* BootSplash.storyboard */; }; 82AAE52F24187BB500D1EEC7 /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 82AAE52D24187BB500D1EEC7 /* BootSplash.storyboard */; }; 82AAE53024187BB500D1EEC7 /* BootSplash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 82AAE52D24187BB500D1EEC7 /* BootSplash.storyboard */; }; @@ -34,7 +33,6 @@ 82AAE537241888D100D1EEC7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 82AAE538241888D200D1EEC7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 894732A70B4740678E85B593 /* Inter-UI-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 2F5410F239E9477B9C2E86BD /* Inter-UI-BoldItalic.otf */; }; - 8EA9BDE542E09F685A47D9BE /* libPods-newspringchurchapp-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38B9762ACA099D28C28DBB31 /* libPods-newspringchurchapp-tvOS.a */; }; 90743C40BF544F10A810C43C /* DroidSerif-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = ADC3D2DB245545ADB1CAB3FE /* DroidSerif-Italic.ttf */; }; 93A2B0A9328A46A4B7DD5EFA /* DroidSerif-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4E007B33EDD74B82AEF02C24 /* DroidSerif-Regular.ttf */; }; 961C9BE9F6EA483681C5A7E7 /* Colfax-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 1A5A320EC7DC45128A9C3DB4 /* Colfax-Bold.otf */; }; @@ -91,32 +89,26 @@ 2D02E4901E0B4A5D006451C7 /* newspringchurchapp-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "newspringchurchapp-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; 2F5410F239E9477B9C2E86BD /* Inter-UI-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-UI-BoldItalic.otf"; path = "../assets/fonts/Inter-UI-BoldItalic.otf"; sourceTree = ""; }; - 38B9762ACA099D28C28DBB31 /* libPods-newspringchurchapp-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-newspringchurchapp-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 4E007B33EDD74B82AEF02C24 /* DroidSerif-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DroidSerif-Regular.ttf"; path = "../assets/fonts/DroidSerif-Regular.ttf"; sourceTree = ""; }; 54F271B8EB67A4997A2C7D96 /* Pods-newspringchurchapp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp.debug.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp/Pods-newspringchurchapp.debug.xcconfig"; sourceTree = ""; }; 58A6E44DC7F54FE3B9DDF48B /* Colfax-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Colfax-BoldItalic.otf"; path = "../assets/fonts/Colfax-BoldItalic.otf"; sourceTree = ""; }; 5A5A2BC2998547F4816B82E4 /* Inter-UI-BlackItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-UI-BlackItalic.otf"; path = "../assets/fonts/Inter-UI-BlackItalic.otf"; sourceTree = ""; }; - 5DA2D6414B5E2F65F7CF16A9 /* libPods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 63F6EE53A9B44B4388B5F1C2 /* Inter-UI-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-UI-Italic.otf"; path = "../assets/fonts/Inter-UI-Italic.otf"; sourceTree = ""; }; 6AA5119094D5404EAACE72BE /* Colfax-Black.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Colfax-Black.otf"; path = "../assets/fonts/Colfax-Black.otf"; sourceTree = ""; }; 732CE8A34B66479CACCE3AE3 /* Colfax-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Colfax-Regular.otf"; path = "../assets/fonts/Colfax-Regular.otf"; sourceTree = ""; }; - 745C835CA2F1E1EC2425152A /* Pods-newspringchurchapp-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-tvOS/Pods-newspringchurchapp-tvOS.debug.xcconfig"; sourceTree = ""; }; 82AAE52D24187BB500D1EEC7 /* BootSplash.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = BootSplash.storyboard; path = newspringchurchapp/BootSplash.storyboard; sourceTree = ""; }; 8FFBC548C57446F8A1D5CFCD /* Colfax-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Colfax-Medium.otf"; path = "../assets/fonts/Colfax-Medium.otf"; sourceTree = ""; }; 956BFEFDA52B4890B8A8F50F /* Colfax-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Colfax-MediumItalic.otf"; path = "../assets/fonts/Colfax-MediumItalic.otf"; sourceTree = ""; }; 9C9C2FBCFF5D4428967F5A58 /* Colfax-BlackItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Colfax-BlackItalic.otf"; path = "../assets/fonts/Colfax-BlackItalic.otf"; sourceTree = ""; }; - A2030124193476DC5E7727BC /* Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests/Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.release.xcconfig"; sourceTree = ""; }; A460FD7884FD4574A818005A /* Inter-UI-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-UI-MediumItalic.otf"; path = "../assets/fonts/Inter-UI-MediumItalic.otf"; sourceTree = ""; }; A613256118404CB691DE2C8E /* Inter-UI-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-UI-Regular.otf"; path = "../assets/fonts/Inter-UI-Regular.otf"; sourceTree = ""; }; A8264FA4F5A13874D424E2F0 /* Pods-newspringchurchapp-newspringchurchappTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-newspringchurchappTests.debug.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-newspringchurchappTests/Pods-newspringchurchapp-newspringchurchappTests.debug.xcconfig"; sourceTree = ""; }; A93F9D112A034626A9421759 /* DroidSerif-BoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DroidSerif-BoldItalic.ttf"; path = "../assets/fonts/DroidSerif-BoldItalic.ttf"; sourceTree = ""; }; AB44FC16DED929081698EDFD /* Pods-newspringchurchappTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchappTests.debug.xcconfig"; path = "Target Support Files/Pods-newspringchurchappTests/Pods-newspringchurchappTests.debug.xcconfig"; sourceTree = ""; }; ADC3D2DB245545ADB1CAB3FE /* DroidSerif-Italic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DroidSerif-Italic.ttf"; path = "../assets/fonts/DroidSerif-Italic.ttf"; sourceTree = ""; }; - AE85030F59F256E90D5A4C2B /* Pods-newspringchurchapp-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-tvOS.release.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-tvOS/Pods-newspringchurchapp-tvOS.release.xcconfig"; sourceTree = ""; }; BF32DFBE25C064E60078E82A /* Swift.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Swift.swift; sourceTree = ""; }; BF32DFC825C0651E0078E82A /* newspringchurchapp-tvOS-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "newspringchurchapp-tvOS-Bridging-Header.h"; sourceTree = ""; }; BF32DFC925C0651E0078E82A /* newspringchurchapp-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "newspringchurchapp-Bridging-Header.h"; sourceTree = ""; }; - C5B57FCBD5962A6AAFD72857 /* Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests/Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.debug.xcconfig"; sourceTree = ""; }; D394E3064D75710E81C51EB0 /* Pods-newspringchurchapp-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-tvOSTests/Pods-newspringchurchapp-tvOSTests.debug.xcconfig"; sourceTree = ""; }; D5157D807E164356ADE87867 /* Inter-UI-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-UI-Bold.otf"; path = "../assets/fonts/Inter-UI-Bold.otf"; sourceTree = ""; }; DA9745795726553C6FA9E7A8 /* Pods-newspringchurchapp-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-newspringchurchapp-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-newspringchurchapp-tvOSTests/Pods-newspringchurchapp-tvOSTests.release.xcconfig"; sourceTree = ""; }; @@ -155,7 +147,6 @@ files = ( ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */, 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */, - 8EA9BDE542E09F685A47D9BE /* libPods-newspringchurchapp-tvOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -163,7 +154,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 81C2E504B4D3070364F139A9 /* libPods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -212,8 +202,6 @@ ED2971642150620600B7C4FE /* JavaScriptCore.framework */, 2D16E6891FA4F8E400B85C8A /* libReact.a */, DDB6B5B7B6A0D1ECB68CF0DD /* libPods-newspringchurchapp.a */, - 38B9762ACA099D28C28DBB31 /* libPods-newspringchurchapp-tvOS.a */, - 5DA2D6414B5E2F65F7CF16A9 /* libPods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.a */, 2B8F8B9FAE6D1B57F5858580 /* libPods-newspringchurchapp-newspringchurchappTests.a */, ); name = Frameworks; @@ -251,14 +239,10 @@ children = ( 54F271B8EB67A4997A2C7D96 /* Pods-newspringchurchapp.debug.xcconfig */, 1F8F5BC4745C8F22C695573D /* Pods-newspringchurchapp.release.xcconfig */, - 745C835CA2F1E1EC2425152A /* Pods-newspringchurchapp-tvOS.debug.xcconfig */, - AE85030F59F256E90D5A4C2B /* Pods-newspringchurchapp-tvOS.release.xcconfig */, D394E3064D75710E81C51EB0 /* Pods-newspringchurchapp-tvOSTests.debug.xcconfig */, DA9745795726553C6FA9E7A8 /* Pods-newspringchurchapp-tvOSTests.release.xcconfig */, AB44FC16DED929081698EDFD /* Pods-newspringchurchappTests.debug.xcconfig */, E98AC9782C338F13632EF710 /* Pods-newspringchurchappTests.release.xcconfig */, - C5B57FCBD5962A6AAFD72857 /* Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.debug.xcconfig */, - A2030124193476DC5E7727BC /* Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.release.xcconfig */, A8264FA4F5A13874D424E2F0 /* Pods-newspringchurchapp-newspringchurchappTests.debug.xcconfig */, 10C7B48B8E172ED99762C702 /* Pods-newspringchurchapp-newspringchurchappTests.release.xcconfig */, ); @@ -357,7 +341,6 @@ isa = PBXNativeTarget; buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "newspringchurchapp-tvOS" */; buildPhases = ( - 9C20354F160AAF86C8281F23 /* [CP] Check Pods Manifest.lock */, 2D02E4771E0B4A5D006451C7 /* Sources */, 2D02E4781E0B4A5D006451C7 /* Frameworks */, 2D02E4791E0B4A5D006451C7 /* Resources */, @@ -376,7 +359,6 @@ isa = PBXNativeTarget; buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "newspringchurchapp-tvOSTests" */; buildPhases = ( - A85CD736CDC3356677735901 /* [CP] Check Pods Manifest.lock */, 2D02E48C1E0B4A5D006451C7 /* Sources */, 2D02E48D1E0B4A5D006451C7 /* Frameworks */, 2D02E48E1E0B4A5D006451C7 /* Resources */, @@ -539,13 +521,15 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-newspringchurchapp-newspringchurchappTests/Pods-newspringchurchapp-newspringchurchappTests-frameworks.sh", - "${PODS_ROOT}/google-cast-sdk/GoogleCastSDK-ios-4.3.0/GoogleCast.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleCast.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -573,13 +557,15 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-newspringchurchapp/Pods-newspringchurchapp-frameworks.sh", - "${PODS_ROOT}/google-cast-sdk/GoogleCastSDK-ios-4.3.0/GoogleCast.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleCast.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -615,18 +601,10 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-newspringchurchapp/Pods-newspringchurchapp-resources.sh", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/api.amplitude.com.der", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoCaLimitedRsaCertificationAuthority.der", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoRsaCA.der", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoRsaDomainValidationCA.der", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/api.amplitude.com.der", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoCaLimitedRsaCertificationAuthority.der", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoRsaCA.der", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoRsaDomainValidationCA.der", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", ); runOnlyForDeploymentPostprocessing = 0; @@ -634,50 +612,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-newspringchurchapp/Pods-newspringchurchapp-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 9C20354F160AAF86C8281F23 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-newspringchurchapp-tvOS-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - A85CD736CDC3356677735901 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; D20B52720B86C509BC026889 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -685,18 +619,10 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-newspringchurchapp-newspringchurchappTests/Pods-newspringchurchapp-newspringchurchappTests-resources.sh", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/api.amplitude.com.der", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoCaLimitedRsaCertificationAuthority.der", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoRsaCA.der", - "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoRsaDomainValidationCA.der", "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", ); name = "[CP] Copy Pods Resources"; outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/api.amplitude.com.der", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoCaLimitedRsaCertificationAuthority.der", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoRsaCA.der", - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoRsaDomainValidationCA.der", "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", ); runOnlyForDeploymentPostprocessing = 0; @@ -904,7 +830,6 @@ }; 2D02E4971E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 745C835CA2F1E1EC2425152A /* Pods-newspringchurchapp-tvOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -940,7 +865,6 @@ }; 2D02E4981E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE85030F59F256E90D5A4C2B /* Pods-newspringchurchapp-tvOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -975,7 +899,6 @@ }; 2D02E4991E0B4A5E006451C7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C5B57FCBD5962A6AAFD72857 /* Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -1006,7 +929,6 @@ }; 2D02E49A1E0B4A5E006451C7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A2030124193476DC5E7727BC /* Pods-newspringchurchapp-tvOS-newspringchurchapp-tvOSTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; @@ -1069,6 +991,7 @@ ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -1130,6 +1053,7 @@ ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 i386"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/ios/newspringchurchapp/AppDelegate.m b/ios/newspringchurchapp/AppDelegate.m index 6ff1ab87..47c11d9c 100644 --- a/ios/newspringchurchapp/AppDelegate.m +++ b/ios/newspringchurchapp/AppDelegate.m @@ -14,16 +14,16 @@ #import // for AppCenter libraries -#import -#import -#import +//#import +//#import +//#import -#import +//#import #import "ReactNativeConfig.h" -#import +//#import #import "RNSplashScreen.h" #ifdef FB_SONARKIT_ENABLED @@ -65,13 +65,13 @@ - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull N - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // AppCenter library registration - [AppCenterReactNative register]; - [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; - [AppCenterReactNativeCrashes registerWithAutomaticProcessing]; - - BugsnagConfiguration *config = [BugsnagConfiguration loadConfig]; - config.apiKey = [ReactNativeConfig envFor:@"BUGSNAG_API_KEY"]; - [Bugsnag startWithConfiguration:config]; +// [AppCenterReactNative register]; +// [AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true]; +// [AppCenterReactNativeCrashes registerWithAutomaticProcessing]; +// +// BugsnagConfiguration *config = [BugsnagConfiguration loadConfig]; +// config.apiKey = [ReactNativeConfig envFor:@"BUGSNAG_API_KEY"]; +// [Bugsnag startWithConfiguration:config]; #ifdef FB_SONARKIT_ENABLED InitializeFlipper(application); #endif @@ -82,10 +82,10 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( initialProperties:nil]; // Initialize Google Cast - GCKDiscoveryCriteria *criteria = [[GCKDiscoveryCriteria alloc] initWithApplicationID:kGCKDefaultMediaReceiverApplicationID]; - GCKCastOptions* options = [[GCKCastOptions alloc] initWithDiscoveryCriteria:criteria]; - options.physicalVolumeButtonsWillControlDeviceVolume = YES; - [GCKCastContext setSharedInstanceWithOptions:options]; +// GCKDiscoveryCriteria *criteria = [[GCKDiscoveryCriteria alloc] initWithApplicationID:kGCKDefaultMediaReceiverApplicationID]; +// GCKCastOptions* options = [[GCKCastOptions alloc] initWithDiscoveryCriteria:criteria]; +// options.physicalVolumeButtonsWillControlDeviceVolume = YES; +// [GCKCastContext setSharedInstanceWithOptions:options]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; diff --git a/package.json b/package.json index 29e81346..5e359142 100644 --- a/package.json +++ b/package.json @@ -4,30 +4,21 @@ "version": "7.10.0", "private": true, "engines": { - "node": "12" + "node": ">=14" }, - "files": [ - "src" - ], "scripts": { + "setup": "./scripts/init.sh", + "ios": "react-native run-ios", "android": "SIM=\"$($HOME/Library/Android/sdk/emulator/emulator -list-avds | sed -n 1p)\" && $HOME/Library/Android/sdk/emulator/emulator -avd \"${SIM}\" & react-native run-android --appId cc.newspring.newspringapp", "codecov": "cat ./coverage/lcov.info | codecov", - "ios": "react-native run-ios --simulator=\"iPhone 11\"", - "lint": "eslint ./src --ext .js", - "postversion": "react-native-version --never-amend --android android/app/build.gradle --ios ios/", - "prestart": "yarn get-schema && node ./scripts/get-introspection-data.js", - "start": "react-native start", - "restart": "yarn && yarn start", - "storybook": "rnstl --searchDir ../ --pattern \"newspringchurchapp/src/**/*.stories.js\" && storybook start -p 7007 | react-native start --projectRoot $PWD/storybook", - "test": "TZ=UTC jest --forceExit", - "e2e": "yarn detox build && yarn detox test", + "lint": "eslint .", "postinstall": "jetify && yarn pods", - "pods": "(bundle install && cd ios && bundle exec pod install)", - "bump": "yarn standard-version && git push --follow-tags && yarn gh-release --yes", - "get-schema": "eval $(grep ^APP_DATA_URL .env) && get-graphql-schema $APP_DATA_URL > schema.graphql", - "upgrade": "npx @apollosproject/upgrade-tools upgrade", - "latest": "node ./scripts/add-packages.js latest", - "canary": "node ./scripts/add-packages.js canary", + "bump": "yarn version --patch", + "postversion": "react-native-version --amend --never-increment-build && git push --follow-tags", + "pods": "(bundle install && cd ios && bundle exec pod install --repo-update)", + "start": "yarn start:dev", + "start:dev": "node ./scripts/get-introspection-data.js && react-native start", + "test": "echo \"No tests\"", "icons": "react-native set-icon --path", "splash": "react-native set-splash --path" }, @@ -35,7 +26,7 @@ "preset": "react-native", "collectCoverage": true, "transformIgnorePatterns": [ - "node_modules/(?!((jest-)?react-native|rn-*|react-clone-referenced-element|react-navigation|@react-navigation|@apollosproject))" + "node_modules/(?!((jest-)?react-native|@react-native|rn-*|react-clone-referenced-element|@react-navigation/native|@react-navigation/stack|@apollosproject|@react-native-picker/picker))" ], "testMatch": [ "/src/**/?(*.)(test|tests).{js,jsx,mjs}" @@ -43,45 +34,31 @@ "modulePaths": [ "/src/" ], - "modulePathIgnorePatterns": [ - "node_modules/.*/node_modules/react-native" - ], "setupFiles": [ + "./node_modules/react-native-gesture-handler/jestSetup.js", "./jest.setup.js" ] }, - "standard-version": { - "scripts": { - "postbump": "yarn postversion && git add . && git commit -m 'chore(release): Update native files'", - "postchangelog": "sed -i.bak \"s/### \\[/## \\[/g\" CHANGELOG.md" - } - }, - "resolutions": { - "babel-core": "7.0.0-bridge.0" - }, "dependencies": { - "@apollo/client": "3.3.0-rc.2", + "@apollo/client": "3.3.20", "@apollo/react-hooks": "^3.1.3", - "@apollosproject/config": "^2.11.0", + "@apollosproject/config": "^2.39.0", "@apollosproject/react-native-airplay-btn": "^0.2.0", - "@apollosproject/ui-analytics": "^2.11.0", - "@apollosproject/ui-auth": "^2.16.0", - "@apollosproject/ui-connected": "^2.16.0", - "@apollosproject/ui-fragments": "^2.16.0", - "@apollosproject/ui-htmlview": "^2.11.0", - "@apollosproject/ui-kit": "^2.16.0", - "@apollosproject/ui-mapview": "^2.11.0", - "@apollosproject/ui-media-player": "^2.11.0", - "@apollosproject/ui-notifications": "^2.11.0", - "@apollosproject/ui-onboarding": "^2.11.0", - "@apollosproject/ui-passes": "^2.11.0", - "@apollosproject/ui-prayer": "^2.11.0", - "@apollosproject/ui-scripture": "^2.11.0", - "@apollosproject/ui-storybook": "^2.11.0", - "@apollosproject/ui-test-utils": "^2.11.0", - "@bugsnag/react-native": "^7.5.6", + "@apollosproject/ui-analytics": "^2.39.0", + "@apollosproject/ui-auth": "^2.39.0", + "@apollosproject/ui-connected": "^2.39.0", + "@apollosproject/ui-fragments": "^2.39.0", + "@apollosproject/ui-htmlview": "^2.39.0", + "@apollosproject/ui-kit": "^2.39.0", + "@apollosproject/ui-mapview": "^2.39.0", + "@apollosproject/ui-media-player": "^2.39.0", + "@apollosproject/ui-notifications": "^2.39.0", + "@apollosproject/ui-onboarding": "^2.39.0", + "@apollosproject/ui-passes": "^2.39.0", + "@apollosproject/ui-prayer": "^2.39.0", + "@apollosproject/ui-scripture": "^2.39.0", + "@apollosproject/ui-test-utils": "^2.39.0", "@gorhom/bottom-sheet": "3.4.1", - "@metarouter/analytics-react-native": "^1.1.5", "@react-native-community/async-storage": "^1.5.1", "@react-native-community/datetimepicker": "^3.0.0", "@react-native-community/geolocation": "^2.0.2", @@ -89,17 +66,11 @@ "@react-native-picker/picker": "^1.9.4", "@react-navigation/bottom-tabs": "^5.11.8", "@react-navigation/compat": "^5.1.28", - "@react-navigation/drawer": "^5.8.4", "@react-navigation/native": "^5.9.3", "@react-navigation/stack": "^5.14.3", - "apollo-cache-inmemory": "1.5.1", - "apollo-link-error": "^1.1.10", "apollo-storybook-react-native": "0.2.12", "apollo-upload-client": "14.1.3", "apollo3-cache-persist": "^0.8.0", - "appcenter": "4.0.2", - "appcenter-analytics": "4.0.2", - "appcenter-crashes": "4.0.2", "buffer": "^5.4.3", "color": "3.0.0", "core-js": "^3.7.0", @@ -107,107 +78,64 @@ "events": "^3.0.0", "formik": "^1.5.2", "graphql": "14.7.0", - "graphql-import": "^0.7.1", "graphql-tag": "2.9.2", "graphql-tools": "3.1.1", "lodash": "^4.17.11", "memoize-one": "4.0.0", "moment": "2.22.2", "node-fetch": "2.6.1", - "react": "16.13.1", - "react-native": "0.63.4", + "querystring": "^0.2.1", + "react": "17.0.2", + "react-native": "0.66.1", "react-native-actionsheet": "^2.4.2", - "react-native-amplitude-analytics": "^0.2.7", "react-native-config": "^0.11.7", "react-native-device-info": "^4.0.1", - "react-native-emoji": "^1.8.0", "react-native-geolocation-service": "^5.1.1", "react-native-gesture-handler": "^1.10.3", - "react-native-google-cast": "^3.3.0", "react-native-image-picker": "^3.1.4", - "react-native-inappbrowser-reborn": "^3.0.0", + "react-native-inappbrowser-reborn": "3.5.1", "react-native-linear-gradient": "^2.5.4", "react-native-maps": "^0.27.1", - "react-native-modal-datetime-picker": "9.0.0", - "react-native-music-control": "0.10.8", - "react-native-onesignal": "3.9.1", + "react-native-music-control": "^1.3.0", + "react-native-onesignal": "4.0.8", "react-native-passkit-wallet": "^0.1.4", "react-native-permissions": "^2.0.5", - "react-native-reanimated": "^2.0.0", + "react-native-reanimated": "^2.2.3", "react-native-safari-view": "2.1.0", "react-native-safe-area-context": "^3.0.7", - "react-native-safe-area-view": "0.13.1", - "react-native-screens": "^3.1.0", + "react-native-screens": "3.2.0", "react-native-splash-screen": "^3.2.0", "react-native-svg": "^9.4.0", - "react-native-swiper": "^1.5.14", - "react-native-tab-view": "^2.5.0", - "react-native-video": "^5.0.0", + "react-native-video": "^5.2.0", "react-native-video-controls": "2.2.3", - "react-native-webview": "^7.0.0", + "react-native-webview": "^11.0.0", "recompose": "^0.30.0", "rn-fetch-blob": "^0.10.16", "stream": "^0.0.2", - "wml": "^0.0.83", "yup": "0.26.6" }, "devDependencies": { - "@apollosproject/apollo-server-env-mock": "^2.5.0", - "@apollosproject/babel-preset-apollos": "^2.5.0", - "@apollosproject/eslint-config": "^2.11.0", - "@babel/cli": "7.1.5", - "@babel/core": "^7.8.4", - "@babel/runtime": "^7.8.4", - "@bam.tech/react-native-make": "^3.0.0", + "@apollosproject/eslint-config": "^2.39.0", + "@babel/core": "^7.14.6", + "@babel/runtime": "^7.14.6", + "@bam.tech/react-native-make": "^3.0.3", "@carimus/metro-symlinked-deps": "^1.1.0", - "@jimp/custom": "^0.9.3", - "@jimp/plugin-circle": "^0.9.3", - "@react-native-community/eslint-config": "^2.0.0", - "@react-native-community/eslint-plugin": "^1.1.0", - "babel-eslint": "10.0.1", - "babel-jest": "^25.1.0", + "@react-native-community/eslint-config": "^3.0.0", + "babel-jest": "^26", "babel-plugin-module-resolver": "^4.0.0", - "buffer": "^5.4.3", "codecov": "3.7.2", - "detox": "^17.2.1", - "eslint": "^7.14.0", - "eslint-config-airbnb": "^17.0.0", - "eslint-config-prettier": "^2.9.0", + "eslint": "^7.28.0", "eslint-import-resolver-babel-module": "^5.0.0-beta.0", - "eslint-plugin-babel": "^5.1.0", - "eslint-plugin-graphql": "^3.0.3", - "eslint-plugin-import": "^2.12.0", - "eslint-plugin-jest": "^21.15.2", - "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-prettier": "^2.6.0", - "eslint-plugin-react": "^7.10.0", - "eslint-plugin-react-hooks": "^4.0.2", - "eslint-plugin-react-native": "^3.2.1", + "eslint-plugin-react": "^7.26.1", "get-dev-paths": "^0.1.0", - "get-graphql-schema": "^2.1.2", - "gh-release": "^3.5.0", "graphql-import": "^0.7.1", - "image-size": "^0.8.3", - "jest": "^25.1.0", - "jest-circus": "^26.1.0", - "jest-react-native": "18.0.0", + "jest": "^26", "jetifier": "^1.6.4", - "jimp": "^0.9.3", - "metro-react-native-babel-preset": "^0.59.0", + "metro-react-native-babel-preset": "^0.66.2", "nodemon": "1.18.7", - "prettier": "1.14.2", "prop-types": "15.6.1", - "react-dom": "16.6.3", - "react-native-storybook-loader": "1.8.0", - "react-native-version": "2.6.2", - "react-test-renderer": "16.13.1", - "standard-version": "^8.0.1", - "waait": "1.0.2", - "yalc": "^1.0.0-pre.47" - }, - "rnpm": { - "assets": [ - "assets/fonts" - ] + "react-native-version": "^4.0.0", + "react-test-renderer": "17.0.2", + "waait": "1.0.2" } } diff --git a/src/Providers.js b/src/Providers.js index 88e7f421..aa5d69f5 100644 --- a/src/Providers.js +++ b/src/Providers.js @@ -1,45 +1,28 @@ import querystring from 'querystring'; -import React from 'react'; -import ApollosConfig from '@apollosproject/config'; -import { Providers, NavigationService } from '@apollosproject/ui-kit'; +import PropTypes from 'prop-types'; +import { NavigationService } from '@apollosproject/ui-kit'; import { AuthProvider } from '@apollosproject/ui-auth'; import { AnalyticsProvider } from '@apollosproject/ui-analytics'; - -import { checkOnboardingStatusAndNavigate } from '@apollosproject/ui-onboarding'; +import { NotificationsProvider } from '@apollosproject/ui-notifications'; import { LiveProvider, ACCEPT_FOLLOW_REQUEST, } from '@apollosproject/ui-connected'; -import ExternalLinkProvider from './linking/Provider'; -import track from './analytics'; -import { ONBOARDING_VERSION } from './ui/Onboarding'; +import { checkOnboardingStatusAndNavigate } from '@apollosproject/ui-onboarding'; import ClientProvider, { client } from './client'; -import customTheme, { customIcons } from './theme'; -const AppProviders = (props) => ( - - ( + + - client.mutate({ - mutation: ACCEPT_FOLLOW_REQUEST, - variables: { personId: requestPersonId }, - }), - }} handleExternalLink={(url) => { - let path; - if (url.includes('app-link')) { - path = url.split('app-link/')[1]; - } else { - path = url.split('://')[1]; - } + const path = url.split('app-link/')[1]; const [route, location] = path.split('/'); - if (route === 'content') + if (route === 'content') { NavigationService.navigate('ContentSingle', { itemId: location }); + } if (route === 'nav') { const [component, params] = location.split('?'); const args = querystring.parse(params); @@ -50,6 +33,14 @@ const AppProviders = (props) => ( ); } }} + actionMap={{ + // accept a follow request when someone taps "accept" in a follow request push notification + acceptFollowRequest: ({ requestPersonId }) => + client.mutate({ + mutation: ACCEPT_FOLLOW_REQUEST, + variables: { personId: requestPersonId }, + }), + }} > NavigationService.navigate('Auth')} @@ -58,22 +49,19 @@ const AppProviders = (props) => ( checkOnboardingStatusAndNavigate({ client, navigation: NavigationService, - latestOnboardingVersion: ONBOARDING_VERSION, }) } > - - - - + + {children} - + ); -export default AppProviders; +AppProviders.propTypes = { + children: PropTypes.shape({}), +}; + +export default AppProviders; \ No newline at end of file diff --git a/src/client/cache.js b/src/client/cache.js index 1839ecf8..dfd1b8e4 100644 --- a/src/client/cache.js +++ b/src/client/cache.js @@ -18,7 +18,7 @@ introspectionQueryResultData.__schema.types.forEach((supertype) => { // We reset our apollo cache based an env value and static number. // In the future, we should also look at resetting the app when an error occurs related to Apollo. // You can also increment this number to force a manual reset of the cache. -const SCHEMA_VERSION = `${ApollosConfig.SCHEMA_VERSION}-2`; // Must be a string. +const SCHEMA_VERSION = `${ApollosConfig.SCHEMA_VERSION}-1`; // Must be a string. const SCHEMA_VERSION_KEY = 'apollo-schema-version'; const nodeCacheRedirect = (_, { id }, { getCacheKey }) => @@ -69,4 +69,4 @@ export const ensureCacheHydration = (async () => { } })(); -export default cache; +export default cache; \ No newline at end of file diff --git a/src/client/fragmentTypes.json b/src/client/fragmentTypes.json index 5d99ab36..051411ef 100644 --- a/src/client/fragmentTypes.json +++ b/src/client/fragmentTypes.json @@ -1 +1 @@ -{"__schema":{"types":[{"kind":"INTERFACE","name":"Node","possibleTypes":[{"name":"ContentChannel"},{"name":"Person"},{"name":"Device"},{"name":"Campus"},{"name":"Event"},{"name":"Group"},{"name":"Scripture"},{"name":"Pass"},{"name":"FeatureFeed"},{"name":"Prayer"},{"name":"PrayerMenuCategory"},{"name":"Comment"},{"name":"Message"},{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"},{"name":"Url"},{"name":"ActionListFeature"},{"name":"ActionBarFeature"},{"name":"HeroListFeature"},{"name":"VerticalCardListFeature"},{"name":"HorizontalCardListFeature"},{"name":"TextFeature"},{"name":"ScriptureFeature"},{"name":"WebviewFeature"},{"name":"ButtonFeature"},{"name":"NoteFeature"},{"name":"HeaderFeature"},{"name":"CommentListFeature"},{"name":"AddCommentFeature"}]},{"kind":"INTERFACE","name":"ContentItem","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"Media","possibleTypes":[{"name":"ImageMedia"},{"name":"VideoMedia"},{"name":"AudioMedia"}]},{"kind":"INTERFACE","name":"MediaSource","possibleTypes":[{"name":"ImageMediaSource"},{"name":"VideoMediaSource"},{"name":"AudioMediaSource"}]},{"kind":"INTERFACE","name":"Sharable","possibleTypes":[{"name":"SharableContentItem"},{"name":"SharableFeature"}]},{"kind":"INTERFACE","name":"Feature","possibleTypes":[{"name":"ActionListFeature"},{"name":"ActionBarFeature"},{"name":"HeroListFeature"},{"name":"VerticalCardListFeature"},{"name":"HorizontalCardListFeature"},{"name":"TextFeature"},{"name":"ScriptureFeature"},{"name":"WebviewFeature"},{"name":"ButtonFeature"},{"name":"NoteFeature"},{"name":"HeaderFeature"},{"name":"CommentListFeature"},{"name":"AddCommentFeature"}]},{"kind":"INTERFACE","name":"LikableNode","possibleTypes":[{"name":"Comment"},{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ContentNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"Card","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"VideoNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"AudioNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ContentParentNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ContentChildNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ThemedNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ProgressNode","possibleTypes":[{"name":"ContentSeriesContentItem"}]},{"kind":"INTERFACE","name":"ScriptureNode","possibleTypes":[{"name":"DevotionalContentItem"},{"name":"MediaContentItem"}]},{"kind":"INTERFACE","name":"ShareableNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"FeaturesNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"LiveNode","possibleTypes":[{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"NotesBlock","possibleTypes":[{"name":"NotesTextBlock"},{"name":"NotesScriptureBlock"}]}]}} \ No newline at end of file +{"__schema":{"types":[{"kind":"INTERFACE","name":"Node","possibleTypes":[{"name":"ContentChannel"},{"name":"Person"},{"name":"Device"},{"name":"Campus"},{"name":"Event"},{"name":"Group"},{"name":"Scripture"},{"name":"Interaction"},{"name":"Pass"},{"name":"FeatureFeed"},{"name":"Prayer"},{"name":"PrayerMenuCategory"},{"name":"Comment"},{"name":"Message"},{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"},{"name":"Url"},{"name":"ActionListFeature"},{"name":"ActionBarFeature"},{"name":"ActionTableFeature"},{"name":"HeroListFeature"},{"name":"VerticalCardListFeature"},{"name":"HorizontalCardListFeature"},{"name":"TextFeature"},{"name":"ScriptureFeature"},{"name":"WebviewFeature"},{"name":"ButtonFeature"},{"name":"NoteFeature"},{"name":"HeaderFeature"},{"name":"CommentListFeature"},{"name":"AddCommentFeature"}]},{"kind":"INTERFACE","name":"ContentItem","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"Media","possibleTypes":[{"name":"ImageMedia"},{"name":"VideoMedia"},{"name":"AudioMedia"}]},{"kind":"INTERFACE","name":"MediaSource","possibleTypes":[{"name":"ImageMediaSource"},{"name":"VideoMediaSource"},{"name":"AudioMediaSource"}]},{"kind":"INTERFACE","name":"Sharable","possibleTypes":[{"name":"SharableContentItem"},{"name":"SharableFeature"}]},{"kind":"INTERFACE","name":"ContentNode","possibleTypes":[{"name":"Event"},{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"Feature","possibleTypes":[{"name":"ActionListFeature"},{"name":"ActionBarFeature"},{"name":"ActionTableFeature"},{"name":"HeroListFeature"},{"name":"VerticalCardListFeature"},{"name":"HorizontalCardListFeature"},{"name":"TextFeature"},{"name":"ScriptureFeature"},{"name":"WebviewFeature"},{"name":"ButtonFeature"},{"name":"NoteFeature"},{"name":"HeaderFeature"},{"name":"CommentListFeature"},{"name":"AddCommentFeature"}]},{"kind":"INTERFACE","name":"LikableNode","possibleTypes":[{"name":"Comment"},{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"Card","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"VideoNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"AudioNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ContentParentNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ContentChildNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ThemedNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"ProgressNode","possibleTypes":[{"name":"ContentSeriesContentItem"}]},{"kind":"INTERFACE","name":"ScriptureNode","possibleTypes":[{"name":"DevotionalContentItem"},{"name":"MediaContentItem"}]},{"kind":"INTERFACE","name":"ShareableNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"MediaContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"FeaturesNode","possibleTypes":[{"name":"UniversalContentItem"},{"name":"DevotionalContentItem"},{"name":"ContentSeriesContentItem"},{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"LiveNode","possibleTypes":[{"name":"WeekendContentItem"}]},{"kind":"INTERFACE","name":"NotesBlock","possibleTypes":[{"name":"NotesTextBlock"},{"name":"NotesScriptureBlock"}]}]}} \ No newline at end of file diff --git a/src/client/httpLink.js b/src/client/httpLink.js index 5d92e37a..1632ce05 100644 --- a/src/client/httpLink.js +++ b/src/client/httpLink.js @@ -7,17 +7,24 @@ import { getMainDefinition } from '@apollo/client/utilities'; let uri = ApollosConfig.APP_DATA_URL; const androidUri = ApollosConfig.ANDROID_URL || '10.0.2.2'; -console.log(uri); - // Android's emulator requires localhost network traffic to go through 10.0.2.2 -if (Platform.OS === 'android') uri = uri.replace('localhost', androidUri); +if (Platform.OS === 'android') { + uri = uri.replace('localhost', androidUri); +} export default split( ({ query }) => { const { kind, operation } = getMainDefinition(query); return kind === 'OperationDefinition' && operation === 'mutation'; }, - createUploadLink({ uri }), + createUploadLink({ + uri, + headers: { + ...(ApollosConfig.CHURCH_HEADER + ? { 'x-church': ApollosConfig.CHURCH_HEADER } + : {}), + }, + }), createHttpLink({ uri, useGETForQueries: true, @@ -26,6 +33,9 @@ export default split( // Fastly does not currently respect no-store or no-cache directives. Including either or both of these in a Cache-Control header has no effect on Fastly's caching decision // https://docs.fastly.com/en/guides/configuring-caching#do-not-cache 'Cache-Control': 'no-cache, no-store', + ...(ApollosConfig.CHURCH_HEADER + ? { 'x-church': ApollosConfig.CHURCH_HEADER } + : {}), }, }) -); +); \ No newline at end of file diff --git a/src/client/index.js b/src/client/index.js index f7ad7518..d8e14114 100644 --- a/src/client/index.js +++ b/src/client/index.js @@ -1,69 +1,51 @@ -import React, { PureComponent } from 'react'; +import { useEffect } from 'react'; import PropTypes from 'prop-types'; - -import { ApolloProvider, ApolloClient, ApolloLink } from '@apollo/client'; +import { ApolloProvider, ApolloClient, ApolloLink, gql } from '@apollo/client/core'; import { getVersion, getApplicationName } from 'react-native-device-info'; -import AsyncStorage from '@react-native-community/async-storage'; -import Appcenter from 'appcenter-analytics'; -import { authLink } from '@apollosproject/ui-auth'; -import { onError } from 'apollo-link-error'; +import { authLink, buildErrorLink } from '@apollosproject/ui-auth'; +import { updatePushId } from '@apollosproject/ui-notifications'; import { NavigationService } from '@apollosproject/ui-kit'; -import { bugsnagLink, setUser } from '../bugsnag'; -import { resolvers, schema, defaults, GET_ALL_DATA } from '../store'; import httpLink from './httpLink'; import cache, { ensureCacheHydration } from './cache'; -import MARK_CACHE_LOADED from './markCacheLoaded'; -const goToAuth = () => NavigationService.resetToAuth(); const wipeData = () => - cache.writeQuery({ query: GET_ALL_DATA, data: defaults }); + cache.writeQuery({ + query: gql` + query { + isLoggedIn @client + cacheLoaded @client + } + `, + data: { + __typename: 'Query', + cacheLoaded: false, + isLoggedIn: false, + }, + }); -let clearStore; let storeIsResetting = false; const onAuthError = async () => { if (!storeIsResetting) { storeIsResetting = true; - await clearStore(); + await client.stop(); + await client.clearStore(); } storeIsResetting = false; - goToAuth(); + NavigationService.resetToAuth(); }; -const buildErrorLink = (onAuthError1) => - onError(({ graphQLErrors, networkError }) => { - if (graphQLErrors) - graphQLErrors.map(async (error) => { - // wipe out all data and go somewhere - const token = await AsyncStorage.getItem('authToken'); - if (error.extensions.code === 'UNAUTHENTICATED') { - AsyncStorage.removeItem('authToken'); - Appcenter.trackEvent('Token removed', { - token, - error: error.message, - }); - onAuthError1(); - } - return null; - }); - - if (networkError) return null; - return null; - }); - const errorLink = buildErrorLink(onAuthError); -const link = ApolloLink.from([bugsnagLink, authLink, errorLink, httpLink]); +const link = ApolloLink.from([authLink, errorLink, httpLink]); export const client = new ApolloClient({ link, cache, queryDeduplication: false, shouldBatch: true, - resolvers, - typeDefs: schema, name: getApplicationName(), version: getVersion(), // NOTE: this is because we have some very taxing queries that we want to avoid running twice @@ -83,49 +65,53 @@ export const client = new ApolloClient({ }, }); -// Hack to give auth link access to method on client; -// eslint-disable-next-line prefer-destructuring -clearStore = client.clearStore; - wipeData(); // Ensure that media player still works after logout. client.onClearStore(() => wipeData()); -class ClientProvider extends PureComponent { - static propTypes = { - client: PropTypes.shape({ - cache: PropTypes.shape({}), - }), - children: PropTypes.oneOfType([ - PropTypes.arrayOf(PropTypes.node), - PropTypes.node, - PropTypes.object, // covers Fragments - ]).isRequired, - }; - - static defaultProps = { - client, - }; - - async componentDidMount() { - try { +const ClientProvider = ({ children }) => { + useEffect(() => { + const initialize = async () => { await ensureCacheHydration; - } catch (e) { - throw e; - } finally { - client.mutate({ mutation: MARK_CACHE_LOADED }); - setUser(client); - } - } + client.writeQuery({ + query: gql` + query { + cacheLoaded @client + } + `, + data: { + cacheLoaded: true, + }, + }); + const { isLoggedIn } = client.readQuery({ + query: gql` + query { + isLoggedIn @client + } + `, + }); + const { pushId } = client.readQuery({ + query: gql` + query { + pushId @client + } + `, + }); + if (isLoggedIn && pushId) { + updatePushId({ pushId, client }); + } + }; + initialize(); + }, []); + return {children}; +}; - render() { - const { children, ...otherProps } = this.props; - return ( - - {children} - - ); - } -} +ClientProvider.propTypes = { + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + PropTypes.object, // covers Fragments + ]).isRequired, +}; -export default ClientProvider; +export default ClientProvider; \ No newline at end of file diff --git a/src/index.js b/src/index.js index 487f7c75..989790db 100644 --- a/src/index.js +++ b/src/index.js @@ -1,46 +1,45 @@ /* eslint-disable react/jsx-handler-names */ -import hoistNonReactStatic from 'hoist-non-react-statics'; -import React from 'react'; -import { StatusBar, Platform } from 'react-native'; -import { NavigationContainer } from '@react-navigation/native'; +import { StatusBar } from 'react-native'; +import { + NavigationContainer, + useNavigation, + DarkTheme, + DefaultTheme, +} from '@react-navigation/native'; import { createNativeStackNavigator } from 'react-native-screens/native-stack'; import SplashScreen from 'react-native-splash-screen'; import 'react-native-gesture-handler'; // required for react-navigation import { enableScreens } from 'react-native-screens'; -import { gql } from '@apollo/client'; -import { Query } from '@apollo/client/react/components'; import { BackgroundView, withTheme, NavigationService, + Providers as ThemeProvider, } from '@apollosproject/ui-kit'; import Passes from '@apollosproject/ui-passes'; -import { RockAuthedWebBrowser } from '@apollosproject/ui-connected'; -// import { CoreNavigationAnalytics } from '@apollosproject/ui-analytics'; -// import PersonalDetails from './user-settings/PersonalDetails'; -// import ChangePassword from './user-settings/ChangePassword'; - -// need to initialize error tracking at the entrypoint -// eslint-disable-next-line -import Crashes from 'appcenter-crashes'; -// eslint-disable-next-line -import bugsnag from './bugsnag'; - import { MapViewConnected as Location } from '@apollosproject/ui-mapview'; import Auth, { ProtectedRoute } from '@apollosproject/ui-auth'; import Prayer from './prayer'; +import { BottomSheetModalProvider } from '@gorhom/bottom-sheet'; +import { + ContentSingleConnected, + ContentFeedConnected, + SearchScreenConnected, + UserSettingsConnected, +} from '@apollosproject/ui-connected'; import Providers from './Providers'; import ContentSingle from './content-single'; import NodeSingle from './node-single'; import Event from './event'; import Tabs from './tabs'; -import LandingScreen from './ui/LandingScreen'; +import * as Landing from './ui/LandingScreen'; import Onboarding from './ui/Onboarding'; import Discover from './tabs/home/Discover'; import ContentFeed from './content-feed'; +import customTheme, { customIcons } from './theme'; enableScreens(); // improves performance for react-navigation @@ -49,128 +48,113 @@ const AppStatusBar = withTheme(({ theme }) => ({ backgroundColor: theme.colors.background.paper, }))(StatusBar); -const ProtectedRouteWithSplashScreen = (props) => { - const handleOnRouteChange = () => { - SplashScreen.hide(); - }; - - return ; +const ProtectedRouteWithSplashScreen = () => { + const handleOnRouteChange = () => SplashScreen.hide(); + const navigation = useNavigation(); + return ( + + ); }; -const EnhancedAuth = (props) => ( - - {(openUrl) => ( - - {({ data: { forgotPasswordURL } = {} }) => ( - - forgotPasswordURL ? openUrl(forgotPasswordURL) : null - } - authTitleText={'Let’s connect'} - smsPolicyInfo={ - 'We will not share your information or contact you without your permission.' - } - confirmationTitleText={'Thanks!'} - confirmationPromptText={ - 'We just texted you a shortcode. Enter it below, then hit next.' - } - /> - )} - - )} - +const WrappedContentSingleConnected = (props) => ( + + + ); -// Hack to avoid needing to pass emailRequired through the navigator.navigate -// 😑 -hoistNonReactStatic(EnhancedAuth, Auth); - -const { Navigator, Screen } = createNativeStackNavigator(); -const ThemedNavigator = withTheme(({ theme, ...props }) => ({ - ...props, - screenOptions: { - headerTintColor: theme.colors.action.secondary, - headerTitleStyle: { - color: theme.colors.text.primary, - }, - headerStyle: { - backgroundColor: theme.colors.background.paper, - ...Platform.select(theme.shadows.default), +const ThemedNavigationContainer = withTheme(({ theme, ...props }) => ({ + theme: { + ...(theme.type === 'dark' ? DarkTheme : DefaultTheme), + dark: theme.type === 'dark', + colors: { + ...(theme.type === 'dark' ? DarkTheme.colors : DefaultTheme.colors), + primary: theme.colors.secondary, + background: theme.colors.background.screen, + card: theme.colors.background.paper, + text: theme.colors.text.primary, }, - headerShown: false, - stackPresentation: 'modal', }, -}))(Navigator); + ...props, +}))(({ containerRef, ...props }) => ( + +)); + +const LandingToAuth = () => { + const navigation = useNavigation(); + return navigation.navigate('Auth')} />; +}; + +const { Navigator, Screen } = createNativeStackNavigator(); -const App = (props) => ( - +const App = () => ( + - - - - - - - - - - - - + + + + + + ({ + title: route.params.itemTitle || 'Content Feed', + stackPresentation: 'push', + })} + /> + + + + ( name="Discover" options={{ stackPresentation: 'modal' }} /> + + ({ - title: route.params.itemTitle || 'Content Feed', - headerShown: true, - stackPresentation: 'push', - })} - /> - - + name="UserSettingsNavigator" + component={UserSettingsConnected} + /> + + + - + ); -export default App; +export default App; \ No newline at end of file diff --git a/src/prayer/PrayerList/index.js b/src/prayer/PrayerList/index.js index 30796edb..0652da06 100644 --- a/src/prayer/PrayerList/index.js +++ b/src/prayer/PrayerList/index.js @@ -2,7 +2,6 @@ import React, { PureComponent } from 'react'; import { View, ScrollView } from 'react-native'; import { SafeAreaView } from 'react-native-safe-area-context'; import PropTypes from 'prop-types'; -import Emoji from 'react-native-emoji'; import { Query, Mutation } from '@apollo/client/react/components'; import { @@ -169,7 +168,7 @@ class PrayerList extends PureComponent { - Thanks for praying + Thanks for praying ❤️