Unable to remove annotation agreement or disagreement

Platform: Website

Browser: Chrome

Hi all, I’m currently having some problems with the annotations on sightings. Specifically, once I agree or disagree with an annotation, I cannot remove my agreement or disagreement except in a roundabout and unintuitive way. I have tried it with three different observations and all behave the same, so it is not just one weird buggy sighting like most of my problems seem to be!

Here is an example with the sighting I first noticed it on. Here is how it looks at the start:
image
I then hit ‘Agree’ for life stage:
image
Normally, if I then hit ‘Agree’ again, it will remove my agreement. But at the moment, it thinks for a bit:
image
And then… nothing. No change:
image
Hitting ‘Disagree’ functions as normal, and swaps my vote:
image
But then there is the same problem with the disagreement - I cannot get rid of my vote unless I swap it back to agreement. I was thinking it could just be a display issue and that the agreement had been removed but just wasn’t showing for whatever reason, but if I open the observation in a second window it still shows my agreement vote (same if I log out and view the observation anonymously).

The only way I was able to remove my vote was by agreeing with a different annotation, but this only seemed to work after a couple of attempts:
image
But then of course it is just the same problem with a different annotation. In this case though because the annotation is my own, I can remove it and then re-add it and it goes back to normal:
image

Hopefully this is enough information to work out what’s going on!

1 Like

Part of what may be happening is loading time. Annotations take awhile, about as long as the time for IDs, to save on the iOS mobile app. So first I’d wait after each step to check to see it it’s still occurring. I’ve also never noticed the main issue before on Chrome browser or iOS app.

I don’t think it’s loading time unless it takes an enormous amount of time. The annotation takes a good couple of seconds to load when I first put it in, and a couple more seconds to agree with it initially. I just tried it again then with a longer waiting time between the next steps - about 2 minutes - and it still acts the same way. I can’t imagine it would take more than a couple of minutes to properly load everything but I’ll leave it for an hour or two and see if that makes a difference.

Well “an hour or two” turned into four, but it still doesn’t work. So I don’t think it’s a loading issue.

Okay. Did it happen in the past? I don’t think it happened to me in the past. So it might be a real issue, although not affect all. Maybe others will know.

1 Like

this should affect everyone, across all platforms (since the problem seems to be in the API).

as far as i can tell, a DELETE /votes/unvote/annotation/{id} call doesn’t actually remove the annotation vote from the annotation, but it might be creating some sort of record that says the vote should be removed. as matthew_connors notes, a subsequent POST /votes/vote/annotation/{id} call or POST /annotations call (on a different annotation on the same observation) is required to actually remove the vote.

(an alternative to the workaround that matthew_connors notes is to – after attempting to delete the desired vote – simply create a new annotation and then delete that annotation.)

1 Like

I only noticed it recently but I’m not sure how far back it goes. It wasn’t affecting me earlier this year but I have no idea when it actually started.

As OP said below, I’m referring to that this didn’t seem to always happen in the past, and it’s unclear if it’s always happening currently, for all observations, for all users. You’re potentially correct though that it shouldn’t necessarily affect users differently. It’s common in bug reports though that people will first ask if it’s affecting everyone.

I noticed another similar example which may be a bug, in which case let’s consider it part of the current bug report, here. A user’s profile icon shows next to the Alive and Adult annotations, despite that no votes up or down are displayed (I’d think the icon would disappear in that case).

1 Like

i’ve been thinking about this more, and i think what’s actually happening is that the vote is removed, but the observation is not getting reindexed. so we don’t get access to the latest information until the observation is reindexed. this would be similar to what’s being described in: https://forum.inaturalist.org/t/life-stage-annotation-not-saving-on-specific-observation/24021/19.

so another workaround would be to attempt to delete the vote and then click on one of the DQA metrics (which would trigger a reindex of the observation). you’ll see that the removal of the vote will occur with the change of the DQA metric.

if i’m understanding you correctly, this is intended behavior. in the annotations, the votes up and down are different from the initial annotation – sort of like in a meeting, a motion and second are separate from the votes for that motion.

2 Likes

I just tried that, and yep it removes the vote. I was half expecting the DQA agreement to behave in the same way but it works as normal and I can remove my vote without problem.

1 Like

Correct.

This may be the best solution currently, although that’s still requiring an extra step that’s needed to change it (similar to what you described at the start, of needing to click on more things to change it). So in cases like this, it’s unclear to me whether a bug is “solved” or isn’t solved exactly fully.

Thanks for sleuthing this, @pisum. Wrote up a bug here: https://github.com/inaturalist/inaturalist/issues/3225

1 Like

Is this related? https://forum.inaturalist.org/t/i-can-agree-with-my-own-annotations/26339

No, that one isn’t related.