* Add react-native-legal
* Update package-lock.json
* Update Podfile.lock
* Git ignore the results of the license gathering script
* Run "npx react-native legal-generate"
* Update .gitignore
* Type navigation in About
* Add link to About to show licenses
* Update strings.ftl
* Add step into build process
* Add jest mock
* Add npm script for legal-generate
* Update project.pbxproj
* Update package.json
* Update AppDelegate.mm
* Update Podfile
* Update .gitignore
* Update link-inat-model-files.sh
* Add plist file to project
* Update project.pbxproj
* Add analytics package
* Update project.pbxproj
* Update PrivacyInfo.xcprivacy
* Basic screen tracking
* Basic button press logging to firebase
* Update package-lock.json
* Update Podfile.lock
* Add Android setup
* Update .gitignore
* Add analytics mock
* Ignore rubocop warning here
* Create GoogleService-Info.example.plist
* Create google-services.example.json
* Add instructions to set up Firebase configs
* Update e2e_ios.yml
* Update e2e_android.yml
* Better plural
* Use specific XCode version in e2e CI
* Update GoogleService-Info.example.plist
* Revert "Update GoogleService-Info.example.plist"
This reverts commit 0bc0ed4862.
* We need an actual real app id or we get a crash during app start
* My bad, we do need both files for building
* Also set API key
* Add comments
* Add comment
* Update Podfile.lock
* Revert "Use specific XCode version in e2e CI"
This reverts commit cbd63d1b5d.
* Update package.json
* Update package-lock.json
* Update Podfile.lock
* Breaking change: Set LiteRT version instead of tensorflow-lite
* Fix: actually use latest version
* Upgrade helper changes JS side
* Upgrade helper Android
* Upgrade helper iOS side
* Update project.pbxproj
* Create react-native-modal+14.0.0-rc.1.patch
* BackHandler.removeEventListener is deprecated
* Update react-native-modal
* Update .flowconfig
* Update package-lock.json
* Update Podfile.lock
* Update Podfile.lock from main
* Replace toBeVisible with toBeOnTheScreen
This is not recommended by react-navigation, because even though toBeOnTheScreen makes sure the components are in the tree it does not mean they are visible to the user. For example, in terms of navigation a previous screen is still i the tree but not visible to the user in the app.
I spent around a day trying to figure out why the isVisible check stopped working, and still have no clear answer.
Testing in the actual app shows that all of those flows are still working as expected, so it is a test-environment-only problem.
My suggestion would be to re-visit this problem after we have updated RN to latest, and testing related libraries to latest versions.
* Changes according to the RN upgrade helper
* Update .flowconfig
* Update Gemfile.lock
* Fix typo in minimunSDK version specified
* Disable New Architecture
* Prefer double-quotes
* Update .flowconfig
* Update vision camera patch version number
* Update package-lock.json
* Update Podfile.lock
* Remove no longer needed mock
* Upgrade to RN0.74 with upgrade helper
* Bump minor version
* Remove yarn files
* RN 0.74.7
* Update .flowconfig
* Update Gemfile.lock
* Update project.pbxproj
* Update PrivacyInfo.xcprivacy
* Refactor uri into constant
* Only use filename for name
Because using the full uri does no longer work like this.
* Check for uri being null
* Update metro.config.js
* Rubocop autocorrect
* Update package-lock.json
* Update react-native-vision-camera+4.0.5.patch
* Update Podfile.lock
* Upgrade to RN 0.73 with upgrade helper
* Upgrade testing-library
* Comment announcements
* Comment out UserProfle test
* Mock function used to calculate masonry layout
* There should not be a modal here
* There is actually also no modal here
* Use View if SafeAreaView is undefined
* Replace fast image library that was failing tests because of not being maintained
* Clear mocks in useTaxon test
* Remove legacy deps from testing flow
* Snapshot update
* Revert "Snapshot update"
This reverts commit bca8b296df.
* Update package-lock.json
* Clean-start
* Update project.pbxproj
* Reenable test that failed before updating dependency
* Reenable test that failed because of dependencies
* Remove comment
* Update vision camera
* Breaking change: camera device hook
* Breaking change: replace reanimated function calls
* Update vision plugin
* New take photo options
* Use changed props
* Remove undocumented prop
* Update test mocks for vision camera libraries
* Replace vision camera device orientation strings
* Add explanations to a central file for patches needed with the vision camera
* Some more patches
This also upgrades us to React Native 0.70.4 and adds a number of files that get us ready for the New Architecture.
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
Configures fastlane to automate our current release process of making a git tag, making a git release, building, and pushing to the Play Store internal track and Testflight. See README.md for details on setup and usage.
Co-authored-by: Amanda Bullington <albullington@gmail.com>
* Add exception handler library; fix computer vision results
* Create loggedIn hook to check whether user is logged in before cv suggestions or upload
* Create user profile card on MyObs
* Update packages
* Add text for camera permissions denied
* Remove log
* Upgrade react native on iOS
* Add vendor file for ruby gems to gitignore
* Remove vendor file from github
* Update react native for android
* Add plural example to fluent; create TranslatedText component to render translations
* Add translations and update camera roll screens
* Small changes to uploader flow; add date/time picker
* Separate explore into landing screen and view screen
* Show total number of observations, explore
* Clean up styling and add details for grid view; banner for total observations in explore
* Add checkboxes for status, quality grade, media filters
* Add a lot of explore filters
* Show months in Explore filters
* Create About screen; sync package.json version using react native version
* Get explore filters in mostly working condition
* Observations download after login; clear login screen after nav; closes#62 and #60
* Allow separating photos if at least 1 combined photo obs is selected; closes#68
* Fix auth tests; add user id
* Pop text input above keyboard to address #66
* Lint cleanup
* Create bottom modal for user tapping back button on ObsEdit
* Check permissions on android only, camera
* Keep trying to get android camera working
* Change version number to 0.1.0
* Add to user profile
* Create a hook to fetch member projects
* Create custom header for user profile
* Updates to user profile; resize image for CV suggestions; build config for Android
* Bug fixes with obs list & CV suggestion fields
* Add functions for creating id, faving obs and adding comment in obsdetail
* Show comments as activity items; create comments and refetch obs data
* Fix activity item keys
* Add data to data tab, obs detail
* Let user unfave observation
* Fix camera modal
* Get tests passing
* Struggles with git
* Continued struggles with git stash
* Database experiments
* Get API v2 implementation working with fetch
* WatermelonDB fetch; API v2; RN testing library set up; pods installed
* Enable hermes
* WatermelonDB working with Jest; code cleanup; install latest inatjs
* Experiment with migrations in WatermelonDB
* Remove WatermelonDB from project
* Continue removing watermelonDB
* Add observation schema; remember to remove hermes
* Create local realm observations from observations/search fetch
* Wrap ObsList test in navigation container; add realm files to gitignore