* Simplify ObsEditProvider by moving functions into local state & calling reducer less frequently
* Fix delete all observations
* Fixes
* Move index selection to MediaViewer via params
* Access ObsEditContext on top level of ObsEdit and pass props
* Move context to top level screen components
* Fix tests
* Use waitFor to fix ObsDetails integration test
* Alphabetize props; remove realm check; refactor new Id method
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Changed help text when choosing an obs location
* Potentially support an Apple-style share icon on DetailsMap
* Update UI immediately when faving or unfaving instead of waiting for the
server to respond
* Added a loading indicator to the blank PhotoGallery screen
* Changed notes-editing bottom sheet button from CONFIRM to DONE
Separated PhotoCarousel view and delete into separate buttons
Fixes#837 by separating the two separate press interactions into two separate
buttons, which is probably also better for accessibility (screen reader can
read two separate labels for two separate actions). Also addresses a layout
bug in landscape on iPad.
Also *might* introduce a bug with orientation lock reverting when rotating
device while in delete mode. Only happens in Android, may not be new
* Move upload functionality into MyObservations, out of ObsEditProvider
* Move upload into helper function
* Fixes for ObsEdit -> MyObs flow
* Progress on making uploads faster
* Update performance test
* Fix toolbar progress
* Fix tests for observation upload flow
* Fixes from code review; fix e2e test for signed in user by bypassing permission gate
* Hide sign up test when keyboard visible; fixes Android e2e test
* Comment out permissions code in e2e test to see if it's only needed locally
* Comment out permissions gate for signed out user iOS
* Use focused hook to stop ObsEdit from rerendering while user is on other screens
* Restore reassure in branch
* e2e code cleanup
The App Store complained about missing this permission the last time we
submitted a build, even though we never request it. I added it to supress
that warning, but used text to make it clear the user should not be seeing
it.
* New Developer stack navigator and screen
* New logs screen
* Moved log reading and sharing into a hook
* Commented out drawer items that take you to placeholder screens
* Fixed back button placement on some screens
* Performance test with reassure, danger/CI integration set up
* Remove log
* Fix script location in github actions test
* Run performance tests before regular tests
* Move script
* Make script findable and executable
* Find scripts directory
* Find scripts directory
* Find scripts directory
* Give permission
* Comment out performance test CI
* Remove danger/CI and update naming
* Remove danger from package.json
The problem seemed to be reverse geocoding the coordinates for each
observation before moving on to ObsEdit, i.e. when that threw an exception it
kind of silently cause Promise.all not to resolve... which is not supposed to
happen for a few reasons, foremost among them that we were catching the error
and returning null instead. So I'm still confused about why exactly this was
happening.
Regardless, geocoding is potentially slow and buggy, so IMO it's better to do
it on ObsEdit than in the provider, and only do it when we need it, i.e. when
the user is actually looking at the obs.
Some other minor changes
* Show loading indicator on GroupPhotos button while creating obs
* fetchPlaceName performs a null check on coords before making a network
request to test connectivity
* More precise error handling
* Removed some redundant await statements
* Mocked react-native-geocoder-reborn in tests
Closes#857
This was removing the search results when returning from Taxon Detail. Without
it, I think React Navigation is unmounting the component when you go back
from it in the stack, which achieves what I think we want.
* Remove console statements in production build
* Move uploadReducer into separate file
* Create reducer for creating obs; combine reducers
* Fixes with createObsReducer
* Move album, passes test states out of global context
* Bug fixes for ObsEdit flow
* Create photo gallery container
* Set accessibility test todo for PhotoGallery
* Improve FlashList performance MyObs
* Prevent flicker on modal close
* Create less rerenders in MyObservations
* Memoize drawer items for less rerendering
* Memoize custom tab bar
* Remove unused libraries and update snapshot
* Fix and prune dependencies
* Add AddObsModal tests
* Fix e2e test android by making comment confirm button visible
* Use callbacks and memoization to cause less rerenders
* Fix tests
* Remove unused code
* Remove log
* Minimize calls to check whether internet is reachable
* Remove unused code