Commit Graph

4199 Commits

Author SHA1 Message Date
sepeterson
8295d2f586 MOB-1317: merge main 2026-04-22 17:07:14 -05:00
sepeterson
fba5348a94 MOB-1317: replace delete mode overlay modal with wrapping pressable 2026-04-22 16:52:17 -05:00
Johannes Klein
96cb3e412c Same fix as PR 3383 (#3558) 2026-04-22 23:43:50 +02:00
Johannes Klein
745ccce618 Fix list component remounting in ProjectMembers.tsx (#3557)
* Same fix as PR 3383

* Add types for CustomFlashList

* Update UserList.tsx

* Update UserList prop types
2026-04-22 23:42:58 +02:00
Abbey Campbell
5d981fd150 fix tests to stay consistent with handling of traditional projects 2026-04-22 14:23:01 -07:00
Abbey Campbell
0ddfd36626 remove traditional from union 2026-04-22 13:52:37 -07:00
Abbey Campbell
b429e6f6e8 use formatted dates 2026-04-22 13:51:57 -07:00
Abbey Campbell
907966c27c add log for invalid dates 2026-04-22 12:37:11 -07:00
Abbey Campbell
cb5b05cad1 alias validity check import for clarity 2026-04-22 11:58:28 -07:00
Ryan Stelly
49bc0c632a fix UiLibrary fast refresh (#3561) 2026-04-22 07:43:32 -05:00
dependabot[bot]
68d5977745 Merge pull request #3459 from inaturalist/dependabot/bundler/activesupport-7.2.3.1
Bump activesupport from 7.2.3 to 7.2.3.1
2026-04-22 08:56:48 +02:00
Johannes Klein
5870fa34ef Bundle update 2026-04-22 00:18:55 +02:00
Johannes Klein
40d6101ce3 v1.0.20+209 2026-04-22 00:18:27 +02:00
Johannes Klein
18f85029ea Bundle update 2026-04-21 23:43:47 +02:00
Johannes Klein
caeb422de3 v1.0.20+209 v1.0.20+209 2026-04-21 23:40:30 +02:00
dependabot[bot]
33483da5e1 Merge pull request #3459 from inaturalist/dependabot/bundler/activesupport-7.2.3.1
Bump activesupport from 7.2.3 to 7.2.3.1
2026-04-21 23:35:14 +02:00
Johannes Klein
9c7e373630 Merge main into beta 2026-04-21 22:58:51 +02:00
Seth Peterson
406d525435 Merge pull request #3472 from inaturalist/mob-1091-take-3
MOB-1091 roll back ObsEdit changes on nav back to Match screen
2026-04-21 15:35:48 -05:00
Johannes Klein
2efb99fb74 Switch to @native-html/render to support markdown again (#3553)
* Update package.json

Without the babel plugin the app does not start because of an error with the new package.

* Update babel.config.js

* Update package-lock.json

* Switch to new package for Wikipedia text

* Update Podfile.lock

* Use new package in UserText

* Link underline was blue, now green again

* Make headings in user text the same as in the app

* Fix typo?

Not hundred percent sure about this, but MDN docs show no t tag and the original list in inaturalist has tfoot in this place here.

* Remove tag that is not supported on web

* Refactor making of html into helper function

* Update index.ts

* Create a snapshot test for build html function
2026-04-21 22:03:34 +02:00
Johannes Klein
934a0b1b02 Update react native to 0.83.6 (#3554)
* Update package.json

* Update patch

* Update .flowconfig

* Update package-lock.json

* Update Podfile.lock
2026-04-21 20:44:48 +02:00
sepeterson
cd9aefd23e MOB-1091: merge main 2026-04-21 13:41:23 -05:00
Abbey Campbell
5520e68874 Merge pull request #3544 from inaturalist/mob-1084-multicapture-camera-multiple-copies-of-photos-can-be-saved
prevent duplicate photo submissions by disabling checkmark while processing
2026-04-21 10:48:08 -07:00
Abbey Campbell
8316d22333 add another tablet comment 2026-04-21 09:48:27 -07:00
Abbey Campbell
6550ae4360 remove changes for tablet and add comment 2026-04-21 09:36:47 -07:00
Ryan Stelly
3d3b8fba83 update react-native from 82.1 to 83.4 (includes react@19.2) (#3474)
* update react-native from 82.1 to 83.4 (includes react@19.2)

* Update Podfile.lock

* Create react-native+0.83.4.patch

There seems to be a known issue in React 19.2 that makes us hit errors during development with this code in regards to using realm.
https://github.com/realm/realm-js/issues/7086
https://github.com/facebook/react/issues/35126

* restore flow

* add two new RN file exceptions to flow

* pin react/types to ^19.2.0B

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2026-04-21 10:19:42 -05:00
Johannes Klein
19c0cae3dd Fix: Navigation issue in useExitObservationFlow, migrate to TS (#3541)
* Add navigation type

* Add navigation types

* Type Camera rout props

* Route param types from usePrepareStoreAndNavigate

* Add route param from useBackPress

* Refactor useBackPress to use useRoute

* Add params from AddObsButton

* Add route params from ObsEdit

* Replace navigation types from central

* Add param from PhotoLibrary

* Add route param from PhotoLibrary

* Collect param types from different routes into PhotoLibrary

* Combine Suggestions route param types

* Combine Match route params types

* Combine ObsEdit route param types

* This a bug?

* Undo WIP changes

* Type hook navigation

* Add route param type

* Add possible route param type

* Type navigation in hook

* Add another route param type

* Use types from central

* Add possible other type

* Typo in function import

* More possible navigation types

* Type route the same

* Add more route types to Camera

* Type from central

* Add TaxonDetails route param type

* Add Match to possible routes

* Move MatchContainer to TaxonDetails params to central definition

* Actually move it

* Remove unused prop

* Type navigation in TaxonResult

* Use more stringent type

* Add route param types to TaxonResults from TaxonResult

* Use central type

* Type navigation in Taxonomy

* Add route param from Taxonomy

* Type navigation in PhotoSharing

* Type route in PhotoSharing

* Add screen type

* Add possible screen name

* Add screen name to route param types

* Type route params as in App.js

TODO: this is not correct on the other side of the contract in PhotoSharing

* Add route param from GroupPhotos

* Update types.ts

* Update PhotoLibrary.tsx

* Update useExitObservationFlow.ts

* Add type definition

* Remove navigateToObsDetails from useExitObservationFlow

Why?
1.) To remove some level of complexity in our navigation flows.
2.) Migrating all to TypeScript reveals that, this is an edge case for a user being on an ObsDetails screen and then starting a new obs from the AddObsButton. This has nothing to do with a user being on ObsDetails and starting to edit this observation. In other words, when a user starts a new obs and saves it, we navigate them back to the ObDetails they were on when starting to create a new obs.
3.) This is actually kind of buggy: If a user is in the Notifications tab looking at an ObsDetails of someone else's observation, then starting a new observations and finishing it, we are resetting the navigation to be in the Me tab looking at the same ObsDetails of someone else, which doesn't make a lot of sense.

* Update useExitObservationFlow.ts

* Replace a navigate event with a reset

This is a fix for a performance issue we have seen where saving multiple observations and editing them leads to a slow app.
What is the problem? As the migration to TS made more clear, this hook is imported in screens in both the NoBottomTabStack and the TabStack.
Before: if you hit this action in a screen in the NoBottomTabStack it works fine, the app navigates to the TabNavigator here and loads ObsList as the first screen. However, if you call it while already being in the TabNavigator it just pushes another ObsList unto the stack and not removing any previous screens (even though they are UI wise essentially unreachable).
After: Every time we hit this action we just reset the entire navigation to only show the Me tab with ObsList loaded. This frees up all accumulated screens in either the NoBottomTabStack or the TabStack (depending on from which one it is called in).

* Remove TODO
2026-04-21 11:57:19 +02:00
Johannes Klein
30076b4c17 Use refetchInterval instead of new queryKey (#3537)
* Use refetchInterval instead of new queryKey

Use react-query's polling instead of encoding time into the key.
See https://tanstack.com/query/latest/docs/framework/react/examples/auto-refetching

* Remove unused import
2026-04-21 11:10:38 +02:00
Johannes Klein
ce235ce232 Update MatchContainer.tsx (#3550) 2026-04-20 23:05:14 +02:00
Johannes Klein
47aec9f0b8 Update react native url polyfill to v3 (#3548)
* Update package.json

* Update package-lock.json
2026-04-20 23:04:29 +02:00
Johannes Klein
fa6c20497c Update types.d.ts (#3547) 2026-04-20 23:03:55 +02:00
Johannes Klein
c3a9ac4034 Replace a useEffect with a useFocusEffect (#3551) 2026-04-20 18:23:17 +02:00
Johannes Klein
a5b0a92151 Update NotificationsIconContainer.tsx (#3549) 2026-04-20 18:20:12 +02:00
Johannes Klein
8b3c998e8f Add @rozenite/filesy-stem-plugin (#3536) 2026-04-20 18:18:53 +02:00
sepeterson
6e623219f1 MOB-1091: new react-native-fs 2026-04-20 07:32:57 -05:00
sepeterson
b5f9a1a42d MOB-1091: merge main 2026-04-20 07:14:54 -05:00
dependabot[bot]
2180516c12 Bump protobufjs from 7.5.4 to 7.5.5 (#3545)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.4 to 7.5.5.
- [Release notes](https://github.com/protobufjs/protobuf.js/releases)
- [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.5.4...protobufjs-v7.5.5)

---
updated-dependencies:
- dependency-name: protobufjs
  dependency-version: 7.5.5
  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-19 22:41:41 +02:00
dependabot[bot]
ed3a583c1c Bump sanitize-html from 2.17.2 to 2.17.3 (#3543)
Bumps [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) from 2.17.2 to 2.17.3.
- [Changelog](https://github.com/apostrophecms/apostrophe/blob/main/packages/sanitize-html/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/apostrophe/commits/sanitize-html@2.17.3/packages/sanitize-html)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-version: 2.17.3
  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-19 22:09:13 +02:00
Johannes Klein
6798b02924 Guard observation update against stale connection (#3546) 2026-04-17 22:04:14 +02:00
Ryan Stelly
de083728e4 MOB-1196 enable unauthenticated announcements (#3512)
* MOB-1196 enable announcements for unauthenticated users

* MOB-1196 temporarily disable unauth'd announcement dismissal

* add persisted zuzstand slice to store dismissed unauth'd announcements

* rename Announcements.js => .ts

* rename Announcements.ts => .tsx

* fix problematic flow=>ts inconsistencies

* migrate to ts (with generous type todos)

* move announcement type to api/types

* restore announcement refetch and save a loading state

* move dismissedIds to layout slice
2026-04-17 13:10:41 -05:00
Johannes Klein
7c200969a5 UserProfile TS migration (#3532) 2026-04-17 17:12:23 +02:00
Johannes Klein
2730076e7b Update react-i18next to latest v17 (#3534)
* Update package.json

* Update package-lock.json
2026-04-17 15:43:08 +02:00
Abbey Campbell
6e169222f6 prevent duplicate photo submissions by disabling checkmark while processing 2026-04-16 15:23:24 -07:00
Johannes Klein
941a14a842 CI: upgrade GitHub Actions some steps (#3542)
* ci: upgrade GitHub Actions to use setup-node@v6 and checkout@v6

* Update actions/cache to v5

* Update e2e_ios.yml

* Update e2e_android.yml

* Update e2e_android.new.yml
2026-04-16 21:50:25 +02:00
iNaturalist Crowdin Sync
abb96f73cb New Crowdin translations by GitHub Action (#3539)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-04-16 11:19:55 +02:00
dependabot[bot]
91be94f564 Bump follow-redirects from 1.15.11 to 1.16.0 (#3540)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.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-16 11:16:21 +02:00
Johannes Klein
391c6d38a5 Replace Deprecated react-native-gesture-handler Components (#3531) 2026-04-16 09:18:07 +02:00
Johannes Klein
e087556c2b Fix font for translate link, should be bold (#3535)
* Use UnderlinedLink component

* Remove duplicate props

* Fix a TS error in base component

* Since react 19 we can have a ref here
2026-04-15 23:44:14 +02:00
Seth Peterson
1387a8a71a Merge pull request #3520 from inaturalist/mob-765-remove-the-save-photos-permission-gate-and-show-the-native
MOB-765 remove the save photos permission gate and show the native alert
2026-04-15 12:00:09 -05:00
sepeterson
f54f0f9eee Merge branch 'main' into mob-765-remove-the-save-photos-permission-gate-and-show-the-native 2026-04-15 10:48:46 -05:00
sepeterson
9def78d962 MOB-765: info log for save photos denied 2026-04-15 10:30:46 -05:00