Commit Graph

379 Commits

Author SHA1 Message Date
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
Johannes Klein
bbe403e2a5 Optional computer vision speedup using a taxonomy cutoff threshold (#2328)
* Refactor SliderControl into own file, migrate to TS

* Update vision plugin to customize a taxonomy rollup cutoff threshold

A number of 0.01 means all nodes with a cv score lower than that are excluded from calculating the top predictions. Thereby saving resourced on computing those.

* Enable setting of threshold via debug menu

The threshold defaults to 0.0, i.e. no nodes are filtered out, because score is always positive.

* Update vision plugin

* More appropriate range of values
2024-10-31 17:55:35 +01:00
Ken-ichi Ueda
04c5f2c71c v0.52.0 2024-10-25 14:37:18 -07:00
Amanda Bullington
67dffdcf28 Screen transitions with fade animation (#2284)
* Disable animations on tab bar screens

* Fade in pages accessible from the tab bar

* Add fade in view to stack navigator screens

* Use time travel to step through frames of animation for SoundRecorder

* Use time travel to fix all tests with fade in navigation

* Nav fix
2024-10-20 14:45:31 -07:00
Ken-ichi Ueda
f8fbf4ed76 v0.51.0 2024-10-17 14:10:27 -07:00
Ken-ichi
f35c48ad23 fix: restore photo sharing into the app in iOS 18 (#2247)
* Switch to using a fork of react-native-share-menu since we have multiple
  divergences from the main repo and it seems to be abandoned
* Fork supports sharing in iOS 18
2024-10-16 15:06:47 -07:00
Ken-ichi Ueda
e106e608e3 v0.50.0 2024-10-04 12:59:54 -07:00
Ken-ichi Ueda
2a15187a9e 0.49.0 2024-09-27 13:56:16 -07:00
israr002
9e1f520ec5 fix: add carousel dots component (#2161)
Closes #2119 by replacing 3rd party dependency with a simple component we control.
2024-09-24 13:15:29 -07:00
Ken-ichi Ueda
250dded6e1 v0.48.0 2024-09-23 16:50:43 -07:00
Ken-ichi Ueda
28e8d6b052 v0.47.0 2024-09-20 16:51:18 -07:00
Ken-ichi Ueda
092ffe646d v0.46.0 2024-09-13 19:47:23 -07:00
Johannes Klein
f85aba771b Username mentions navigate to User profile screen in-app (#2057)
* On user profile screen, if routed here with login as param search for user id

* UserText to TS

* Add linkify mention plugin dependency

* Rely on plugin for mention parsing

* Adjust rel

* Add a title attribute to mentions only

* Navigate to profile screen for mentions

* Use props

* Fix some types

* We dont really need this plugin if we check for href includes people link

* Replace user search api call with fetch by login

* Push new profiles on top of the navigation stack every time

* Add error strings

* If there is no user found for this id show error

This can happen I assume when a user changes the login but comments are not updated.

* Use this plugin

* Remove log

* Only react to anchors that have mention as a title

* Update types

* Another inferred type
2024-09-12 12:28:10 +02:00
Amanda Bullington
15382cee35 Integration test for photo import (#2058)
* Write an integration test for PhotoImport; closes #1430

* Add test for photo importer -> group photos -> obs edit flow

* Remove global image-picker mock
2024-09-10 16:26:23 -07:00
Amanda Bullington
23baf5e207 Update exif-reader library (#2052)
* Update exif-reader library and don't convert to local timezone in this repo

* Use github tag for exif-reader
2024-09-09 15:12:55 -07:00
Ken-ichi Ueda
e852b33f93 v0.45.0 2024-09-06 12:39:07 -07:00
Ken-ichi Ueda
d43fe5b2c9 v0.44.0 2024-08-30 16:10:47 -07:00
Ken-ichi
f4c7ee3f86 fix: don't ask for PHOTO LIBRARY permission if user can't change their mind (#2020)
* stop asking for PHOTO LIBRARY permission before import, b/c it's not
  necessary for importing
* use a forked version of react-native-cameraroll that allows us to write
  location metadata to newly-created photos, which was the really important
  thing we were using the PHOTO LIBRARY permission for

Closes #1612
2024-08-30 09:55:45 -07:00
Ken-ichi Ueda
0ff55c14a2 fix: first obs button opens AI Camera, not advanced options
Also refactored email inbox opening to show errors and not rely on a 3rd
party.
2024-08-26 15:16:52 -07:00
Ken-ichi Ueda
85c9846d51 v0.43.0 2024-08-23 16:03:28 -07:00
budowski
313d8501e3 Updated react-native-exif-reader package version (nil check on iOS) (#1997)
Fixes a bug in which ObsEdit would crash when saving an obs w/ a photo but w/o location and w/o location permission.
2024-08-23 10:20:07 -07:00