So, in a case of having no top suggestion but low confidence additional suggestions we show all UI available for the match screen, so that a user can potentially also improve them by giving location permission.
* MOB-562 Use device language for not logged user when requesting suggestions
* MOB-562 Use device language for not logged user when requesting suggestions
* MOB-562 Use device language for not logged user when requesting suggestions
* MOB-562 Use device language for not logged user when requesting suggestions
* Add locale checks for Explore ObsDetails and TaxonDetails
---------
Co-authored-by: Amanda Bullington <albullington@gmail.com>
* More error handling for 429 errors, including for mutations
* Handle 429 errors with react query; handle for mutations; include context
* Implement progressive backoff for retries
* Type fixes
* Update types
* Do not show offline notice when empty suggestions
Because this can mean that online had zero suggestions, which started offline which also had zero suggestions. It does not mean the app itself is offline.
* use useWatchPosition for location fetch
* Fix latitude check, add shouldFetchObservationLocation to check for evidence
* Update Podfile.lock
* Update MatchContainer.js
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Use inferred return type
* Default to a camera format that is full-screen for ai camera
And 3/4 for standard camera.
* Measure container and prioritize format aspect ratio accordingly
* Do not measure container layout
* Add debug button to cycle through camera formats
* Use work queue to store local taxon name preferences & update when user goes online
* Do less updating on Settings screen
* Add logging to make sure taxon names are set correctly
* Test for TaxonNamesSettings
* Undo a change I made in an earlier branch
* Add online skipped state
Integration test of UnsyncedObservations is checking the onlineSuggestions hook with setting NetInfo's isConnected to fasle. The assumption there is that the score_image API is not even hit in such an instance.
So, we also need a skip state for online suggestions.
* Only show welcome back pivot card immediately after successful login
* Reorder hooks
* Use zustand state instead of navigation param
* Set a state to zustand that we just logged in while in default mode
* Fix wrong commit
* Define const in other component
* Separate out online and offline loading state
* Add type
* Add debug data
* Also call fetchError when netInfo says we are offline
* Do not make FlashList wrapper accessible
Because it takes away a11y from the single items, and makes the list unscrollable with a11y commands.
* Remove a11y label
This was read without the actual param passed in so made no sense. Removing it for now. In that way at least the actual ID text is read.
* Make bottom sheet container not accesible
* Prop number in from direct and single HOC
* Prop num in from even higher
* Calculate number of unuploaded obs with missing basics
* Only show upload indicators when number of obs without missing basics is positive
* Send obs uuids with missing basics to button press handler
* Instead of reacting in useEffect call syncManually explicitly
* Accept array of uuids to skip and pass on to startUploadObservations
* If param given do not include some uuids when building upload queue
* Remove test
* Change param interface to options object
* Destructure only if param given
* adds species counts to default mode logged out and logged in
* Add gradient to species grid image, remove log statements
* fix indent
* Remove realm species count
* Indent
* Remove indent
* Update test ID
* Change interface
* Update type to no longer reference removed interface
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>