33 Commits

Author SHA1 Message Date
Johannes Klein
cde428e6c7 Add a set of recommended VS Code extensions (#3140)
* Add a set of recommended VS Code extensions

* Remove prettier for now

* Remove vscode-open-in-github

That's more of a personal choice
2025-10-15 01:52:59 +02:00
Johannes Klein
7a32e7a610 Update .gitignore 2025-10-12 10:50:18 +02:00
Johannes Klein
d8f11b1744 Update .gitignore 2025-10-12 10:50:18 +02:00
Johannes Klein
f92ce83bd8 Update .gitignore 2025-09-10 12:12:12 +02:00
Johannes Klein
b4516b7b25 Update react native to v0.78.x (#3043)
* Update package.json

* Update package.json

* Updates for native files with upgrade-helpers

* Update .flowconfig

* Update package-lock.json

* Update Podfile.lock

* Add react-dom types

* Update package-lock.json

* Wrong install

* Use types-react-codemod

* Update TaxonSearch.tsx

* Remove react-native-accessibility-engine dependency

This is currently not maintained and not compatible with RN 0.78

* Comment out accessibility tests

* Disable broken snapshot test

* Move broken test

* Move broken test

* Move broken test

* Remove duplicate file

* Move broken tests

* Move broken tests

* Move broken tests

* Move broken tests

* Move broken tests

* Move broken test

* Remove duplicate file

* Move broken tests
2025-08-09 13:47:46 +02:00
Johannes Klein
38029bee8a Update to react-native 0.74 (3rd attempt) (#2937)
* Upgrade to RN0.74 with upgrade helper

* Bump minor version

* Remove yarn files

* RN 0.74.7

* Update .flowconfig

* Update Gemfile.lock

* Update project.pbxproj

* Update PrivacyInfo.xcprivacy

* Refactor uri into constant

* Only use filename for name

Because using the full uri does no longer work like this.

* Check for uri being null

* Update metro.config.js

* Rubocop autocorrect

* Update package-lock.json

* Update react-native-vision-camera+4.0.5.patch

* Update Podfile.lock
2025-06-04 23:02:20 +02: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
Ken-ichi
8ec32ae116 fix: skip container to allow Ruby setup in crowdin-pull action (#2461)
Container was needed to prevent permissions errors after Crowdin action adds
files as root, but that interfered with Ruby setup. This just uses chown to
do the same thing.
2024-11-19 17:43:53 -08:00
Ken-ichi
349511d2a8 Fastlane production release (#1915)
* Updated to Fastlane 2.222.0
* Set up basic fastlane task to make a version in the App Store
* Remove iPad, MacOS, and Vision targeting
* Added note about metadata sync not working
* Documented fastlane prod behavior in the README
2024-08-07 09:39:06 -07:00
Johannes Klein
06589dd89e Revert "Upgrade to RN0.74.0 (#1471)"
This reverts commit 1b705b4495.
2024-06-26 16:29:40 +02:00
Johannes Klein
1b705b4495 Upgrade to RN0.74.0 (#1471)
* Upgrade to RN0.74 with upgrade helper

* Bump minor version

* Update lock files

* Update PrivacyInfo.xcprivacy

* Upgrade react-native-safe-area-context

* Update project.pbxproj

* Create react-native-vision-camera+4.0.3.patch

* Update react-native-vector-icons

* Update Podfile.lock

* Fix crash on LoginForm

* Minor version bump

* Delete react-native-vision-camera+4.0.3.patch

* Update metro.config.js

* Update Podfile.lock
2024-06-26 16:17:39 +02:00
Amanda Bullington
0e71fb5062 Patch draggable-flatlist with fix for reanimated 3 (#1346)
* Temporarily comment out Android in Fastfile build lane

* Fix: make draggable flatlist work with reanimated 3

* Add lib and commonjs library patch
2024-04-02 15:54:16 -07:00
Johannes Klein
486ba4f30f Upgrade React Native to 0.72 (#1337) 2024-03-29 17:52:37 +01:00
Ken-ichi
8fb171f5c7 GitGuardian pre-commit hook (#1319)
* Basic GitGuardian pre-commit hook
* Run ggshield when available, otherwise fail for inaturalist.org git identities
* Removed unused pre-commit framework file; added GitGuardian config file
* Updated README
2024-03-27 16:57:20 -07:00
Amanda Bullington
7de3790230 Performance: move upload reducer out of ObsEditProvider into MyObservationsContainer (#879)
* Move upload functionality into MyObservations, out of ObsEditProvider

* Move upload into helper function

* Fixes for ObsEdit -> MyObs flow

* Progress on making uploads faster

* Update performance test

* Fix toolbar progress

* Fix tests for observation upload flow

* Fixes from code review; fix e2e test for signed in user by bypassing permission gate

* Hide sign up test when keyboard visible; fixes Android e2e test

* Comment out permissions code in e2e test to see if it's only needed locally

* Comment out permissions gate for signed out user iOS

* Use focused hook to stop ObsEdit from rerendering while user is on other screens

* Restore reassure in branch

* e2e code cleanup
2023-11-15 11:40:11 -08:00
Amanda Bullington
5d45b21570 Performance testing with Reassure (#867)
* Performance test with reassure, danger/CI integration set up

* Remove log

* Fix script location in github actions test

* Run performance tests before regular tests

* Move script

* Make script findable and executable

* Find scripts directory

* Find scripts directory

* Find scripts directory

* Give permission

* Comment out performance test CI

* Remove danger/CI and update naming

* Remove danger from package.json
2023-11-09 09:50:22 -08:00
Johannes Klein
5f81c49f85 ARCamera MVP: Basic screen with full screen camera and prediction labels (#684) 2023-07-15 07:53:18 +02: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
Amanda Bullington
236904e0a1 Use different .env files for staging and production (#332)
* Add different env files to gitignore; update react-native-config

* Set different staging and production .env files in Android

* Add different envfiles to podfile

* Use podfile to check for .env.production and .env.staging files

* Update README

* Point production to .env instead of .env.production
2023-01-05 10:26:17 -08:00
Johannes Klein
6ac6f88662 Merge branch 'main' into 250-e2e-init 2023-01-02 19:25:58 +01:00
Amanda Bullington
d51685b488 Fix: don't make API call for deleting local observations (#318)
* Check synced status before deleting observation remotely; closes #315

* Add tests for deleting observation from dialog

* Add jest settings for vscode; fix failing test from App.js

* Ignore vscode settings files

* Remove cached version of vscode settings file from git

* Update gitignore

* Add a test for canceling deletion
2022-12-30 08:34:32 -08:00
Johannes Klein
238997fcf6 Update .gitignore 2022-12-13 22:54:44 +01:00
Johannes Klein
bb93a8eebb Update .gitignore to ignore e2e test artifacts 2022-12-12 16:11:17 +01:00
Johannes Klein
99d306cd24 Realm 11 (#208)
This also upgrades us to React Native 0.70.4 and adds a number of files that get us ready for the New Architecture.

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2022-11-07 14:13:13 -08:00
Ken-ichi Ueda
15837cc0f6 Added .xcode.env to gitignore 2022-10-21 12:29:31 -07:00
Ken-ichi
90ff7a59c0 Fastlane setup for tagging, releasing, and internal testing (#118)
Configures fastlane to automate our current release process of making a git tag, making a git release, building, and pushing to the Play Store internal track and Testflight. See README.md for details on setup and usage.

Co-authored-by: Amanda Bullington <albullington@gmail.com>
2022-07-05 18:19:41 -07:00
Amanda Bullington
b690139fd1 Add fastlane init files in android/ios subdirectories; set up internal and beta testing (#76) 2022-04-05 15:32:16 -07:00
Amanda Bullington
1ebf4b951d Bug fixes from beta 0.0.1 (#75)
* Add exception handler library; fix computer vision results

* Create loggedIn hook to check whether user is logged in before cv suggestions or upload

* Create user profile card on MyObs

* Update packages

* Add text for camera permissions denied

* Remove log

* Upgrade react native on iOS

* Add vendor file for ruby gems to gitignore

* Remove vendor file from github

* Update react native for android

* Add plural example to fluent; create TranslatedText component to render translations

* Add translations and update camera roll screens

* Small changes to uploader flow; add date/time picker

* Separate explore into landing screen and view screen

* Show total number of observations, explore

* Clean up styling and add details for grid view; banner for total observations in explore

* Add checkboxes for status, quality grade, media filters

* Add a lot of explore filters

* Show months in Explore filters

* Create About screen; sync package.json version using react native version

* Get explore filters in mostly working condition

* Observations download after login; clear login screen after nav; closes #62 and #60

* Allow separating photos if at least 1 combined photo obs is selected; closes #68

* Fix auth tests; add user id

* Pop text input above keyboard to address #66

* Lint cleanup

* Create bottom modal for user tapping back button on ObsEdit

* Check permissions on android only, camera

* Keep trying to get android camera working

* Change version number to 0.1.0
2022-04-01 15:46:51 -07:00
Yaron Budowski
4f855834cd Sign up / login flow - initial implementation 2021-12-13 15:34:13 +01:00
Amanda Bullington
ff6789c32c Merge obs list, obs card, and user profile into main (#4)
* Obs detail screen skeleton; move safe area view to wrapper component

* Progress on obs detail

* Get ids and photos from api v2

* Fetch data needed for data tab in obs detail

* Create basic map for data tab, centered on lat/long

* Create linked realms for photos and identifications; access these on obs detail screen

* User Profile and more setup for test suite

* Delete coverage directory

* Add Jest coverage folder to gitignore

* Keep trying to mock out fetch for inatjs in ObsList.test.js

* Rename ObsList.test to match component name
2021-11-04 15:44:57 -07:00
Amanda Bullington
750f7d729a Merge realm + jest implementation into main (#3)
* Struggles with git

* Continued struggles with git stash

* Database experiments

* Get API v2 implementation working with fetch

* WatermelonDB fetch; API v2; RN testing library set up; pods installed

* Enable hermes

* WatermelonDB working with Jest; code cleanup; install latest inatjs

* Experiment with migrations in WatermelonDB

* Remove WatermelonDB from project

* Continue removing watermelonDB

* Add observation schema; remember to remove hermes

* Create local realm observations from observations/search fetch

* Wrap ObsList test in navigation container; add realm files to gitignore
2021-10-15 18:03:49 -07:00
Amanda Bullington
d4adde847d Create RN repo with npx react-native init 2021-09-13 14:38:14 -07:00