i downloaded a medium version of the first photo in the observation (https://static.inaturalist.org/photos/204307836/medium.jpg) and then started a new observation in the web upload screen. then i added your coordinates (20.745279,107.069327, acc 32m), and asked for a vision suggestion.
here’s what i got:
so i think you’re right that on upload, the app may have suggested Primulina, but i don’t think it’s a mobile app issue specifically.
i don’t know how the iOS app works, but i know that the web uploader and web observation / identify screens make slightly different API requests to get the vision suggestions, and the behavior matches what you described:
for completeness, here’s what i see in the website when i ask for suggestions on the observation screen:
…
one thing that i’m noticing is that this particular observation’s suggestions come with a “we’re not confident enough” disclaimer, which i think could mean that maybe there are very small differences in the scores of the vision suggestions. i think that could mean that if the two different algorithms do something even slightly differently, like round to different precision, you could end up with very different results. or maybe if use slightly different-sized images, you might get 2 different results.
that’s just a guess of what might be happening, but this seems reproducible enough that a developer could debug this and see exactly what’s going on, if they were inclined to do so.