* Do not show double gap for when no zoom button to show
* Add location-off icon
* Basic location button for camera
* Do not show new button in default mode
* In advanced mode using geomodel is opt-in with the button state
* Basic info box layout
* Add opacity
* Update strings.ftl
* Use location if present
* If no location permission given, show permission gate on pressing use location
* Minor restyle for offline text
* Refactor LocationStatus and add animation
* Update snapshot tests
* Update user-facing terminology from gallery to photo library
* Update terminology for devs to make the user-facing change easier to remember
* Update snapshots
* Add title string
* Label for icon button
* Restyle 3rd party sign in section
* Add apple svg icon
* Use apple svg
* Add google icon
* Update strings.ftl
* Partially bold string
* SignUpForm TS
* SignUpConfirmation TS
* Rename signup screens
* SignUpConfirmation TS
* Remove string
* TS fixes
* Button text change
* Remove superfluous margin
* Move two text fields to sign up confirmation
* Revert "Remove superfluous margin"
This reverts commit 6a8fe1e7cf.
* Add TODO
* Remove text under Continue button
* Reorder states
* Close button only on login
* LoginSignupWrapper TS
* SignUp TS
* Remove Learn More screen
* Update text input field label
* Remove email confirmation screen
* Disable button when inputs empty
* Navigate to main after register
* Only show one check box
* Add error component to first signup screen
* Partially italics string
* Remove previous text
* SignUpConfirmationForm TS
* Add a type
* Make exclamation mark appear white
* Example email validation
* Updated Learn More webview title
* Comment out some registration fields from previous checkboxes
* Add comment
* Update Error.tsx
* Set all previously separate checkbox consents to true if the one is checked
* Revert removal of LearnMore screen
* Navigate to Learn More screen
* Update LoginForm.tsx
* Revert "Remove email confirmation screen"
This reverts commit 52c396e411.
* Use pink_flower as background for Learn More screen
* Remove old confirmation screen
* Remove LearnMore demo
* Show translated error text for common errors
* Force dark buttons in signup/login flow screens
* Add text to forgot password page
* Change text input label
Ensure useAuthenticatedQuery only executes the query when it knows if the user
is signed in or not, and appends that state to the query key so signed in and
signed out results are distinct.
The problem here was that useIconicTaxa was mysteriously returning stale,
signed out results while offline.
Closes MOB-383
* Only reset observation slice at the beginning of the flow, not the end of the flow, so screen doesn't rerender and crash
* Pass in an option to skip resetting slice before navigating
* Pass correct taxonId to TaxonDetails screen
* refactor: convert ExploreProjectSearch to TS and assoc'd TS changes
* feat: use infinite scroll in Explore Filters project search
* feat: show universal search results in Explore project search
This should show the same ranked search results a user would see at
https://www.inaturalist.org/search?source[]=projects
Closes MOB-313
* fix: save or discard the observation from the match screen
* feat: add Match header and footer to TaxonDetails from Match
* refactor: rename TaxonDetailsHeader prop controlling right element
* feat: show search from TaxonDetails via Match
Closes MOB-353
Closes MOB-358
Closes MOB-359
* Update vision-plugin
* useOfflineSuggestion TS
* Use location for prediction from file
* Remove log
* Use plugin function to lookup location and elevation based on h3 cells
* taxonomyRollupCutoff is now done in the plugin on basis of the tops score for a frame
* Fix wrong commit reference. Now references main branch
* Fix has location check to account for 0.0 locations
* Only prop in lat and long
* Add explanation
* Fix: Import vision-plugin function from wrapper file
* Add jest mock for new plugin function
* feat: add interface mode preference to Settings
* Refactor existing layout preferences so they are all persisted
* Made a new namespace within the layout slice so that all values there will
get persisted without having to add stuff to the persistence code AND we
avoid namespace collisions
* Wrapped layout slice getters and setters in a hook to provide descriptive
names without modifying the underlying values
* Remove duplicate testID that was causing e2e to fail
---------
Co-authored-by: Amanda Bullington <albullington@gmail.com>
* fixes issues where side by side button text is cut off in different languages and large font sizes.
Refactor to use ButtonBar in all places with side by side buttons. Truncates header in ObsEdit when language text exeeds space to not push kebab menu off screen. Closes#2500.
* update snapshots
* clean up BottomButtons.tsx
* Fix#2212 - use physical volume buttons to capture photo
* Fixed tests (mocking VolumeManager)
* Fixed tests (mocking VolumeManager)
* #2212 - physical volume buttons for camera capture - also in AI camera
* #2212 - additional fixes for AI camera
* Update pods
* Update pods
---------
Co-authored-by: Amanda Bullington <albullington@gmail.com>
* Support Sign in with Apple on iOS, w/o design
* Typescript conversions
* Add authenticateUserByAssertion that should be usable w/ Google OAuth-based auth
Closes#583
* Also collect altitude from geolocation calls
* Update geomodel plugin
* Prop user location down into ai camera
* Add geo model file to be linked into xcode project
* Update env.example
* Update env.example
* Add geo model to cv model info file
* Update Developer.js
* Use user location for geo model while frame processing
useGeoModel boolean signals the frame processing plugin to use the geo model as well. It is turned on when we have a location.
* Update README.md
* Geo model is optional
* Adding a dummy neural network called geomodel.placeholder
This model doesn't do anything just returns the input. This is a overhead we could justify in my view as not to spend some more time figuring out how to make a model optional in an Xcode project.
* Geo model files are optional
* Update README.md
* Fix wrong model usage
* Update README.md
* This comment is no longer true
* feat: use full-text index on new _searchableName field (#2487)
Supports searches across non-contiguous tokens, e.g. finding "Mount Diablo
fairy lantern" with a query like "diablo lantern"
Related to #2348
* feat: add pull to refresh on notifications (#2489)
Closes#2349
* feat: show notifications from others (#2491)
* split notifications into tabs
* lots of TypeScript conversion
* feat: resize Heading5 and add Heading6 (closes#2480)
* fix: mark remote observations as viewed from ObsDetails
* feat: show indicator in Notifications tabs if unviewed notifications
Closes#2451
* feat: add option to save all observations from batch obs edit (#2493)
* fix: bring KebabMenu in line with designs
Closes#2268
* Update testing instructions
* v0.55.2
* v0.55.2+129
* fix: show observation from external link when Explore filters open (#2453)
* Open observation in app when link is pressed even if modals are open
* Remove comments
* Add comment and reset obsid
* fix: show onboarding content when signed in user has 0 observations (#2510)
Closes#2508
* fix: load new Explore results when filters change (#2507)
URL params got removed from the query key as a part of pull-to-refresh, but
that's how changes to filters were triggering a new request. This restores
that behavior, adds a test to ensure changes to filters call the API again,
and fixes the prior test of pull to refresh which was not testing the
equivalent behavior when pulling to refresh (API on first load, so the mock
needed to be cleared).
* fix: restore observation fetch when focusing on myobs (#2511)
* fix: center number in photo count (#2512)
Closes#2506
* refactor: minor edits for clarity
* fix: specify CV model version in e2e test
Hoping this deflakes the e2e a bit. Not sure why the AICamera test ever worked
without this.
* v0.55.3
* v0.55.3+130
* New Crowdin translations by GitHub Action (#2481)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* fix: get quality grade descs closer to designs; add Joanne to staff (#2517)
* fix: prevent BottomSheet title from overflowing over close button
* Update to Geomodel name
* Another name change
* Rename var and const names
* Rename const file references
* Also collect altitude from geolocation calls
* Update geomodel plugin
* Prop user location down into ai camera
* Add geo model file to be linked into xcode project
* Update env.example
* Update env.example
* Add geo model to cv model info file
* Update Developer.js
* Use user location for geo model while frame processing
useGeoModel boolean signals the frame processing plugin to use the geo model as well. It is turned on when we have a location.
* Update README.md
* Geo model is optional
* Adding a dummy neural network called geomodel.placeholder
This model doesn't do anything just returns the input. This is a overhead we could justify in my view as not to spend some more time figuring out how to make a model optional in an Xcode project.
* Geo model files are optional
* Update README.md
* Fix wrong model usage
* Update README.md
* This comment is no longer true
* refactor: minor edits for clarity
* Update to Geomodel name
* Another name change
* Rename var and const names
* Rename const file references
---------
Co-authored-by: Ken-ichi <kenichi.ueda@gmail.com>
Co-authored-by: Angie <angie@inaturalist.org>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>