Skip to content

Releases: inaturalist/SeekReactNative

v2.10.0

17 Sep 22:47
Compare
Choose a tag to compare

Added

  • Seek checks for production model/taxonomy files when launching Seek, then checks for sample model/taxonomy files if production files are unavailable, making setup simpler for external developers
  • Sinhala language supported

Android

  • Plant filter feature allows users to toggle a plant filter on or off, making it easier for users to get the computer vision results they desire (particularly birds and insects, which tend to have plants in the background)
  • Upgrade react-native-inat-camera to fix the latest Redmi/Xiaomi crash
  • Remove System Alert Window permission (allows drawing over other apps) in production builds, since this is only used for React Native development
  • Fix location permissions hook to ensure that new users will see Species Nearby when they first set location permissions on

Fixed

  • Seek generates Wikipedia links for non-English locales in-app, resolving issue 258
  • Added accessibility content labels and increased touchable areas on Settings screen and Match screen back button

Updated

  • Began performance audit to limit number of unnecessary re-renders (Pickers and FlatLists)
  • Use latest API for SafeAreaView everywhere in Seek, making performance more consistent and less jittery

v2.9.1

02 Sep 18:09
Compare
Choose a tag to compare

Added

  • Support for Basque language
  • New Seek AR Camera photos now save to a Seek camera album (similar to photos taken on Instagram, Twitter, etc.)
  • Users who sign up for iNaturalist in Seek now have a time_zone assigned to their account

Fixed

  • Location picker only uses state from Context and does not update local state; this should fix issue #249
  • Added a line break to German translation for September challenge mission that was causing a crash
  • Users with location off can use the location picker map in posting to iNat (set San Francisco instead of user location as center point)

Android

  • Another fix for crashes on Redmi & Xiaomi devices due to input session null (upgraded react-native-inat-camera)
  • Remove Google high accuracy popup on older devices with GPS on but accuracy off; update Species Nearby error text to reflect that the settings must be changed for this functionality to work
  • Bumped play-services-location API to 17.0.0

Updates

v2.9.0

24 Aug 18:44
ae65763
Compare
Choose a tag to compare

Added

  • MyObservations search bar allows users to filter observations by common name and scientific name
  • Settings: toggle seasonality chart on SpeciesDetail screen to show either local or global seasonality (only shows if a user has location turned on)
  • Users can see a checkbox letting them know which taxa they have already seen on all horizontal scrolls (i.e. Species Nearby, Similar Species, Species Nearby on common ancestor Match Screen)
  • iNat card shows on Home Screen when a user has no more challenges and has not logged into iNat
  • Support for three new languages (Mexican Spanish, Brazilian Portuguese, Polish)

Fixed

  • Updated design for Challenge Details when a mission has sub-bullets

Android

  • Fix for crashes on Redmi & Xiaomi devices due to input session null (upgraded react-native-inat-camera)

v2.8.3

05 Aug 18:45
Compare
Choose a tag to compare

Added

  • Users can see taxonomy tree offline on SpeciesDetails after identifying a new photo

Fixed

  • Check that speciesSeenImage is not undefined in FlagModal or Match Modals
  • Update padding around back arrows
  • ChallengeScreen does not automatically scroll to top to preserve state

Android

  • Fix for crashes on Redmi devices due to input session null (upgraded react-native-inat-camera)

v2.8.2

28 Jul 21:18
Compare
Choose a tag to compare

Added

  • August challenge
  • Romanian language and common names
  • Challenge Details screen shows Species Observed section so users can see which species they have seen which count towards the challenge; mission section has new formatting for long bullet point lists
  • Signup flow includes checkboxes that users must check to create an account (1. ToS, PP, Community Guidelines and 2. data storage); added recommended text next to license photos to make clear that this is optional

Fixed

  • Challenge toasts navigate to Challenge Details screen instead of the generic Challenges Screen
  • UI tweaks on Replace Photo modal (seen date) and Species Nearby This Taxon component (empty state)
  • OfflineResults fetches user location when there is a common ancestor (in addition to match), since location details are needed for Species Nearby This Taxon on the ancestor match screen

Updated

  • Converted all png assets into webp files to reduce app size
  • Added Terms of Service and Privacy Policy to About screen (for logged in users), and made them easier to maintain with an HTML formatting library
  • Reformatted About section of SpeciesDetail screen to render Wikipedia blurb in the HTML formatter, which makes the scientific name show up in italics
  • Replacing a photo also updates the latitude and longitude associated with the observation

Changed

  • Login screens are nested under the RootStack instead of in a separate LoginStack, as recommended in the React Navigation 5.x documentation (less nested screens = better performance)

v2.8.1

09 Jul 22:25
Compare
Choose a tag to compare

Updated

  • Offline Results screen uses useReducer and also shows a black background on the FullLoadingScreen while image.uri is still loading
  • Flipped the direction of arrows and back arrows when user has a RTL language enabled for better usability

Fixed

  • Horizontal scrolling (Onboarding Screens, Species Photos in Species Detail, iNat Stats photos, and Badge Modal in Achievements) only uses an index instead of an offset, making state changes more accurate when users press the arrows or scroll. This should fix a bug where users could sometimes scroll to an index that was outside of the list length
  • speciesSeenImage is now null instead of undefined when user navigates from AR camera while offline
  • Posting to iNaturalist button shows up even if photo has no location metadata
  • Level Modal only pops up once, as expected, on Match Screen

Android

  • Upgraded react-native-inat-camera to fix bug where camera wasn't loading on some Xiaomi devices due to a null sorted list
  • Fixed a crash on the Species Detail screen where the Species Map would crash if a region didn't have a longitude (before, Seek was only explicitly checking for latitude)
  • Updated app icon to work on devices < 8.0 with appropriate background and foreground layers. App icons can now be round or square

iOS

  • Fixed issue where iOS wasn't prompting for user location permissions since the switch to react-native-geolocation-services library
  • When gallery images fetch results from the web CV API, common ancestor results are now rolled up to the nearest primary rank (i.e. class, order, family, genus)

v2.8.0

01 Jul 18:43
0db2c29
Compare
Choose a tag to compare

Added

  • Users can replace the photo for a species they re-sighted using the Replace Photo Modal on the Match Screen; this includes a new field in the PhotoRealm to track when a user last updated the photo
  • Users can toggle the AR camera to automatically take photos when the prediction rank reaches species
  • July challenge

Updated

  • Match screen uses Hooks for better performance and maintainability; removed @react-navigation/compat library since the transition to React Nativation 5.x is now complete

Fixed

  • Flag modal shows a single centered photo when user is offline

v2.7.0

16 Jun 19:27
a65c6b0
Compare
Choose a tag to compare

Updated

  • Species Detail screen uses hooks for faster loading and to ensure that API calls are not triggered while taxon_id is null (using custom hooks for fetching truncated user location and Android permissions in Species Detail screen)
  • Posting to iNaturalist screen uses hooks
  • Gallery Screen loads with useReducer instead of state, which results in less state changes and will help us identify the issue some iOS users are having with the album picker and camera roll loading properly

Added

  • Users can choose language within Seek (in Settings) instead of only having the option to use their device's default language
  • AR camera has additional error messages related to the takePhoto flow, which will help us resolve the issue some iOS users are having while taking photos
  • Arabic language support

Fixed

  • Switched to react-native-geolocation-services library for geolocation requests in order to enable high accuracy on Android in posting to iNaturalist flow. Since this will not work on all Android devices, Seek first requests GPS location and then falls back to a wifi location
  • UI updates on Settings screen

Android

  • App launcher icon is now adaptive

v2.6.1

01 Jun 19:49
Compare
Choose a tag to compare

Updated

  • Upgraded RN cameraroll to version 1.7.2, which uses a new save to camera roll method and includes a fix for "can't find external storage" error on some Android devices
  • Revamped navigation by bringing AR Camera and screens which don't need to be nested within the drawer navigator into the RootStack for better performance
  • Offline and Online results screens were rewritten into Hooks

Fixed

  • Added an onEndReachedThreshold to Gallery FlatList for less rendering upfront; only fetch album names if albums are not in state

Added

  • Quick action for Seek AR Camera to allow users to more quickly access the camera
  • Row in Achievements screen to display June, July, and Aug challenge placeholders

Android

  • Fixes for a couple null pointer errors mostly affecting Galaxy and Moto devices
  • Donation to iNaturalist link for logged in users under Settings screen (not available on iOS due to Apple Pay requirement)

v2.6.0

22 May 19:04
Compare
Choose a tag to compare

Updated

  • Observation list only fetches new observations when user navigates from Achievements or SideMenu, making it easier for users to keep sections toggled and check out different SpeciesDetail screens
  • Notifications have three states, similar to new iNat notifications flow: 1) un-viewed and untapped 2) viewed and untapped and 3) viewed and tapped
  • User photo is loaded from a custom hook in both Observations List and Species Detail Photos (which makes loading faster & more uniform)
  • getAlbums loads from the react-native-cameraroll library; removed the react-native-gallery-managerlibrary

Fixed

  • Added gallery permissions error back in on iOS
  • i18n pluralized strings now contain "plural" in the name of the string

Added

  • New type of notification for a new challenge (within the same month)
  • June challenge

Android

  • Added latest computer vision model and corresponding taxon mapping