Commit Graph

4199 Commits

Author SHA1 Message Date
sepeterson
1a536d2f6d MOB-765: replace handleCheckmarkPress 2026-04-15 08:30:51 -05:00
sepeterson
7ce94827c4 MOB-765: rm specific access denied error 2026-04-15 07:48:01 -05:00
sepeterson
f08ef960b8 MOB-765: android write perms cleanup 2026-04-14 18:22:41 -05:00
Johannes Klein
77a346f5c9 v1.0.20+208 2026-04-14 23:29:26 +02:00
Johannes Klein
3f45f6ee3a v1.0.20+208 v1.0.20+208 2026-04-14 22:51:48 +02:00
Abbey Campbell
8b5f7ff33b add tests 2026-04-14 12:34:38 -07:00
Abbey Campbell
6cf193bc27 more ts fixes 2026-04-14 12:34:38 -07:00
Abbey Campbell
90c45de8da ts fix 2026-04-14 12:34:38 -07:00
Abbey Campbell
964220ad99 when date format is broken, treat as missing dates 2026-04-14 12:34:38 -07:00
Abbey Campbell
44758ea502 check for validity of date strings 2026-04-14 12:34:38 -07:00
sepeterson
1a9784e467 MOB-1091: guard against missing photoUri for offline suggestions 2026-04-14 11:06:32 -05:00
sepeterson
34daac0f91 MOB-1091: convert observation keys to JSON before storing in zustand 2026-04-14 09:58:13 -05:00
iNaturalist Crowdin Sync
95df6878e4 New Crowdin translations by GitHub Action (#3533)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-14 10:42:42 +02:00
Johannes Klein
551c0e50b0 Add a link for help us translate to settings (#3529)
* Basic button to test placement

* Inline URL follows current convention

* Replace button with link

* Lowercase string key
2026-04-14 09:15:15 +02:00
Johannes Klein
cb07ef8926 Minor ts migrations (#3525)
* Update useScrollToOffset.ts

* Update useScrollToOffset.ts

* Refactor to early return Early return

* Refactor to requestIdleCallback

* Update visionCameraPatches.ts

* Migrate logger to TS and fix wrong export
2026-04-14 09:14:26 +02:00
Johannes Klein
d5bab883ec Appa (#3517)
Apparently we were passing in undefined here for uri. Which doesn't produce good cv results on an undefined file. So, added a check statement and an early return.
2026-04-14 09:13:28 +02:00
Johannes Klein
16239e45f0 Update react-i18next to latest v15 (#3527)
* Update package.json

* Update package-lock.json

* Update package.json

* Update package-lock.json
2026-04-14 01:00:29 +02:00
Johannes Klein
d819d8dc88 Mob 1152 i18next to latest v25 (#3526)
* Update package.json

* Update package-lock.json

* Update package.json

* Update package-lock.json

* Update package.json

* Update package-lock.json
2026-04-14 00:59:29 +02:00
Johannes Klein
3036529323 Switch react-native-fs (#3524)
* Update package.json

* Update package-lock.json

* Update Podfile.lock

* Update PrivacyInfo.xcprivacy

* Update react-native-logs.config.ts

* Update paths.ts

* Update savePhotoToDocumentsDirectory.ts

* Update useAppSize.ts

* Update installData.ts

* Update mlModel.ts

* Update storageMetrics.ts

* Update removeAllFilesFromDirectory.ts

* Update util.ts

* Update removeSyncedFilesFromDirectory.ts

* Update contexts.ts

* Update index.ts

* Update Photo.ts

* Update Sound.js

* Update logManagementHelpers.ts

* Update PhotoLibrary.tsx

* Update flattenUploadParams.ts

* Update shouldFetchObservationLocation.ts

* Update Developer.tsx

* Update vision-camera.js

* Update sentinelFiles.ts

* Move mock

* Switch to unlink util
2026-04-14 00:57:20 +02:00
Johannes Klein
54059cb002 Update useDeferredStartup.ts (#3530) 2026-04-13 21:03:46 +02:00
sepeterson
be618dbdb2 MOB-1091: do not set unsavedChanges when assigning taxon from Match 2026-04-13 10:56:41 -05:00
iNaturalist Crowdin Sync
c6f56ab9c8 New Crowdin translations by GitHub Action (#3528)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-13 09:56:29 +02:00
dependabot[bot]
9987a2232e Bump mathjs and reassure (#3522)
Bumps [mathjs](https://github.com/josdejong/mathjs) to 15.2.0 and updates ancestor dependency [reassure](https://github.com/callstack/reassure). These dependencies need to be updated together.


Updates `mathjs` from 12.4.3 to 15.2.0
- [Changelog](https://github.com/josdejong/mathjs/blob/develop/HISTORY.md)
- [Commits](https://github.com/josdejong/mathjs/compare/v12.4.3...v15.2.0)

Updates `reassure` from 1.1.0 to 1.4.1
- [Release notes](https://github.com/callstack/reassure/releases)
- [Commits](https://github.com/callstack/reassure/commits)

---
updated-dependencies:
- dependency-name: mathjs
  dependency-version: 15.2.0
  dependency-type: indirect
- dependency-name: reassure
  dependency-version: 1.4.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-12 09:07:04 +02:00
dependabot[bot]
f67f705989 Bump axios from 1.13.6 to 1.15.0 (#3518)
Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [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.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-12 08:50:40 +02:00
Johannes Klein
157aaa0758 Replace deprecated assumption syntax (#3519) 2026-04-11 10:07:41 +02:00
sepeterson
b871213a9b MOB-1091: merge remote 2026-04-10 17:36:19 -05:00
sepeterson
8059023520 MOB-1091: do not rely on useEffect to set rollback snapshot 2026-04-10 17:33:22 -05:00
sepeterson
a91fcbc7ce MOB-1091: rm unnecessary BackupMapping type predicate 2026-04-10 11:08:29 -05:00
iNaturalist Crowdin Sync
83c8ac87a8 New Crowdin translations by GitHub Action (#3521) 2026-04-10 17:43:59 +02:00
sepeterson
1927c0945d MOB-1091: move clearRollbackPhotos to clearCaches and add to deferred startup 2026-04-10 10:41:48 -05:00
sepeterson
16179fda52 MOB-1091: merge main 2026-04-10 10:27:09 -05:00
sepeterson
3645aafd74 MOB-765: do not request read/write permissions with camera for android <=10 2026-04-09 18:37:24 -05:00
Abbey Campbell
1f55121b38 Merge pull request #3513 from inaturalist/mob-1177-ios-jwt-refresh-returning-503-during-downtime-2
Mob 1177 ios jwt refresh returning 503 during downtime 2
2026-04-09 16:14:31 -07:00
iNaturalist Crowdin Sync
5f9c7e2a40 New Crowdin translations by GitHub Action (#3516)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-09 23:25:31 +02:00
sepeterson
85ff5c1fb8 MOB-765: unambiguous error messages 2026-04-09 16:20:40 -05:00
sepeterson
258966b661 MOB-765: rm explicit unknown 2026-04-09 16:11:55 -05:00
sepeterson
c0034f6b8d MOB-765: clarify perm denied behavior 2026-04-09 16:01:13 -05:00
sepeterson
cf3a891a5f MOB-765: rm save photo permissions strings 2026-04-09 15:33:55 -05:00
sepeterson
415b4cfd53 MOB-765: correct uris string array type 2026-04-09 15:32:30 -05:00
Johannes Klein
1e0ea0592c Fix: Bug in the "Open Email" button in the "Reset Password" flow on Android (#3515)
* Update package.json

* Update package-lock.json

* Add few more supported schemes

* Update package.json

* Update package-lock.json

* Update Podfile.lock

* Replace email methods

* Revert "Update package-lock.json"

This reverts commit 7396891732.

* Revert "Update package.json"

This reverts commit f0a28055cc.

* Revert "Replace email methods"

This reverts commit 16483b22ab.

* Update Podfile.lock

* Replace openInbox method
2026-04-09 22:22:12 +02:00
sepeterson
b8293ac018 MOB-765: add perm check helpers 2026-04-09 11:55:44 -05:00
sepeterson
7e0343e4d1 MOB-765: some typing for savePhotosToPhotoLibrary 2026-04-09 11:44:32 -05:00
dependabot[bot]
4db4f1a466 Bump fast-xml-parser from 4.5.4 to 4.5.6 (#3514)
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.5.4 to 4.5.6.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.5.4...v4.5.6)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 4.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 14:09:20 +02:00
Abbey Campbell
ff86c4ae2f skip retries only for 503 errors 2026-04-08 15:09:15 -07:00
Abbey Campbell
466ceae203 skip retries on server errors 2026-04-08 14:35:53 -07:00
Abbey Campbell
454e78211d refactor JWT refresh from IIFE to helper 2026-04-08 14:35:44 -07:00
Johannes Klein
164ca02fa0 Replace involuntary sign out on jwt 401 with user action to login again (#3502)
* MOB-1276: first pass

* Move realm clearing below other resets

Before we were seeing a crash where a user signsOut and while deleting realm still has a reference to a realm object somewhere the app crashes (something along the lines of "accessing object which has been invalidated or deleted", I think). Which meant that subsequent lines here after reaml.deleteAll were never hit. So, we got rid of realm but still had the signals that the user is logged in like jwt and mmkv stuff. This is problematic because UI and server request have different definitions of a user is logged in: 1) sensitive item named "username" exists, and 2) realm entry for current user exists.
I don't see how this change here get's rid of the actual crash, but at least we maybe have more likelihood of deleting all things we want to delete here.

According to @FLGMwt s investigations into this this closes MOB-820 https://linear.app/inaturalist/issue/MOB-820/user-account-seem-to-be-mixed-up#comment-80cd5378

* Do not clear auth cache and sensitive info on automatic login again initiation

I think we should fully rely on the login again action to refresh jwtToken, jwtGeneratedAt, and accessToken.

We don't know which one of them is corrupt at this point, and a re-login will give us correct new ones.

* Remove comments

A) I don't think it means that *for any reason* we delete the local database. Only when we had a 401 we were deleting everything.
B) is alleviated

* Quick fix idea

If we are on the login screen for the login again flow do not show a close button. This means the user has to close the app and open again. If the 401 persists the only action the user can take is to do the login again.

* Alternative fix: sign out on login again flow close

Adding back the X button to the login flow. Pressing it explains that this is a sign out action and signs the user out making sure we also clear realm during an entire sign out deletion flow.

* Remove test

* Update src/components/LoginSignUp/LoginForm.tsx

Co-authored-by: Ryan Stelly <ryan@inaturalist.org>

* Clean up previous code suggestion

* Revert "Clean up previous code suggestion"

This reverts commit 345bb31510.

* Revert "Update src/components/LoginSignUp/LoginForm.tsx"

This reverts commit 968fcd8601.

---------

Co-authored-by: sepeterson <10458078+sepeterson@users.noreply.github.com>
Co-authored-by: Ryan Stelly <ryan@inaturalist.org>
2026-04-08 22:34:35 +02:00
Abbey Campbell
f65f23cfc4 Merge pull request #3509 from inaturalist/mob-1036-others-tab-copy-update
add empty state copy for 'others' notifications tab
2026-04-08 09:00:09 -07:00
dependabot[bot]
3475407b8e Bump lodash from 4.17.23 to 4.18.1 (#3503)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 17:02:20 +02:00
Johannes Klein
350320f904 Update useObsEditRollback.ts 2026-04-08 14:19:05 +02:00