Identify ignores species selected after a second

Platform: Windows

Browser: Chrome

URLs:

Screenshots of what you are seeing:

Description of problem: I go to Identify, I then select a species, the icons are updated to that species and the species I selected shows up in the menu. The after 1 second, the icons go back to show all species as if I didn’t select any species, even though my selected species is still set in the GUI. I have to go into the settings and click something else to get it to show only the species I selected. This has been happening consistently for at least a month now.

3 Likes

Is it possible to share a screenshot of what you are seeing? What do you mean by “icons go back to show all species”? By “settings” do you mean filters or something else? Thanks! e.g.:

image

1 Like

This has been happening to me for months. Example: I input the taxon (anoles), the page reloads as it should with anoles (you can see the new address with the taxon ID in the address bar on the browser), the pictures are all anoles, then the photos flash and all return to just showing the newest observations (identify page default). The address bar still shows the taxon filter.
Happens about half the time. I just hit F5 to refresh though, and then I get my anoles. Hasn’t ever not worked with the refresh.

1 Like

Same for me, I choose plants icon, it shows me them for a sec and goes back, with plants still on. It’s like that for a month at least.

Have been having similar issues in various pages. Particularly frustrating when trying to enter IDs for my obs in bulk uploader on Mac desktop in Safari, but similar issue with search results on desktop and in tablet. I don’t know if its a new issue, as it seems I have been “still learning to use iNat” for 2 years, there are so many variables to work through as to what caused any issue in any page.

Sorry I don’t have time to document it.

1 Like

Been trying to replicate @cthawley’s example (because anoles are near and dear to my heart) and I can only do it if I choose a filter before the observations have loaded.

  1. Click on Identify
  2. While page looks like this, I quickly type in Anoles and select it.

  1. Obs of anoles briefly shows, then all obs show. This doesn’t happen every time, but most times, and I think it’s related to how quickly I choose my filter.

At step 2, if I wait for the observations to load before choosing Anoles, everything works fine.

3 Likes

yes, that appears to be exactly it. you can get a better idea of what’s happening under the hood if you look at the browser’s network monitor. in the snapshot below, i have a snapshot of the page that shows Anoles in the filter and URL but observations of other taxa:

on the right half of the snapshot is the network monitor, which shows all the different requests that the page made. i’ve drawn arrows pointing at 2 lines. the first represents the request that pulls all observations, and the second line with the arrow represents the request that pulls just anole observations. the bars on the right side of each of those lines give a representation of how long those requests took to complete. you’ll see that the first (all) request took quite a while to complete. the second (anole) one started and ended all while that first request was still going.

upon completion of each of those requests, the page renders the response from those requests onto the page. since the anole request completed first, it rendered first, and then the all observations request completed a little bit after and replaced the anole observations.

probably the thing to do is to either force the cancellation of the first request if a subsequent request is initiated, or else let it complete, but don’t render the results from that first request. another less elegant thing you could do is look into why it takes such a long time to return the results for all observations and try to tighten that up. if there’s not such a large discrepancy between the time it takes to return all results and just anole results, then you’re less likely to run into the all results request completing after anoles.

probably not directly related, but while i was looking at this screen, i just let it load with all observations, and it appears that it makes 3 requests to the get observations API endpoint (see lines with arrows):

the first request is for unreviewed observation details:
https://api.inaturalist.org/v1/observations?viewer_id=779571&preferred_place_id=97394&locale=en&ttl=-1&reviewed=false&quality_grade=needs_id&page=1&per_page=30&order_by=observations.id&order=desc&spam=false

the second is for a count of reviewed observations:
https://api.inaturalist.org/v1/observations?viewer_id=779571&ttl=-1&reviewed=true&quality_grade=needs_id&page=1&per_page=0&order_by=&order=&spam=false

the third is for a count of reviewed+unreviewed observations:
https://api.inaturalist.org/v1/observations?viewer_id=779571&ttl=-1&reviewed=any&quality_grade=needs_id&page=1&per_page=0&order_by=&order=&spam=false

i didn’t try to dig into the code, but just looking at the page i don’t understand why the second and third requests are necessary or where those counts would be used on that page. it might seem like a minor thing, but look at how much time it took to complete that 3rd request in particular. if it’s not necessary to make the request, then maybe you can save the server the extra work of processing unnecessary requests?

4 Likes

We released a potential fix for this, it’s working for me in the Anoles situation I described above. Working for anyone else?

3 Likes

yup. i can’t reproduce the problem anymore, and the code change looks like like a logical way to handle the problem.

1 Like

Cool, I’ll mark as solved then. Thanks!

Yes, looks to be solved for me as well! Thanks!

2 Likes