Commit Graph

4199 Commits

Author SHA1 Message Date
Johannes Klein
c378c8894d Replace small example models, and add example geomodel (#2644)
* Update env.example

* Update model download script

* Delete geomodel.placeholder

* Update README.md

* Update e2e_ios.yml

* Update vision-plugin

* Accept android flavor for downloading models

* Change Android e2e env

* Replace Android e2e model download step

* Update comment

* Move Java setup step

* Revert "Move Java setup step"

This reverts commit d8ca01a176.
2025-02-03 12:16:22 +01:00
Angie
7e19fd58dc Adds a follow and unfollow button when viewing others ObsDetails (#2639) 2025-01-31 15:51:44 -08:00
Ken-ichi
7e960d9010 feat: display time zones and times in time zones (#2636)
* fix: show observation datetime in the obs time zone

I.e. it doesn't offset the observation datetime into the viewer's time zone.

* test: adjust to literal times by default

* chore: update to date-fns 3.0

* wip: show time zone names with all times

* show time zone name whenever a time zone is passed to a formatting function
* store observation IANA time zone in Realm

Note that this required patching around a bug in Hermes in which it should be
returning a GMT offset for the short time zone but is instead just returning
GMT.

* fix: omit time zone for unuploaded obs

* feat: show relative time differences on ActivityItem headers

* fix: hide zone/offset on ObsEdit before upload when signed in

* fix: hide clock icon in activity item header in new default mode

Also

* stop using checkCamelAndSnakeCase when not necessary in DetailsTab.js
* make POJO types only refer to other POJO types
2025-01-31 23:22:55 +01:00
Amanda Bullington
3fbb2c470a Prevent cell recycling in FlashList (#2643)
* Create simple taxon grid item and prevent cell recycling for this component

* Code cleanup

* Apply cell recycling fixes to Explore > SpeciesView and ObservationFlashList

* Fix tests; update snapshot
2025-01-29 14:29:29 -08:00
Amanda Bullington
e9f1b99af7 Update header tab typography (#2642) 2025-01-29 13:51:41 -08:00
Amanda Bullington
bf7644a811 Fix crash when typing alphanumeric chars offline in taxon search (#2641) 2025-01-29 13:51:29 -08:00
Amanda Bullington
9fae07cb16 Reduce size of nav button text (#2640) 2025-01-29 08:32:31 -08:00
Amanda Bullington
cfda3de82d Change obscuration placement and alignment (#2638) 2025-01-28 11:10:39 -08:00
Amanda Bullington
1cabf488e3 Add spacing to observation and taxon photos in Match screen (#2637) 2025-01-27 17:30:27 -08:00
Kirk van Gorkom
9894e25700 v0.57.6+138 v0.57.6+138 2025-01-27 16:38:45 -08:00
Kirk van Gorkom
b6f509e5f1 Increment version number to 0.57.6 2025-01-27 16:35:55 -08:00
Kirk van Gorkom
6e2791f94f Fix dependencies from broken pod install in 7dc29a25c4 2025-01-27 16:30:05 -08:00
Kirk van Gorkom
00b7170338 v0.57.5+137 v0.57.5+137 2025-01-27 16:20:52 -08:00
Kirk van Gorkom
e925272e93 Increment minor version to 0.57.5 2025-01-27 16:15:18 -08:00
Kirk van Gorkom
65d391afbe v0.57.4+136 v0.57.4+136 2025-01-24 20:23:35 -08:00
Kirk van Gorkom
7dc29a25c4 Increment minor version number. Update various cocoapods. 2025-01-24 20:14:42 -08:00
Amanda Bullington
14d2ed990d Upgrade inatjs package and fix payload for users/update (#2635) 2025-01-23 17:52:58 -08:00
Ken-ichi
fb7a9bb421 fix: allow Explore searches in places again (#2634)
* 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
2025-01-23 17:32:27 -08:00
Amanda Bullington
20952ec7aa Add a loading wheel and freeze frame before awaiting logs in AICamera (#2632) 2025-01-22 18:47:07 -08:00
Ken-ichi
9429fd0996 fix: prevent iconic taxon common names from disappearing in the local db (#2631)
Ensure useAuthenticatedQuery only executes the query when it knows if the user
is signed in or not, and appends that state to the query key so signed in and
signed out results are distinct.

The problem here was that useIconicTaxa was mysteriously returning stale,
signed out results while offline.

Closes MOB-383
2025-01-22 17:17:26 -08:00
Amanda Bullington
c09cb2f5de Add place_guess before navigating to Match screen from gallery (#2630) 2025-01-22 13:32:28 -08:00
Amanda Bullington
20a4008c1c Crash/bug fixes for Match Screen (#2628)
* Only reset observation slice at the beginning of the flow, not the end of the flow, so screen doesn't rerender and crash

* Pass in an option to skip resetting slice before navigating

* Pass correct taxonId to TaxonDetails screen
2025-01-21 18:03:11 -08:00
Ken-ichi
21a66c8580 fix: make UUIDs more random (#2629)
Replaces react-native-uuid with uuid, which might do a better job making UUIDs random
2025-01-21 15:23:15 -08:00
Ken-ichi
7b0a7d5018 feat: remove confidence score dots from AI camera in default mode (#2622)
Closes MOB-381
2025-01-21 11:21:17 -08:00
Ken-ichi
736eba5a52 feat: add labels to tab buttons (#2611)
* feat: add text labels to bottom tabs
* fix: treat icon and text as single pressable for screen readers in bottom tabs
* feat: float AddObs button outside of bottom tab bar

Closes MOB-254

---------

Co-authored-by: Kirk van Gorkom <55742+kvangork@users.noreply.github.com>
2025-01-21 11:20:48 -08:00
Johannes Klein
47cf9f815a chore: few minor dev dependency updates (#2626)
* Few minor dependency updates

* Bump detox

* Bump nock

* Bump some eslint plugins

* Bump some types
2025-01-20 21:35:37 +01:00
Johannes Klein
c225ea54b6 chore: minor dependency updates (#2625)
* Minor dependency updates

* Update Podfile.lock

* Update @bam.tech/react-native-image-resizer
2025-01-20 14:23:39 +01:00
Amanda Bullington
92c5fa243d Add a navigation guard to make sure a user can't navigate to login while offline (#2624) 2025-01-17 19:34:24 -08:00
Ken-ichi
8121e1452c feat: show simplified MyObservations to logged in users (#2616)
* refactor: convert UserIcon to TypeScript
* feat: show simple MyObs to signed in user; add user icon & login to header
* feat: show warning and edit button for unuploaded obs w/o basics
* refactor: consolidate ObsEdit navigation logic
* feat: show edit button with circle dots
* refactor: upload UploadQueuedRotatingIcon to the more reusable CircleDots
  component
* refactor: upload icons to use more composition and fewer specialized, one-off
  components
* fix: bugs in determining if an obs has date and coords
* refactor: extract MyObservationsSimple business logic into container
* refactor: get total obs count from relevant hooks
* feat: show remote species for signed in users
* fix: hide photo count icon when missing basics icon is present
* feat: show banner alerting user when missing location or date

Closes MOB-318
2025-01-17 17:21:29 -08:00
Amanda Bullington
bbb7b46657 Keep list items (and all content) within the screen width (#2623) 2025-01-17 16:52:15 -08:00
Ken-ichi
96c316a257 feat: show all results in Explore projects search (#2621)
* 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
2025-01-17 16:31:07 -08:00
Amanda Bullington
9872a99f47 Fix: Show observation date in ObsEdit date picker (#2620)
* test: run same suite of tests for ObsDetails and its default mode equivalent

* Show observation date when opening date picker
2025-01-17 15:21:40 -08:00
Ken-ichi
fc07e53adc test: run same suite of tests for ObsDetails and its default mode equivalent (#2619)
Closes MOB-333
2025-01-17 12:01:41 -08:00
Johannes Klein
eda2c6a7c7 v0.57.3+135 v0.57.3+135 2025-01-17 12:07:55 +01:00
Johannes Klein
0d97f69974 Bump version 2025-01-17 12:06:45 +01:00
Kirk van Gorkom
60ae8eef9d v0.57.2+134 v0.57.2+134 2025-01-16 20:46:38 -08:00
Kirk van Gorkom
3940de1f17 Bump version number to 0.57.2, only for purposes of making a new build 2025-01-16 20:46:38 -08:00
Amanda Bullington
92f1b304bb feat: select other suggestions in Match screen (#2617)
* Update Match screen with new taxon photos, match header, and add'l suggestions list when suggestion is selected

* Code cleanup

* More defensive object equivalence check
2025-01-16 17:46:44 -08:00
Kirk van Gorkom
9e593c1779 v0.57.1+133 v0.57.1+133 2025-01-16 16:47:06 -08:00
Kirk van Gorkom
7d247e5b09 Bump version to 0.57.1 2025-01-16 16:41:08 -08:00
Ken-ichi
2789390f21 New Crowdin translations by GitHub Action (#2595)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-01-16 12:47:28 -08:00
Amanda Bullington
689882726c Update confidence scores to show decimal & update styling of suggestions list (#2615) 2025-01-16 10:48:05 -08:00
Amanda Bullington
4902dcf825 Show match screen after gallery; limit gallery selection to one photo (#2614) 2025-01-15 14:43:29 -08:00
Amanda Bullington
7ebde68646 Prevent swiping back on root screens (#2613) 2025-01-15 13:41:59 -08:00
Amanda Bullington
be40daa448 Hide explore button on TaxonDetails from Match (#2612) 2025-01-15 13:17:57 -08:00
Angie
cf00ef4885 new "by me" and "not by me" buttons for user filters in explore filters (#2596)
* adds "by me" and "not by me" user filter buttons to explore

* remove console log, improve rerenders when excluding current user in species view

* Remove user object from observations in realm, add key prop to ButtonBar, UI fixes

* fixes total results number in species and observation view of explore when NOT BY ME

* bug fix
2025-01-15 00:28:43 -08:00
Amanda Bullington
94ac9f2c05 Add suggestions to match screen (#2609)
* Create useSuggestions hook with all online/offline logic for reuse in Match screen

* Show real online/offline suggestions on Match screen

* Code improvements

* Display top suggestion from useSuggestions, not AICamera
2025-01-14 16:55:41 -08:00
Ken-ichi
5aa16088f5 feat: add a LearnMore screen for use in signup flow (#2610)
Closes MOB-351
2025-01-13 17:57:03 -08:00
Ken-ichi
75d69f8c74 feat: add simplified MyObservations for logged out users with at least 1 obs (#2599)
Simplified version of MyObs for signed out users with more than 1 obs. Currently only in debug mode.

Also:

* refactor: extract TaxonGridItem into a reusable component
* chore: TypeScript cleanup

Closes MOB-317
2025-01-10 19:48:29 -08:00
Ken-ichi
cee9b64188 fix: save or discard the observation from the match screen (#2607)
* fix: save or discard the observation from the match screen
* feat: add Match header and footer to TaxonDetails from Match
* refactor: rename TaxonDetailsHeader prop controlling right element
* feat: show search from TaxonDetails via Match

Closes MOB-353
Closes MOB-358
Closes MOB-359
2025-01-10 16:44:12 -08:00