TurkServer / turkserver-meteor

Web-based, real-time behavioral studies and experiments using Meteor
http://turkserver.readthedocs.io
MIT License
90 stars 23 forks source link

Returning HITs not working #85

Open nasrinm opened 8 years ago

nasrinm commented 8 years ago

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:

Unable to login: You are already connected through another HIT, or you previously returned a HIT from this group. If you still have the HIT open, please complete that one first. [403]

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)

mizzao commented 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.

MadcowD commented 7 years ago

That's unfortunate---