Commit Graph

120 Commits

Author SHA1 Message Date
Johannes Klein
4877c1a369 Add Support screen (#1171)
* Update strings.ftl

* Add drawer item for Support

* Update strings.ftl

* Change key

* UI for Support screen

* Link out to websites on button presses

* Restyle screen header

* Eslint settings to get rid of an error

* Use react-native-store-review to ask for review

* Not needed use of .tsx in import

* Remove comments
2024-02-25 22:33:04 +01:00
Johannes Klein
ef8497b582 My creation (#1159)
* Move identify screen to DeveloperStack

* Remove Identify link from drawer

* Activity animation using all of flexbox

* Adding a list of observations to Identify and show animation on loading

* Remark is not needed

* Refactor import

* Update Podfile.lock

* Refactor iconic taxon to be inside Confetti component

* Remove some comments

* This View is not really required I think

* Change comment
2024-02-20 14:32:28 +01:00
Amanda Bullington
8e6269c8d0 Wrap realm.write in safeRealmWrite transaction (#1123)
* Add a safeRealmWrite transaction for better logging around writes; code cleanup and realm update

* Add safeRealmWrite to tests and make sure action is called synchronously

* Fix final test

* Only write to realm when useObservationsUpdates data changes; code cleanup

* Code cleanup
2024-02-09 16:16:32 -08:00
Johannes Klein
fdca961117 Upgrade RN to 0.71.16 (#1118) 2024-02-07 16:18:50 +01:00
Ken-ichi
4e42ebc262 Community taxon opt out notice (#1060)
* Shows notice when user or obs is opted out of Community Taxon on ObsDetails
  (closes #882)
* Unifies mapApiToRealm methods around a single interface
* Ensure that the remote obs used on ObsDetail is normalized to look like a
  local obs
* Ensure some tests that use signIn() have isolated Realm instances
* Update current user's obs from ObsDetails (closes #1045) 
* Fixed CC0 license display on ObsDetails (was not actually related to
  updating the local copy of the obs
2024-01-18 20:16:30 -08:00
Amanda Bullington
51a3d171b2 Limit display taxon name on ObsGridItem (#1042)
* Ellipsize long common name text, ObsGridItem; closes #913

* Update snapshots
2024-01-16 16:52:10 -08:00
Johannes Klein
18ace3e397 Small dependency update 2024-01-16 22:38:47 +01:00
Johannes Klein
62d787dbf8 Upgrade react native patch version 2024-01-12 21:35:15 +01:00
Ken-ichi Ueda
0c701faf84 Changed Establishment Means title heading on TaxonDetail 2024-01-12 11:30:37 -08:00
Angie Ta
b65c6f92af Merge branch 'main' into 933-iconictaxonchooser-should-fill-entire-width 2024-01-11 17:58:07 -08:00
Angie Ta
b867f3ae59 Adjust margins for IdentificationSection 2024-01-11 17:20:19 -08:00
Amanda Bullington
30a5a9fbec Use safe area insets to style tab bar padding (#1021)
* Use safe area insets to style tab bar padding; closes #945

* Update snapshot
2024-01-11 10:57:54 -08:00
Ken-ichi
3eddba7daf Change bundle ID (#1013)
* Changed the Android package name to org.inaturalist.iNaturalistMobile
* Changed iOS bundle ID to org.inaturalist.iNaturalistMobile
* Updated fastlane; committing eslint fixes
* Updated ios/iNaturalistReactNative-ShareExtension/Info.plist with new bundle ID
2024-01-10 12:12:17 -08:00
Amanda Bullington
21f83d7f58 Only show current ids in IdentificationCount; closes #995 (#1007) 2024-01-09 11:15:41 -08:00
Amanda Bullington
b33119f5a4 Update checkboxes & fix tests (#971)
* Update checkboxes & fix tests

* Fix accessibility/tests

* Update pods
2023-12-15 09:36:40 +01:00
Johannes Klein
a335955645 Update Podfile.lock 2023-11-29 17:53:58 +01:00
Amanda Bullington
a401854475 Sync deleted observations from server (#924)
* Realm updates for cascading deletions

* Delete local observations from remote list

* Add tests for deleting local obs which were deelted on server

* Fix: don't create embedded objects explicitly
2023-11-27 15:07:23 -08:00
Amanda Bullington
1a27ef68cb Upgrade to Realm 12 (#925)
* Update to realm 12

* Remove unused mocks to fix some tests

* Fix test by unmocking ObsEditProvider

* Fix more tests by removing mocks/changing when tests write to realm

* Remove mocks on ObsEdit component test and fix accessibility labels

* Fix hooks tests with realm

* Set test path for realm; finish fixing tests

* Small tweak

* Upgrade realm/react library

* Migrate schema
2023-11-22 13:01:59 -08:00
Ken-ichi
6af81365d8 Restore tap-to-focus by reverting to react-native-vision-camera v2 (#923) 2023-11-20 14:49:30 -08:00
budowski
3c6f453bf3 Native image picker (#828)
Uses a fork of
https://github.com/react-native-image-picker/react-native-image-picker that
forces an old-style Android native photo picker to ensure we get all the
photo metadata we need. Closes #431 and closes #569

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-11-06 19:41:09 -05:00
Amanda Bullington
1d9adb0f51 More performance improvements (#845)
* Remove console statements in production build

* Move uploadReducer into separate file

* Create reducer for creating obs; combine reducers

* Fixes with createObsReducer

* Move album, passes test states out of global context

* Bug fixes for ObsEdit flow

* Create photo gallery container

* Set accessibility test todo for PhotoGallery

* Improve FlashList performance MyObs

* Prevent flicker on modal close

* Create less rerenders in MyObservations

* Memoize drawer items for less rerendering

* Memoize custom tab bar

* Remove unused libraries and update snapshot

* Fix and prune dependencies

* Add AddObsModal tests

* Fix e2e test android by making comment confirm button visible

* Use callbacks and memoization to cause less rerenders

* Fix tests

* Remove unused code

* Remove log

* Minimize calls to check whether internet is reachable

* Remove unused code
2023-11-06 12:24:31 -08:00
Amanda Bullington
5913fb511e Energy usage / performance improvements (#844)
* Remove console statements in production build

* Move uploadReducer into separate file

* Create reducer for creating obs; combine reducers

* Fixes with createObsReducer

* Move album, passes test states out of global context

* Bug fixes for ObsEdit flow

* Create photo gallery container

* Set accessibility test todo for PhotoGallery

* Improve FlashList performance MyObs

* Prevent flicker on modal close

* Create less rerenders in MyObservations

* Memoize drawer items for less rerendering

* Memoize custom tab bar

* Remove unused libraries and update snapshot

* Fix and prune dependencies

* Add AddObsModal tests

* Fix e2e test android by making comment confirm button visible
2023-11-02 11:03:48 -07:00
Amanda Bullington
8df67b8992 Add comment sheet for deleting comments; closes #792 (#835) 2023-10-25 16:21:54 -07:00
Ken-ichi
dacd8788ec Permission gate layouts (#743)
Primarily adds designed layouts for permission gates (also referred to as permissions priming).

* moved permission gate business logic into a container
* use react-native-permissions exclusively
* Show PermissionGate as a modal
* Basic unit tests for PermissionGate
* Consistent content width on tablet, other minor style changes
* Allow PermissionGate to be used outside of nav hierarchy
* Use user location on Explore after getting permission
* Remove redundant 'always' location perm in ios
* Isolate current location button in the Map component, which uses location fetching functionality from react-native-maps instead of our own
* Updated cocoapods; matched INatIcon.ttf to sha1 hashes
2023-10-18 16:47:12 -07:00
Amanda Bullington
43a9edc0ef Upgrade SVG libraries (#822) 2023-10-13 16:57:46 -07:00
Amanda Bullington
7d20f6aa81 Suggestions (using server data) (#821)
* UI overhaul for Suggestions

* Updates to suggestions

* Update permissions library and Podfile

* Get tests passing

* Add tests for suggestions

* Update snapshot

* Add comment prompt & box to TaxonSearch

* Add empty state

* Nav and loading fixes

* Add more tests to Suggestions flow

* Fix tests

* Fix tests
2023-10-13 14:46:05 -07:00
Johannes Klein
2baac4f9f8 Vision camera v3 (#819)
* Update vision camera

* Breaking change: camera device hook

* Breaking change: replace reanimated function calls

* Update vision plugin

* New take photo options

* Use changed props

* Remove undocumented prop

* Update test mocks for vision camera libraries

* Replace vision camera device orientation strings

* Add explanations to a central file for patches needed with the vision camera

* Some more patches
2023-10-12 11:38:17 +02:00
Amanda Bullington
47c5d8e2fd Drag and drop photos (#813)
* Use drag and drop to let a user change photo positions

* Fix tests

* Add test for EvidenceList

* Fix tests

* Fix state for no evidence / no observation photos

* Add unit tests for empty list and displaying obs photos
2023-10-11 13:55:27 -07:00
Angie
1487e5f421 Accuracy circle and obscuration cell for obsdetail map (#744)
* Obscuration cell and accuracy circle on ObsDetail map
* DetailsMap view
* Copy and share location from DetailsMap
* Patched react-native-maps to address bug with showsUserLocation

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-10-09 12:41:22 -07:00
Ken-ichi Ueda
a2aad8aed7 Not sure why this version keeps bouncing back and forth 2023-10-05 16:43:17 -07:00
Ken-ichi
b7bf5fd950 Minor changes to e2e testing (#814)
* Removed sign in test since the obs creation test already signs in
* Renamed two remaining test files to signedIn and signedOut to reflect the
  different conditions that they test
* Add a check to wait for comments count component after uploading an observation

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-10-05 10:18:39 -07:00
Ken-ichi Ueda
100a32a602 Removed permissions parts of Podfile that prevent build 2023-10-04 11:17:04 -07:00
Johannes Klein
59b159ae64 Dependency updates 230918 (#784)
* Update some dependencies with minor version change

* Update some dependencies

* Fix some dependencies because of incompatibilities

* Update package-lock.json

* Testing dependencies updated

* Fix RN permissions

An upgrade broke the import of it's mock in our tests.

* Bump some more minor dependencies

* Small package dump

* Upgrade to Realm v12

* Upgrade i18n dependencies

* Update AuthenticationService.js

* Revert "Upgrade to Realm v12"

This reverts commit ce463fe246.
2023-09-20 11:33:14 +02:00
Ken-ichi Ueda
2518d3702f Updated hermes (again) 2023-08-03 21:33:39 -07:00
Ken-ichi Ueda
393bf767cf Link iOS CV model files in a build phase
iOS bundle files *must* be referenced in the xcode projects, which means that
updating the filenames in .env is not enough, you also have to add them to
the xcode project. This attempts to simplify this by assuming the named files
in the xcode project remain the same, but they are actually hard links to the
files specified in .env.
2023-08-03 21:24:16 -07:00
Johannes Klein
f78af257fc Upgrade RN patch version 2023-08-02 12:16:53 +02:00
Amanda Bullington
333ae489cd AR Camera UI (#705)
* Refactor camera buttons into their own components

* Standardize camera buttons & make TaxonResult a reusable component

* Fix button styling in tablet landscape; create confidence interval

* Create camera container with shared functionality for both cameras; fix tests

* Connect results & loading status from native predictions; standardize results on iOS/Android

* Fix Camera test by mocking CameraView and FrameProcessor components
2023-07-19 10:14:30 -07:00
Johannes Klein
5f81c49f85 ARCamera MVP: Basic screen with full screen camera and prediction labels (#684) 2023-07-15 07:53:18 +02:00
budowski
58de692298 364 sharing photos to inat (#568)
Allows user to share photos from gallery apps to our app as new observations via react-native-share-menu. Also added patch-package and patched react-native-share-menu for Android prod builds. Patch addresses https://github.com/meedan/react-native-share-menu/issues/216

Closes #364

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2023-05-17 13:24:38 -07:00
Ken-ichi Ueda
255a66499f Fixed TabBar top padding 2023-05-11 17:56:07 -07:00
Johannes Klein
1450377add Upgrade react-native patch version 2023-05-10 21:10:36 +02:00
Johannes Klein
9b064f6e36 Upgraded some minor dependencies 2023-05-10 19:20:59 +02:00
Ken-ichi Ueda
f205f941e2 Fixed camera issues and Podfile Ruby style problem
* Camera buttons on iPad should have correct spacing (definitely something
  weird going on there)
* Switched to a fork of react-native-vision-camera to pull in a patch that
  addresses lack of camera rotation in iOS

Note that there is still a bug in Android where the camera doesn't take photos
with the correct orientation. Passing a correct orientation prop to the
camera does not seem to fix it.
2023-05-04 09:30:32 -07:00
Ken-ichi Ueda
62e6868937 Minor fixes
* Show remark in Add ID
* Lock screen orientation in StandardCamera for phones
* Stop crosshairs from blocking gestures in LocationPicker
* Changed thresholds for optimal accuracy in LocationPicker
* Tried to improve key for DisplayTaxonName
* Added stub content for Data tab on TaxonDetails
* Added delimiters and pluralization for counts on UserProfile
2023-05-02 18:34:50 -07:00
Johannes Klein
824f5a0695 Update Podfile.lock 2023-04-28 10:27:00 +02:00
Chris
689c960df2 Fix upload success animation (#600) 2023-04-27 14:36:04 -07:00
Amanda Bullington
99bc981b53 Keep text input above keyboard in bottom sheets (#598)
* Use TextInput from BottomSheet instead of react-native-paper for keyboard avoiding view

* Fix styling on Android
2023-04-26 17:24:53 -07:00
Amanda Bullington
5ee4a433df Add location picker to ObsEdit (#593)
* Crosshairs, location accuracy warnings, text input for location picker

* Add LocationPicker tests

* UI improvements and code refactor into smaller components; get GMaps working

* Add shadows to icons/text boxes

* Use debouncing to avoid map jitter when typing in location

* Show place results & let user pick new location from web api

* Add tests for location picker with remote results

* Add gmaps api key to github actions

* Try adding manifest placeholders for env variable to work in github actions

* Add key to printf in github actions

* Try accessing GMAPS_API_KEY a different way

* Update android e2e env file step

This updates the "Create .env file" step to use printf to print the Google Maps key into a newly created .env file in the GitHub Action runner. Using the same key as in env.example.

* Fix newline

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2023-04-26 10:51:05 -07:00
Johannes Klein
1439c40c6a Upgrading the app to react-native 0.71.7 (#592)
* Changes in the unproblematic files

* Remove manually linked react-native-config

* Updates to files because of upgrade

* RN 71 and dependencies packages

* Update snapshot tests

* RN 71.1

* Fix missing jest mock

* RN 71.7

* Missing mock

* Fix errors with apisauce and axios

* Remove react-native-codegen direct dependency

* Code style
2023-04-25 17:18:24 +02:00
Johannes Klein
afffbee876 Minor dependency upgrade 2023-04-24 21:18:18 +02:00