Open nasrinm opened 8 years ago
So TurkServer doesn't know that a user has returned a HIT until another user accepts the assignment that they returned (e.g. https://github.com/TurkServer/turkserver-meteor/blob/master/server/accounts_mturk.coffee#L64). This is the best we can do without getting explicit notifications from MTurk.
In terms of accepting new HITs, I agree that the previous user should be logged out. Currently it's getting processed as a re-connection which is why you see the previous assignment.
I've generally avoided having to handle these cases by making sure that user have a high chance of fully completing and submit their assignments. If a user is returning HITs and accepting new ones, they generally are having some problems anyway. What this process currently does (effectively) is to prevent users that have returned HITs from immediately doing new ones.
I agree it would be nice to handle these cases better but I'm not sure of the best way to do so.
That's unfortunate---
Testing master branch on sandbox, returning a HIT does not seem to be working. Here is the scenario: the user accepts a HIT, works on it, in the middle decides to return it and it looks like the return was successful. Then user goes to accept another HIT from our batch and the following error shows up:
And before accepting this new HIT (and getting the above error) it's clear that when the next HIT preview should have showed up, it shows the /experiment of the previous assignment!
If the user goes to the HIT-assigned, there is no HITs assigned there (again showing that the HIT was successfully returned from Mturk side)