3723 Commits

Author SHA1 Message Date
Johannes Klein
835bee8d5d v1.0.19+206 v1.0.19+206 2026-04-04 18:15:56 +02:00
Abbey Campbell
6fcf1b8fbf switch back to uncontrolled inputs for comments (#3504) 2026-04-04 18:11:47 +02:00
Johannes Klein
d5cc4d06de v1.0.19+205 v1.0.19+205 2026-03-31 22:37:10 +02:00
Johannes Klein
bd114a6a5d Bundle update 2026-03-31 22:35:52 +02:00
Johannes Klein
5f555df9d4 Bump build 2026-03-31 22:33:33 +02:00
Ryan Stelly
f21c5ca33a track simultaneous suggestions in firebase (#3467)
* MOB-981 track simultaneous suggestions in firebase

* extract offline experiment to helper

* refactor suggestion experiment code to its own file
2026-03-31 14:16:27 -05:00
Abbey Campbell
fee6b8176f Merge pull request #3478 from inaturalist/mob-1264-announcements-design-changes
Mob 1264 announcements design changes
2026-03-31 10:19:35 -07:00
Johannes Klein
b5b9a7666a Add number of uploaded items to log (#3484) 2026-03-31 19:18:19 +02:00
Ryan Stelly
77c2218c4c MOB-1185 additional device runtime and install context for feedback (#3468)
* MOB-1185 additional device runtime and install context for feedback

* graceful fallback for failure in device metrics

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-31 09:30:06 -05:00
Seth Peterson
f224e1d4f7 Merge pull request #3476 from inaturalist/evidence-delete-fix
Fix Evidence list delete issue
2026-03-30 19:54:16 -05:00
Abbey Campbell
d979202df4 test query updates 2026-03-30 11:55:44 -07:00
Johannes Klein
e3c53cf7ad Switch to react-native-exify (#3471)
* Update package.json

* Update package.json

* MIgrate parseExif to TS

* Update parseExif.ts

* Type exif objects

* Update types

* Remove write wrapper

* Update parseExif.ts

* Remove react-native-exif-reader

* Replace mock

* Wrongly mocked

* Replace library in test

* Update package-lock.json

* Update Podfile.lock

* Update project.pbxproj

* Append scheme if missing

* Log rejected promises reasons

* Update parseExif.ts

* Adjust exif coordinates with ref with

* Time zone error

* Revert "Time zone error"

This reverts commit 538fb244b7.

* Update parseExif.ts

* Update parseExif.test.js

* Show literal date string in debug mode

* Simpler regex

* Update parseExif.ts

* Major code cleanup

* Update parseExif.test.js

* Update parseExif.ts

* Update Observation.js

* Rename param

* Infer readExifFromMultiplePhotos return type
2026-03-29 20:32:40 +02:00
dependabot[bot]
bb9928fff4 Bump jsrsasign from 11.1.0 to 11.1.1 (#3483)
Bumps [jsrsasign](https://github.com/kjur/jsrsasign) from 11.1.0 to 11.1.1.
- [Release notes](https://github.com/kjur/jsrsasign/releases)
- [Changelog](https://github.com/kjur/jsrsasign/blob/master/ChangeLog.txt)
- [Commits](https://github.com/kjur/jsrsasign/compare/11.1.0...11.1.1)

---
updated-dependencies:
- dependency-name: jsrsasign
  dependency-version: 11.1.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-03-29 20:31:15 +02:00
dependabot[bot]
260cd9f697 Bump brace-expansion (#3482) 2026-03-29 19:43:43 +02:00
dependabot[bot]
86b1e4dd5f Bump path-to-regexp from 8.3.0 to 8.4.0 (#3481)
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 8.3.0 to 8.4.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v8.3.0...v8.4.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-version: 8.4.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-03-29 13:30:56 +02:00
dependabot[bot]
b0fdef1aa5 Bump picomatch (#3475)
Bumps  and [picomatch](https://github.com/micromatch/picomatch). These dependencies needed to be updated together.

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-29 12:09:08 +02:00
Seth Peterson
25ff057d93 Merge pull request #3479 from inaturalist/mob-1263-remove-large-space-on-group-photos
MOB-1263: rm extra group photos spacing
2026-03-27 15:57:03 -05:00
Johannes Klein
d2ae2cd6bf Mob 1254 use smaller user photos when displaying them in the app (#3458)
* Add helper methods to get other sizes of user photos

* InlineUserBase has either 32 or 22px size so thumb should be enough

* Those sizes were not returned by the API

* Make medium default for UserListItem

As it was before

* Remove large size; is never used

* Only request small photo for small UserListItem

Autocomplete mentions for example.

* Did not end up using this

* Restore mention autocomplete size of 40

This puts the mention autocomplete icon size back to 40 but also keeps the default size of medium for all other places we use a UserListItem (e.g. in Explore Filters).
2026-03-27 21:45:36 +01:00
Abbey Campbell
4b621d69ee remove layout prop from tests 2026-03-27 12:54:24 -07:00
Abbey Campbell
abb296d83d announcement should go to edge of container 2026-03-27 12:44:00 -07:00
sepeterson
7dba14918c MOB-1263: rm extra group photos spacing 2026-03-27 09:57:11 -05:00
Abbey Campbell
77c620c2f4 fix tests 2026-03-26 18:02:33 -07:00
Abbey Campbell
7d6ca318bd move dismiss button 2026-03-26 17:57:43 -07:00
Abbey Campbell
2243e09b1a overwrite default webview margins 2026-03-26 16:22:22 -07:00
Abbey Campbell
9bcafef72e account for bottom margin on grid 2026-03-26 16:18:53 -07:00
Abbey Campbell
de196bf7cd normalize announcement spacing between grid and list views 2026-03-26 15:18:53 -07:00
sepeterson
5e526b2add do not mutate obsPhotos array 2026-03-26 14:24:09 -05:00
dependabot[bot]
c4e72cf759 Bump yaml from 2.8.2 to 2.8.3 (#3473)
Bumps [yaml](https://github.com/eemeli/yaml) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)

---
updated-dependencies:
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 15:27:08 +01:00
Johannes Klein
6526baba66 Update sanitize-html to latest (#3470)
* Update package.json

* Update package-lock.json
2026-03-25 22:06:32 +01:00
Abbey Campbell
50c51bf8cf Merge pull request #3469 from inaturalist/mob-1067-timebox-4h-investigate-alternative-way-to-fix-failing-test
mock only screenOptions
2026-03-25 14:02:57 -07:00
Abbey Campbell
2190ff1458 add comment 2026-03-25 12:29:55 -07:00
Abbey Campbell
e2346888fb mock only screenOptions 2026-03-25 12:18:36 -07:00
Johannes Klein
99e8a0c121 Update detox to 20.50.1 (latest) (#3461) 2026-03-25 09:41:04 +01:00
Johannes Klein
7e584eefb1 Update react-native-firebase packages to 23.8.8 (#3465) 2026-03-25 09:39:37 +01:00
Johannes Klein
9ee22a7576 Update rozenite packages to 1.6.0 (#3464) 2026-03-25 01:05:01 +01:00
Johannes Klein
66ece46b3b v1.0.19+204 v1.0.19+204 2026-03-24 21:35:18 +01:00
Johannes Klein
22b22206d9 Bundle update 2026-03-24 21:27:10 +01:00
Johannes Klein
fcda3c8eb6 Update version to 1.0.19 2026-03-24 21:25:27 +01:00
Abbey Campbell
c210b7c1de Merge pull request #3455 from inaturalist/mob-1184-startup-time-time-to-interactive
Mob 1184 startup time time to interactive
2026-03-24 11:01:01 -07:00
Johannes Klein
010e40ef93 Update react-native-gesture-handler to latest (#3462)
* Update package.json

* Update package-lock.json

* Update Podfile.lock
2026-03-24 17:31:17 +01:00
Johannes Klein
ae6c5a57a8 Re-use our user agent string in netinfo config (#3460) 2026-03-24 15:23:48 +01:00
Seth Peterson
22be7db215 Merge pull request #3456 from inaturalist/mob-1224-refactor-obsdetails-components-to-pass-observation-id-2
MOB-1224: refactor project fetching for ProjectList
2026-03-24 09:06:28 -05:00
dependabot[bot]
8310934496 Bump axios from 1.11.0 to 1.13.6 (#3457)
Bumps [axios](https://github.com/axios/axios) from 1.11.0 to 1.13.6.
- [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.11.0...v1.13.6)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.13.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-03-24 10:01:50 +01:00
Abbey Campbell
a19fb0541c add polyfill for idleCallback 2026-03-23 23:46:37 -07:00
Abbey Campbell
edaa72c765 back to class 2026-03-23 23:25:02 -07:00
Abbey Campbell
d40b7d7088 simplify tti tracking by firing on screen idle, add idle callback types 2026-03-23 18:52:01 -07:00
Johannes Klein
21ea3ea386 Add some TS to our use of react-navigation (#3454)
* Add tsconfig options

Following https://reactnavigation.org/docs/typescript/?config=dynamic

* Add a navigation types file with root stack params list

* Use param list type

* Add root type for creating the navigation container ref

* Add onboarding stack param list

* Migrate OnboardingStackNavigator to TS

* Update param list type

* Update import path

* Add BottomTabParamList

* Add NoBottomTabStackParamList

* Migrate NoBottomTabStackNavigator to TS

* Add param list type

* Type options as const

* Change headerLeft option

According to the documentation (and type) this should either be a function that returns null, or undefined.

* Migrate SharedStackScreens to TS

* Just realized that SharedStack creates it's own stack navigator

* Refactor screenOptions into standalone object

* createNativeStack has not cardStyle option

I am assuming here that contentStyle is what was supposed to be set here without testing this change.

* Use header props type as provided by library

* Add LoginStackParamList

* Migrate LoginStackNavigator to TS

* Use LoginStackParamList

* Type screen options as const

* Migrate TabStackNavigator to TS file

* Add TabStackParamList

* Type screen options as const

* Create type for the bottom tab navigator props

* Use actual values possible only for the initialRouteName

* Refactor base screen options into standalone object

* Refactor debug group screen options as const

* Add missing screen

* Use Log as screen name

Follows current naming standard

* Update Log route params type

* Let function component return type be inferred

* Clean up no longer used screens

These components are not actually used as navigation screens anymore but only as modals that are shown inside of ExploreFilters.

* Type nested root navigators with the NavigatorScreenParams utility

* Move param list

* Specifying default type in the same file (move from existing type file)

https://reactnavigation.org/docs/typescript/?config=dynamic#specifying-default-types-for-usenavigation-link-ref-etc

* Composite first level of screen props

* Second nested level screen params composition

* Update BottomTabParamList to be typed as nested navigators

https://reactnavigation.org/docs/typescript/?config=dynamic#type-checking-screens-and-params-in-nested-navigator

* Make native stack screen props generic

* Two examples of using typed route params

* Use alias import

* Move file to be .ts

* For the two navigators with shared screens, intersect  param type with the shared stack params
2026-03-24 01:13:09 +01:00
Johannes Klein
89f80ab123 Migrate PhotoLibrary to TS (#3451)
* Move file

* Add type

* Destructure uri

* Update optional argument

* Add screen params interface

* Access uri from image

This is probably a functional change, but the intention behind the previous code was clear. TS revealed that there is an object of `image` though that needs to be accessed first. Have not seen any effect as to what is fixed by this.

* Add type

* Throw error when essential strings are undefined

* Add types to our package patch

* Update PhotoLibrary.tsx

* Only import what we use

* Add param property

* Type param as to what is passed in from AddObsButton

* Check for UUID and error out if not given

* Specify mandatory option

This is not a functional change because local ? x : y is used in the function and so the not branch was already executed.

* break part out into explicitly platform-specific flows
2026-03-24 01:12:49 +01:00
Johannes Klein
bfd45fb5d7 Update Podfile.lock 2026-03-23 23:54:22 +01:00
sepeterson
fdacec145f MOB-1224: add a loading state 2026-03-23 17:50:16 -05:00