518 Commits

Author SHA1 Message Date
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
dependabot[bot]
8e4b6159bb Bump axios from 1.6.8 to 1.7.4 (#1980)
Bumps [axios](https://github.com/axios/axios) from 1.6.8 to 1.7.4.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.6.8...v1.7.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-20 17:10:04 -07:00
Ken-ichi Ueda
cc7c0ad17a v0.42.0 2024-08-19 16:03:30 -07:00
Ken-ichi Ueda
62d9ba000d v0.41.0 2024-08-16 11:06:35 -07:00
budowski
f0d0445d36 Update react-native-exif-reader version (#1967)
Close #1866
2024-08-13 12:21:05 -07:00
Ken-ichi Ueda
b298bebd88 v0.40.0 2024-08-09 14:40:52 -07:00
Amanda Bullington
b8c08ae2d4 Reassure tests (#1914)
* Basic performance tests for key components

* Fix MyObs integration test with fake timers and less rerendering
2024-08-02 19:07:41 -07:00
Ken-ichi Ueda
59df964a8b v0.39.0 2024-08-02 13:19:26 -07:00
Ken-ichi
960f3e3b67 Some typescript conversions in an attempt to improve CodeQL coverage (#1904) 2024-08-01 17:55:33 -07:00
Amanda Bullington
9a0581670f Consolidate key-value stores (#1879)
* Switch to zustand mmkv storage instead of async storage

* Update hooks using async storage

* Remove asyncstorage

* Remove LocalPreferences

* Prevent collision upserting from infinite scroll & sync remote obs
2024-07-30 09:12:26 -07:00
Ken-ichi Ueda
ff038525d0 v0.38.0 2024-07-29 18:34:00 -07:00
Ken-ichi Ueda
75216bff07 v0.37.0 2024-07-26 12:19:15 -07:00