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