Commit Graph

2642 Commits

Author SHA1 Message Date
Johannes Klein
618b9e2fcc Revert "Update package-lock.json"
This reverts commit 257524d0b5.
2025-06-17 16:09:19 +02:00
Johannes Klein
a892307c3a Revert "Update Podfile.lock"
This reverts commit 7b3f51ee5a.
2025-06-17 16:09:14 +02:00
Johannes Klein
7b3f51ee5a Update Podfile.lock 2025-06-17 16:04:52 +02:00
Johannes Klein
257524d0b5 Update package-lock.json 2025-06-17 16:03:38 +02:00
Johannes Klein
b3268fdd5d Update package.json 2025-06-17 16:02:51 +02:00
Johannes Klein
b9b58bdfc4 Update react-native-reanimated to version 3.16.6 (#2957)
* Use updated version

Version 3.16.0 introduces support for RN 0.76. 3.16.7 introduces support vor RN 0.77 so I decided for 3.16.6 for now.

* Update package-lock.json

* Update Podfile.lock

* Update UploadStatus.test.js.snap

* Comment out snapshot tests

* Comment out snapshot tests
2025-06-16 10:56:52 -07:00
Johannes Klein
15d634340b Migrate ExploreLocationSearch to TS (#2959) 2025-06-14 17:30:46 +02:00
Johannes Klein
c79bdbf11f Update cocoapods (#2956)
Using "bundle update cocoapods"
2025-06-13 16:18:42 -07:00
Amanda Bullington
5eb77e91fd Add unit and integration tests around sharing photos (#2948) 2025-06-12 16:00:50 -07:00
Johannes Klein
3faf5e3e29 Update to react-native 0.75 (#2950)
* Update to RN 0.75.5 with upgrade helper diff

* Update .flowconfig

* Update package-lock.json

* Update Gemfile.lock

* Update Podfile.lock

* Update project.pbxproj

* Use double quotes

* Update to RN 0.75.5 with upgrade helper diff

* Update .flowconfig

* Update package-lock.json

* Update Gemfile.lock

* Update Podfile.lock

* Update project.pbxproj

* Use double quotes

* Update Podfile.lock

* Update CustomTabBar.js

* Revert "Update CustomTabBar.js"

This reverts commit 2eb085e3bb.

* Update NavBar. Remove percentage based width as it broke the UI

Now we rely solely on flexbox spacing of justify-around.

* Update FloatingActionButton percentage values

* Update CustomTabBar.test.js.snap
2025-06-12 21:18:28 +02:00
Ken-ichi
9a80a6351e New Crowdin translations by GitHub Action (#2946)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-06-12 10:44:52 -07:00
Johannes Klein
4e7322ed3b Update react native gesture handler (#2955)
* Update react-native-gesture-handler

Version 2.18.x introduces support for RN 0.75

* Update package-lock.json

* Update Podfile.lock

* Fix PhotoLibrary tests

* Update jest.setup.js

* Remove time travel calls
2025-06-11 23:24:38 +02:00
Johannes Klein
d999b8d409 Update react native reanimated (#2954)
* Use fixed version

* Update vision-camera-plugin-inatvision

* Update react-native-reanimated

Version 3.15.x is the minimum version that supports react-native 0.75.x
2025-06-11 21:46:18 +02:00
Amanda Bullington
3c4ec368f5 Fix: isLoggedIn memory leak (#2952)
* Fix memory leak from isLoggedIn

* Fix tests with mocking for clearAuthCache

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-06-11 10:04:54 -07:00
Amanda Bullington
a049d5022d Remove default props for RN upgrades (#2953) 2025-06-11 09:53:11 -07:00
Johannes Klein
d034e15eea Update vision camera and plugin (#2949)
* Update package.json

* Update package-lock.json

* Update Podfile.lock

* Update vision camera patch (that removes branded metadate)

* Remove camera orientation prop and patch

* Remove frame processor orientation patch

No longer needed, and accepted by the vision-plugin

* Remove rotationLocalPhotoPatch as it is not used

* Do not rotate freshly taken photos anymore to save in a temporary folder

I have not yet removed the actual making of a copy of the photo into the temp folder. It is only no longer rotated.

* Remove unused deviceOrientation param

* Rename file

* Change function name as it no longer rotates

* Move image resize logic to the existing helper function

Instead of calling it a "patch"

* Move helper function to the only file it is imported into

* Latest camera library versions

* Revert "Latest camera library versions"

This reverts commit da6b2f7c28.

* Remove iPad camera orientation patch

* Update import

* Update Podfile.lock
2025-06-11 08:15:01 +02:00
Johannes Klein
4eb13bdb7a v1.0.5+166 v1.0.5+166 2025-06-10 23:27:02 +02:00
Johannes Klein
a1631a1703 Do bundle update fastlane 2025-06-10 23:26:20 +02:00
Johannes Klein
acc593121e Update Podfile.lock 2025-06-10 23:25:24 +02:00
Amanda Bullington
80eec44068 Fix for sharing into the app -- specify navigator (#2947) 2025-06-10 09:49:00 -07:00
Johannes Klein
c44bc533f5 Remove XCode 14 podfile addition (#2940)
* Remove lines for Xcode 14 builds

* Remove code necessary for building pods with XCode 14

* Remove lines for Xcode 14 builds

* Remove code necessary for building pods with XCode 14

* Update Podfile.lock

* Update Podfile.lock
2025-06-10 17:54:46 +02:00
Johannes Klein
26f0863ec9 Fix: integration tests store setup when changing layout slice (#2932)
* Update MyObservations.test.js

* Remove comment

* Remove unnecessary setState

* Update MyObservationsLocalization.test.js

* Previous change can be more specific

* Update MyObservationsSimple.test.js

* Update AICamera.test.js

* Update Explore.test.js

* Update MyObservations.test.js

* Update ObsEdit.test.js

* Update SoundRecorder.test.js

* Update PhotoImport.test.js

* Update CustomTabBar.test.js

* Update SuggestionsWithUnsyncedObs.test.js

* Update SuggestionsWithSyncedObs.test.js

* Update PhotoDeletion.test.js

* Update Suggestions.test.js

* Update AddObsButton.test.js

* Update MediaViewer.test.js

* Update PhotoLibrary.test.js

* Update StandardCamera.test.js

* Update SimpleUploadBannerContainer.test.js

* This test needs to be in advanced mode

* Remove setState of shownOnce back to default

* Refactor store override calls into a helper function

* Update MyObservationsLocalization.test.js

* Update MyObservationsSimple.test.js

* Update PhotoDeletion.test.js

* Update PhotoImport.test.js

* Update SuggestionsWithSyncedObs.test.js

* Refactor to use helper

* Update SimpleUploadBannerContainer.test.js
2025-06-10 16:10:19 +02:00
Johannes Klein
2e3db6cd54 Migrate FloatingActionBar to TS (#2944)
* Rename file without changes

* Migrate to TS
2025-06-07 20:47:40 +02:00
Johannes Klein
985cf2aeaf Migrate navigationOptions to TS (#2943)
* Rename file

* Type config objects as const

* Change to interface

* Update imports
2025-06-07 20:41:34 +02:00
Amanda Bullington
e81f0ea9a4 Fix: navigate bottom tabs to the correct root screen (#2938)
* Be specific about the first screen in each root tab navigator

* Correct version of cocoapods

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-06-06 10:19:45 -07:00
Ken-ichi
a89f8e7225 New Crowdin translations by GitHub Action (#2942)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-06-06 10:09:47 -07:00
Amanda Bullington
7b95cfb6a9 Fix pod install issues (#2941) 2025-06-06 10:09:16 -07:00
Johannes Klein
accf476d89 Remove block from Podfile that has no effect on being able to build (#2939)
* Remove block from Podfile that has no effect on being able to build

* Update Podfile.lock
2025-06-05 22:29:12 +02:00
Ken-ichi
0980106106 New Crowdin translations by GitHub Action (#2934)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-06-05 10:29:50 -07:00
Amanda Bullington
f651d912a0 Performance: data transformation in MyObservations (#2922)
* Show average scroll time

* Track fetching and scrolling performance, MyObs

* Limit default mode fields

* Update fields

* Make sure pagination and loading wheel work

* Limit the API requests we're making to what advanced users need

* Tweaks to add fetching metrics

* Remove one more field and console log

* Minimize unnecessary changes

* Keep debug mode scheme

* Use mapping and more succinct filtering and sorting on obs list/grid

* Mapping for comments and ids

* Fixes for ids, comments, and belongs to user

* Make sure data is updated at end of list

* Make sure to update refs

* Make sure list updates when switching into advanced mode

* Remove log

* Fix test and crash

* Improve performance of mapping to improve fetching (load data onscreen) times

* Fix merge conflicts
2025-06-05 10:29:23 -07: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
3dab6305ae Performance: speed up API calls in MyObs by limiting fields (#2919)
* Show average scroll time

* Track fetching and scrolling performance, MyObs

* Limit default mode fields

* Update fields

* Make sure pagination and loading wheel work

* Limit the API requests we're making to what advanced users need

* Tweaks to add fetching metrics

* Remove one more field and console log

* Minimize unnecessary changes

* Keep debug mode scheme

* Fixes for ids, comments, and belongs to user

* Fix: Fetch data on infinite scroll using last observation id (#2930)

* Fetch using last observation ID when user reaches bottom of list

* Don't change momentum scroll which fetches updates to existing data
2025-06-04 10:11:28 -07:00
budowski
0f79ce184f Fix MOB-802 and MOB-750 - Camera - remember new photo URIs even when moving in and out to another screen (#2935) 2025-06-04 10:10:09 -07:00
Johannes Klein
bb8470bd99 Bundle update fastlane 2025-06-04 11:04:09 +02:00
Johannes Klein
4cfbbcfad4 v1.0.5+165 v1.0.5+165 2025-06-04 08:30:39 +02:00
Johannes Klein
9c798e034b Update version to 1.0.5 2025-06-04 08:20:53 +02:00
Amanda Bullington
fb0f20e6f5 Upgrade Node to 22; remove old patch for XCode 14 that was blocking pod installation (#2928) 2025-06-02 11:27:56 -07:00
Ken-ichi
0504cc1bf7 New Crowdin translations by GitHub Action (#2931)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-06-02 11:04:24 -07:00
Amanda Bullington
502393a5d1 Dev experience: linting for TypeScript (#2933)
* Change TS warning about unused variables to error & support _unused in catch blocks

* Use TS recommended object instead of Object

* Set Function issues to warnings in TS files for later fixing
2025-06-02 09:47:29 -07:00
Amanda Bullington
bb31c1907b Update react navigation libraries for performance (#2903)
* Update navigators and create util for tabstack navigation

* Changes for react navigation 7

* Refactor to use navigateToTabStack throughout app

* Add comment about unmountOnBlur

* Get all unit tests passing; remove navutils & mock HeaderBackButton

* Fix animation issues in tests

* Temporarily remove parts of tests with back functionality

* Fix tests

* Delete ios/iNaturalistReactNative.xcodeproj/project.pbxproj

* Fix pbxproj

* Code cleanup; minimize unnecessary changes

* Fix tests

* Downgrade react-native-screens to v4.4.0 (#2918)

react-native-screens version 4.5.0 increases the react native version that it supports to 0.74.0+ (https://github.com/software-mansion/react-native-screens/pull/2613/files). So, by using 4.4.0 we are still able to build the app on Android as we are still on 0.73 for now (have tested and it works).
Have not seen any effect on the changes related to the latest react-navigation versions.

* Make requested changes

* Speed up Explore nearby tile loading (#2912)

* Create a performance tracker to show urltile load time in debug mode

* Set default radius to 1km, not 50km

* Code cleanup & TypeScript definitions

* Fix TypeError

* Address eslint error

* Make github actions happy

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>

* New Crowdin translations by GitHub Action (#2920)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>

* MOB-690 - Add error context to 401 errors (#2921)

* MOB-690 - Add error context to 401 errors

* Add Object.defineProperty like in the other error classes

* Add logger line

* Also throw 401 error if the error object has no response property

---------

Co-authored-by: Yaron Budowski <budowski@gmail.com>

* v1.0.4+164

* Rebase with latest version of RN screens. Remove unused code and packages, add eslint package for TS, suppress TS errors (#2924)

* New Crowdin translations by GitHub Action (#2926)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>

* New Crowdin translations by GitHub Action (#2929)

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>

* Use 3 separate initial routes for tabs; hide animations on drawer screens

* Fix test

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
Co-authored-by: Ken-ichi <kenichi.ueda@gmail.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Yaron Budowski <budowski@gmail.com>
2025-05-30 09:26:47 -07:00
Amanda Bullington
7f42509797 Add logging to uploads & validate jwts at each upload step (#2923)
* Revalidate jwt token before uploading observation and before attaching media

* Add logging to uploads and jwts

* Make logs more useful, add context and appstate

* Fix inat uploading mocks in tests

* Fix uploader test to reflect errors being thrown
2025-05-29 16:42:34 -07:00
Ken-ichi
f1c656554e New Crowdin translations by GitHub Action (#2929)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-29 11:44:32 -07:00
Ken-ichi
ec9e71a627 New Crowdin translations by GitHub Action (#2926)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-28 17:01:40 -07:00
Amanda Bullington
95151e065b Remove unused code and packages, add eslint package for TS, suppress TS errors (#2924) 2025-05-28 17:01:10 -07:00
Johannes Klein
29c0696a88 v1.0.4+164 v1.0.4+164 2025-05-28 12:19:17 +02:00
Johannes Klein
d36dd52914 MOB-690 - Add error context to 401 errors (#2921)
* MOB-690 - Add error context to 401 errors

* Add Object.defineProperty like in the other error classes

* Add logger line

* Also throw 401 error if the error object has no response property

---------

Co-authored-by: Yaron Budowski <budowski@gmail.com>
2025-05-23 19:10:14 +02:00
Ken-ichi
7c585ea60f New Crowdin translations by GitHub Action (#2920)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-22 17:33:09 -07:00
Amanda Bullington
f5239881dd Speed up Explore nearby tile loading (#2912)
* Create a performance tracker to show urltile load time in debug mode

* Set default radius to 1km, not 50km

* Code cleanup & TypeScript definitions

* Fix TypeError

* Address eslint error

* Make github actions happy

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-05-21 14:40:54 -07:00
Johannes Klein
0c172021c2 Update Podfile.lock (#2915) 2025-05-21 10:11:47 +02:00
Ken-ichi
4755d09849 New Crowdin translations by GitHub Action (#2917)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-21 09:45:20 +02:00