Commit Graph

399 Commits

Author SHA1 Message Date
Johannes Klein
58bd263c23 Update vision-plugin to prepare for cv model v2.20 (#2732)
* Update vision-camera-plugin-inatvision

* Update Podfile.lock
2025-03-09 17:59:02 +01:00
Kirk van Gorkom
6624acf65f Bump version to 0.59.4 2025-03-06 22:22:31 -08:00
Kirk van Gorkom
672e1913ef Bump version to 0.59.3 2025-03-06 10:48:44 -08:00
Johannes Klein
bd4723c2d2 Bump version 2025-03-04 17:57:45 +01:00
Johannes Klein
12c2e0e8ea Update vision-camera-plugin; breaking changes (#2701)
* Update vc plugin

* Update tests with breaking change: combined_score now 0-100

* Frame processor predictions are in range of 0-100 with new key

* Remove offline convert score to confidence

* Update calculateConfidence.js

* Common ancestor should use combine_score

* Offline suggestions have combined_scores now instead of scores

* Change filtering to range 0-100

* Only use combined_score for Match screen

* Update debug data

* Fic typo in tests

* Remove key from type
2025-02-28 14:21:01 +01:00
Amanda Bullington
58eb356cf7 Fix precommit hook (#2697)
* Fix precommit hook, since Flow is expecting to work on the whole project & can't handle staged files
2025-02-25 16:30:17 -08:00
Amanda Bullington
a89ed25283 Speed up precommits (#2693)
* Speed up precommit hook by only checking staged files with eslint and using eslint cache

* Linting test

* Add rubocop cache to gitignore

* Try to speed up flow
2025-02-22 07:28:12 -08:00
Johannes Klein
990eaeff39 v0.59.1 2025-02-22 10:52:15 +01:00
Johannes Klein
f90ff4f968 v0.59.0 2025-02-20 16:17:56 +01:00
Johannes Klein
ce36e75176 v0.58.2 2025-02-12 17:44:14 +01:00
Johannes Klein
9166f26e3a Update to React Native 0.73.11 (#2655)
* Update to RN 0.73.11

* Gemfile changes
2025-02-10 12:38:16 +01:00
Johannes Klein
db21cbd766 v0.58.1 2025-02-07 11:19:00 +01:00
Johannes Klein
740e05320f Bump version 2025-02-05 16:37:19 +01:00
Johannes Klein
7fdb8509b9 Update clean-start script 2025-02-05 16:36:26 +01:00
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
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
Kirk van Gorkom
b6f509e5f1 Increment version number to 0.57.6 2025-01-27 16:35:55 -08:00
Kirk van Gorkom
e925272e93 Increment minor version to 0.57.5 2025-01-27 16:15:18 -08:00
Kirk van Gorkom
7dc29a25c4 Increment minor version number. Update various cocoapods. 2025-01-24 20:14:42 -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
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
Johannes Klein
0d97f69974 Bump version 2025-01-17 12:06:45 +01: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
Kirk van Gorkom
7d247e5b09 Bump version to 0.57.1 2025-01-16 16:41:08 -08:00
Johannes Klein
f84d09648d chore: rename look up location (#2603)
Renames a function call and fixes a NullPointerException on Android
2025-01-09 16:43:54 +01:00
Johannes Klein
feec5567a3 feat: update vision-camera-plugin-inatvision to a version that fully supports the geomodel (#2584)
* Update vision-plugin

* useOfflineSuggestion TS

* Use location for prediction from file

* Remove log

* Use plugin function to lookup location and elevation based on h3 cells

* taxonomyRollupCutoff is now done in the plugin on basis of the tops score for a frame

* Fix wrong commit reference. Now references main branch

* Fix has location check to account for 0.0 locations

* Only prop in lat and long

* Add explanation

* Fix: Import vision-plugin function from wrapper file

* Add jest mock for new plugin function
2025-01-08 16:15:36 +01:00
Ken-ichi
ebba764906 feat: sign in with Google (#2579)
Closes #2515
2024-12-19 12:24:16 -05:00
budowski
f89736188c feat: use physical volume buttons to capture photo (#2495)
* Fix #2212 - use physical volume buttons to capture photo

* Fixed tests (mocking VolumeManager)

* Fixed tests (mocking VolumeManager)

* #2212 - physical volume buttons for camera capture - also in AI camera

* #2212 - additional fixes for AI camera

* Update pods

* Update pods

---------

Co-authored-by: Amanda Bullington <albullington@gmail.com>
2024-12-17 16:40:26 -08:00
Ken-ichi Ueda
04e7ca6f05 v0.57.0 2024-12-12 12:39:08 -08:00
Ken-ichi
15f36386fd feat: sign in with Apple (#2543)
* Support Sign in with Apple on iOS, w/o design
* Typescript conversions
* Add authenticateUserByAssertion that should be usable w/ Google OAuth-based auth

Closes #583
2024-12-11 17:25:23 -08:00
Johannes Klein
03f8959f1e Update plugin to use new option names 2024-12-10 14:10:10 +01:00
Ken-ichi Ueda
af14aa5f14 v0.56.0 2024-12-07 00:25:22 -08:00
Ken-ichi Ueda
2da9b72c44 v0.55.3 2024-12-04 16:18:49 -08:00
Johannes Klein
5548410e35 v0.55.2 2024-11-29 15:16:38 +01:00
Johannes Klein
5a05ba14e0 v0.55.1 2024-11-25 12:01:50 +01:00
Johannes Klein
e752341e59 v0.55.0 2024-11-22 14:58:36 +01:00
Johannes Klein
290b2d9185 Update cv plugin (#2472)
Technically this means we could now support geomodel on iOS. We need additional work though to add the model to the app and connect to the frame processor.
2024-11-21 22:03:37 +01:00
Johannes Klein
d0b188f108 Use stable computer vision plugin (#2464)
* Use stable plugin branch

* Update Podfile.lock

* Revert "Update Podfile.lock"

This reverts commit 192c09c06d.
2024-11-20 20:15:18 +01:00
Ken-ichi
e1bc1626d9 chore: lint Ruby files with Rubocop (#2435)
* fix: set up Ruby before linting in Github Actions
* chore: separate linting from fixing

Before we commit we want to fix as much as possible, but when we're checking a
pull request we're not going to commit anything so we want to know about all
the problems, including the fixable ones.
2024-11-18 21:27:20 -08:00
Ken-ichi Ueda
e69a6d380a v0.54.1 2024-11-18 20:11:21 -08:00
Johannes Klein
9aef4db8bb Internationalize app store metadata (#2341)
* Add Fastlate app store metadata files as Crowdin translation sources
* Update i18ncli.js to move and rename translations so Fastlane can use them
* Update `fastlane prod` so it prompts for public release notes and cues a new
  release in the App Store that still requires the manual attachment of a
  build
* Add `fastlane android upload_metadata` to upload metadata to Play Store

Closes #2248

---------

Co-authored-by: Ken-ichi <kenichi.ueda@gmail.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-11-18 16:02:53 -08:00
Ken-ichi Ueda
be9c25163b v0.54.0 2024-11-15 16:02:13 -08:00
Johannes Klein
bb9261cfb0 v0.53.1 2024-11-08 16:04:58 +01:00
Amanda Bullington
6c0f5ec485 Upgrade MediaViewer image zoom component (#2392)
* Replace image zoom library with a newer, simpler library

* Fix tests for MediaViewer

* Code cleanup
2024-11-07 17:32:17 -08:00
Ken-ichi Ueda
ceb8710358 test: run integration tests before unit tests 2024-11-06 14:19:42 -08:00
budowski
7b8c88c84d feat: add onboarding carousel (#2285)
Note that offsetting the onboarding images ended up being a bit hard. We're
mostly doing so with a cropped version of one of the images.

Closes #1906

Also tried to de-flake some tests:

* Use fake timers when possible
* Ensure time travel helper doesn't un-fake our timers
* Wait for time travel helper to finish so changes don't happen outside of
  act
* Stop mocking useCurrentUser in integration tests; that's app code and should
  not be mocked when integrating all parts of the app; instead use signIn /
  signOut helpers
* Remove unnecessary direct uses of act()
* Mocked some inatjs calls to prevent React Query complaints about undefined
  query return values
* Close onboarding before all e2e tests

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2024-11-04 12:03:55 -08:00
Ken-ichi Ueda
1f8328f57a v0.53.0 2024-11-01 15:13:09 -07:00
Ken-ichi
3dcc833c98 feat: support basic layout, typography, and photo carousel in RTL (#2334)
* Use a wrapper around Text for all typography components that sets
  app-specific defaults, allowing default RTL to work
* feat: make iOS permission prompt text translatable
* fix: allow RTL layout of char limit on text input bottom sheet
* fix: allow RTL photo carousel on ObsDetails and TaxonDetails

Removes react-native-reanimated-carousel, which needs to be patched to support
RTL and maybe wasn't providing anything beyond FlatList for us anyway.

InfoPlist.xcstrings will not be automatically updated on Crowdin sync pending
a Crowdin bug.

Work toward #2099
2024-11-01 12:59:25 -07:00
Johannes Klein
5c8e3be12c test AI camera in e2e (#2188)
* Add a cameraZoomRange default
* Small detox version bump
* Add a mocked camera with a take photo button
* An e2e mock for the computer vision plugin predicting a frame
* Mock taking a photo by loading the first photo from the CameraRoll

Closes #1981
2024-11-01 10:38:37 -07:00