* Add and remove strings
* Drawer TS
* INatIcon TS
* Fix import
* INatIcon TS
* ActivityIndicator TS
* Button TS
* Optional param
* Add ViewStyle prop back in
* WarningSheet TS
* Add string
* Update Logout.js
* Add types
* Change log out label to not navigate but set state
* Imports
* Show warning sheet on log out press
* Actually sign out user from warning sheet
* Remove sign out fct from Logout screen
* Change logger context
* Remove Logout
* Use Heading4 instead of local style
* Use Icon instead of Button
* Pixel pushing
* Prop testID down
* Remove unused login state
* Login TS
* Update type
* Add bottom padding to Login text
* Body2 TS
* Checkbox TS
* Add bottom padding
* Add transparent mode to Checkbox
* Use transparent Checkbox in License form
* Update string
* Bit more padding
* Update SignUpConfirmation.js
* Navigate to home screen for text
* Error TS
* Authenticate user immediately after registration
* Update List2.tsx
* Update Checkbox.test.js.snap
* If authentication fails after reigstration only log an error but proceed
* Add loading state to register button
* Refactor syncing code and add preUploadProgress checks
* Progress on sync button functionality
* Fix deletions progress and toolbar test
* Time out deletion complete if no uploads
* Delete and then upload from sync button
* Test cleanup
* try to fix tests
* Improvements to automatic and button sync logging
* Code cleanup
* Renaming and rewriting sync functionality
* Restore MyObs test
* Add tests for useSyncObservations
* Code cleanup
* Use unique realm instance in useSyncObservations test
* Fixes for e2e crash
* Fix deletions, tests, and deletion errors
* Show and clear deletions on toolbar
* Sleep longer before resetting toolbar
* Remove sleep to pass e2e test
* Reorder hooks dependencies
* Return uri from take photo hook
* Keep state of photos added in this instance of the camera
* List2 TS
* INatIconButton TS
* Refactor useBackPress to show discard modal only if photos taken during this instance of the camera
* Remove newPhotoCount var
* TS refactors
* fetchUserLocation TS
* Increase timeout
* Fix error
* Hoist deletePhotoByUri
* Delete photos on discard
* Reorder code
* Set saving photo on checkmark press
Closes#1556
* Update snapshots
* Remove delete test
* Create StandardCamera.test.js
* Check if image is there before deletion
* Update react-native-share-menu+6.0.0.patch
* Update e2e_ios.yml
* Update some types
* Fetch location continuously in cameras until accuracy falls below threshold
* Unit test for useUserLocation
* Added untilAcc option to useUserLocation
* Bugfix: ObsEdit was not always fetching location for new camera photos
Closes#1340
* Rename numObservationsInQueue to initialNumObservationsInQueue for clarity
* Change upload timeout to 5 minutes (from 15 seconds)
* Mint a new abortController at the beginning of an upload queue, not for each
observation
* Bugfix: map area search was broken after Nearby filter set
* Made EXPLORE_ACTION.SET_MAP_BOUNDARIES remove lat, lng, and radius
attributes so we don't end up applying both kinds of geographic filters at
the same time
* Renamed setExploreLocation to defaultExploreLocation because it doesn't set
anything
* Added a unit test fot the Explore reducer
* Bugfix: zoom Explore to nearby after granting permission
* Remove tab bar when sharing photos into app; closes#1645
* Make explore view sticky with species as default view; closes#1614
* Fix Explore integration test; use default species view
* Refactor upload code into hook and zustand slice
* Create a single source of truth for toolbar and individual progress
* Fix unit tests
* Fix more tests
* Continue trying to simplify upload progress and status code
* Continued overhaul of upload code
* Fix exclamation point in Toolbar
* Fix total toolbar progress
* Fix tests
* Update snapshots
* Code cleanup
* Update MyObs test
* Fix most tests by not deleting realm
* Keep attempting to make toolbar text clear in subsequent tests
* Delete photos from observation; allow upload once photos deleted; closes#1575
* Only pass photo uri into evidence list; fix test
* Fix merge
* Refactor upload code into hook and zustand slice
* Create a single source of truth for toolbar and individual progress
* Fix unit tests
* Fix more tests
* Continue trying to simplify upload progress and status code
* Continued overhaul of upload code
* Fix exclamation point in Toolbar
* Fix total toolbar progress
* Fix tests
* Update snapshots
* Code cleanup
* Update MyObs test
* Fix most tests by not deleting realm
* Keep attempting to make toolbar text clear in subsequent tests
* Mock Zustand and reset state after all tests
In theory this should make testing with Zustand simpler. The real kicker is
that resetting state will fail if we're not careful about manually replacing
nested objects in Zustand state updates.
* Bugfix: removeAllFilesFromDirectory works with File objects, not raw paths
* Update status text when uploads canceled
* Only show red exclamation rotating icon after all uploads attempted
* Fix progress bar with zustand nested object
* Fix toolbar progress
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Catch 401 errors when we try to fetch remotely deleted obs for signed out
users
* Skip the check to see if a user is a friend on UserProfile when signed out
* Replace uses of RNFS.unlink() with a wrapper that ignores errors about files
not existing
* Tried to get safeRealmWrite to preserve error type before re-throwing
* Log the actual message we intended for JSON parsing errors
* Always use the configured tile URL instead of hard-coding it
* Use tiles.inaturalist.org whenever possible
* Start automatically syncing remotely deleted observations
* Fix query invalidation in ObsDetails
* Fix deletion process
* Call deletions once every time a user lands on MyObs
* Fix deletion tests
* Fix tests
* Check for CV directory
* Save original, rotated photos for processing; clear directory when user lands on MyObs
* Reset evidenceToAdd when user lands on StandardCamera
* Disable photo taking while loading so one photo doesn't overwrite another
* Refactor image-resizer into helper function for easy logging
* Create a folder for computerVisionSuggestions
* Display iNat app directories in Debug
* Delete old images from computerVisionSuggestions/ when navigating away from Suggestions
* Fix online suggestions API call
* Fix tests
* Clear computer vision directory when landing on Suggestions screen
* Close#1309 - suggestions screen - always use latest added photo; AR camera - replace all existing photos
* #1421 - in case of backing out from suggestions screen, back to AI camera, delete previous obs photo
---------
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Correctly access local photos in ObsList/MediaViewer after app updates; closes#1420
* Use displayLargePhoto method in masonry layout
* Map bug fix; snapshot fix
* Update camera and plugin packages
* Remove one patch
* Replace deprecated function
* Update runAsync patch
Removing this patch leads to non-functioning frame processors in release builds. Contrary to what the original issue's solution states.
* Add typescript parser and fix Flow errors in JS files
* Uninstall packages from react-native/eslint-config
* Fix all flow errors (or ignore them for unknowns