Abbey Campbell
5062231888
remove hook that sets observations to viewed on foreground
2026-07-02 16:54:37 -07:00
Seth Peterson
92491d93bb
Merge pull request #3789 from inaturalist/mob-1164-locality-note-first-line-extends-to-screen-edge
...
MOB-1164: contain observation location
2026-07-01 16:09:35 -05:00
Seth Peterson
61eaeb7b4e
Merge pull request #3783 from inaturalist/taxon-mapper
...
Taxon mapper
2026-07-01 16:08:09 -05:00
Seth Peterson
e40bbc08ef
Merge pull request #3787 from inaturalist/mob-1341-search-state-hook
...
MOB-1341: extract search-field state into useSearchField hook
2026-07-01 16:07:47 -05:00
iNaturalist Crowdin Sync and Crowdin Bot
6930676045
New Crowdin translations by GitHub Action ( #3776 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-07-01 22:51:29 +02:00
Johannes Klein
b5460dab47
Merge pull request #3786 from inaturalist/mob-1502-tpod-b2-project-chooser-screen
...
Traditional projects: Project chooser screen
2026-07-01 20:37:30 +02:00
sepeterson
4fee60082b
Merge branch 'main' into taxon-mapper
2026-07-01 12:48:31 -05:00
sepeterson
a03794a3e8
rename to mapRealmToPojo
2026-07-01 12:48:06 -05:00
Seth Peterson
3ee373e2f1
Merge pull request #3782 from inaturalist/mob-1540-deleting-photo-from-unsynced-obs-causes-crash
...
MOB-1540: two fixes for the media viewer
2026-07-01 12:14:04 -05:00
sepeterson
3f5ec8ac30
MOB-1164: contain observation location
2026-07-01 12:00:14 -05:00
Johannes Klein
a9c20224ed
Update ObservationField.ts
2026-07-01 17:53:45 +02:00
Johannes Klein
e240c80a6b
Fix crash for undefined POs
2026-07-01 16:15:50 +02:00
Johannes Klein
937a7bd396
Remove comment
2026-07-01 14:08:44 +02:00
Johannes Klein
2cc28e27c0
Do not map rule_preferences that we didn't persist
2026-07-01 14:01:35 +02:00
Johannes Klein
a08be64e7c
Refactor should-date-format-check into an early return
2026-07-01 14:01:05 +02:00
Johannes Klein
f430643e7a
Update Project.ts
2026-07-01 13:52:59 +02:00
Johannes Klein
2796f543a9
Show checkmark icon based on zustand state
...
The designs are yet unclear how to "uncheckmark" a created PO. So, the checkmark state currently trumps the selected state.
2026-07-01 13:47:18 +02:00
Johannes Klein
f320d7946a
Add button bar UI without any logic
2026-07-01 12:54:40 +02:00
Johannes Klein
7adfdaa3e6
Add View and indent
2026-07-01 12:13:42 +02:00
Johannes Klein
5c0496bcf0
Render right icon based on selection
2026-07-01 12:05:55 +02:00
Johannes Klein
b1963dcc9d
Add new icons
2026-07-01 11:45:05 +02:00
Johannes Klein
c132be9daa
Merge branch 'main' into mob-1502-tpod-b2-project-chooser-screen
2026-07-01 11:17:22 +02:00
Johannes Klein
9cc3e0ff5a
Change list to be a set of Pressable with each row being selectable
2026-07-01 11:00:58 +02:00
Johannes Klein
1ddd418075
Map joined projects to pojos for UI
2026-07-01 10:29:49 +02:00
Johannes Klein
2f2af1e4db
Mapping functions to get pojo from project realm
2026-07-01 10:26:56 +02:00
sepeterson and Claude Opus 4.8
a9f6324e00
MOB-1341: extract search-field state into useSearchField hook
...
Pull the debounced-autocomplete state machine behind the Universal Search
subject input (text + debounced query + fill-on-select / clear-on-refocus)
into a reusable useSearchField hook. Pure refactor with no behavior change;
sets up the location field to reuse the same hook.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 17:28:34 -05:00
sepeterson
d61c735e86
MOB-1540: two fixes for the media viewer
2026-06-30 15:23:45 -05:00
sepeterson
9f86ca1d42
Merge branch 'main' into taxon-mapper
2026-06-30 14:53:14 -05:00
sepeterson
9884facdd2
MOB-1339: no conditional rendering of list
2026-06-30 14:02:57 -05:00
sepeterson
56315a9c45
Merge branch 'main' into mob-1339-search-autocomplete
2026-06-30 13:00:46 -05:00
Johannes Klein and Johannes Klein
0fdf31fba8
Query for project summary fields; missing project requirements will crash the date format function ( #3780 )
...
Co-authored-by: Johannes Klein <17345891+jtklein@users.noreply.github.com >
2026-06-30 19:37:37 +02:00
Johannes Klein and Johannes Klein
653a8878d6
Remove double padding in ProjectListItem ( #3778 )
...
Co-authored-by: Johannes Klein <17345891+jtklein@users.noreply.github.com >
2026-06-30 19:36:58 +02:00
sepeterson
4e2b40c9d0
MOB-1339: result pressable and info icon sibling hierarchy
2026-06-30 12:28:13 -05:00
sepeterson
f1ec83e1b9
MOB-1339: handle default cases as errors in search subject helpers
2026-06-30 12:28:13 -05:00
Ryan Stelly
277816b0e0
MOB-1458 use local observation ids ( #3763 )
...
* only return observations from useLocalObs
* remove unnecessary var
* export unsync'd filter
* remove obsoleted numUnuploadedObservations zustand state
* tests, typo
* fix tests
* add sync fields to keypaths & depp array
* consistent naming
* handle only ids downstream
* switch over to useIds
* restore ids return
* memoize realm mapping result
* extract realm hooks mocks into factory-available helper
* reapply to myobsresults
* reapply to myobsresults
* go back to wrapped ids for list parity
* fix test
* restrict mocked prop for more accurate MyObsSimple test
* comment cleanup
* fix fake timer flake w/ corrected setup
Claude:
1. withAnimatedTimeTravelEnabled({ skipFakeTimers: true }) does NOT call jest.useFakeTimers(), but still calls jest.setSystemTime(new Date(0)) in beforeEach — which requires fake timers.
2. Both SoundRecorder.test.js and PhotoDeletionExisting.test.js (and ObsEdit.test.js) call global.timeTravel(300) inside waitFor, which also requires fake timers.
3. Tests pass flakily when fake timers accidentally leak from another test file running in the same Jest worker. When they don't leak, timeTravel throws.
4. FadeInView is fully mocked to a plain View (instant) and Reanimated uses setUpTests(), so the 300ms timeTravel isn't actually advancing any real animation — it's just broken.
The fix: guard setSystemTime with the same check, and remove the timeTravel(300) calls from waitFor in tests that use skipFakeTimers: true.
* fix remaining time travel uses
* reset / restore timers to fix leaking fake timers
2026-06-30 11:48:47 -05:00
Seth Peterson
bbd08c7c2b
Merge pull request #3770 from inaturalist/mob-1339-universal-search-hook
...
MOB-1339 Hooks to support search autocomplete
2026-06-30 09:34:30 -05:00
Johannes Klein
ddff74d31a
Move hook directly inline and use as data
2026-06-30 16:10:39 +02:00
Johannes Klein
64ef745dd2
Simple list item
2026-06-30 16:04:38 +02:00
Johannes Klein
880e2dbc81
Add hook to get all persisted traditional projects
2026-06-30 14:59:56 +02:00
Johannes Klein
06dee97dcc
Update SharedStackScreens.tsx
2026-06-30 14:17:59 +02:00
Johannes Klein
208847e666
Add new view wrapper for shared stack screens that do not need top inset
2026-06-30 14:17:31 +02:00
Johannes Klein
96affe6d06
Increase empty list padding
2026-06-30 13:53:01 +02:00
Johannes Klein
d7b858893d
Add item separator
2026-06-30 13:51:48 +02:00
Johannes Klein
2422debdbb
Add stable empty list component
2026-06-30 13:49:34 +02:00
Johannes Klein
c4019bfdc7
Fix autocorrected strings
2026-06-30 13:46:03 +02:00
Johannes Klein
220b2f41b9
Add stable footer component
2026-06-30 13:39:52 +02:00
Johannes Klein
adab4521a3
Should be Body2
2026-06-30 13:29:00 +02:00
Johannes Klein
c4a43c66d4
Add a CustomFlashList with stable header component
2026-06-30 13:24:24 +02:00
iNaturalist Crowdin Sync and Crowdin Bot
d28d705671
New Crowdin translations by GitHub Action ( #3772 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-06-30 09:13:17 +02:00
sepeterson
87d2711399
merge main
2026-06-29 17:10:17 -05:00