* Don't require TS extensions in imports
* Resolve all import extension errors
* Remove file extension from import paths used in mocks
* Remove .d of type definition file paths
* Remove .d of type definition file and import as type
---------
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
* Change TS warning about unused variables to error & support _unused in catch blocks
* Use TS recommended object instead of Object
* Set Function issues to warnings in TS files for later fixing
* 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
* remove assumed and undocumented meaning of page being zero from our use of
useInfiniteScroll in Explore; uses explicit type checks instead
* document byzantine pagination logic in useInfiniteExploreScroll
* fix broken infinite scroll when sorting by faves (was only showing first
page)
The underlying problem from 96c316a was setting initialPageParam to 1 in
useAuthenticatedInfiniteQuery, which seems rational, except
useInfiniteExploreScroll was using a false-ish value of page to detect when
it was requesting its first page. This does the same by being more explicit
about page's type without injecting undocumented meaning into the params we
hand to useInfiniteScroll.
* refactor: move Explore page param munging into unit tested helper
Closes MOB-400
* refactor: convert ExploreProjectSearch to TS and assoc'd TS changes
* feat: use infinite scroll in Explore Filters project search
* feat: show universal search results in Explore project search
This should show the same ranked search results a user would see at
https://www.inaturalist.org/search?source[]=projects
Closes MOB-313
* Catch and squelch "Network request failed" errors that happen during logging itself (#1639)
* Log around RNSI access to resolve when/where those errors occur (#1639)
* Log around JWT retrieval to resolve when/where JWT missing errors occur (#2155)