Hello @frank.papenmeier,
I am sorry to read that your experiment stopped working. Thank you for providing such a detailed explanation!
The issue here does not have to do with MTurk but, rather, with the fact that your experiment is using the generic, latest version of the library (i.e. core.js, data.js, etc.) and that we recently made changes to it in order to better handle certain loop scenarios.
As you may know, Pavlovia and PsychoJS are still very much under active development. We are trying to make changes to the library and to the back-end as transparent as possible to the experiment designers and to the participants but we regularly need to do deep changes, which sometimes also require the JavaScript code to be generated in a different way.
What happened here is that we have altered the way PsychoJS handles loops, in order to accommodate more scenarios. To do so, we had to change both the library and code generation. Unfortunately, because you are using the generic, latest version of the PsychoJS library instead of a specific version, you only got half of it: i.e. your experiment with the old code now uses the new library. Hence the problem.
The easiest way to deal with your issue is to modify the head of your experiment.js file and use the 3.1.0 version of the library, i.e.:
import { PsychoJS } from ‘https://pavlovia.org/lib/core-3.1.0.js’;
import * as core from ‘https://pavlovia.org/lib/core-3.1.0.js’;
import { TrialHandler } from ‘https://pavlovia.org/lib/data-3.1.0.js’;
import { Scheduler } from ‘https://pavlovia.org/lib/util-3.1.0.js’;
import * as util from ‘https://pavlovia.org/lib/util-3.1.0.js’;
import * as visual from ‘https://pavlovia.org/lib/visual-3.1.0.js’;
import { Sound } from ‘https://pavlovia.org/lib/sound-3.1.0.js’;
I have tested it on my end and it is working like a charm. This will also protect you against future changes.
Alternatively, you could regenerate your experiment code with the latest version of PsychoPy. That should also work.
I completely understand that you could not possible guess that we made deep changes and I apologise the mishap. @jon and I have been thinking about ways to clearly communicate those situations to the experiment designers. We should have a solution in place in the coming weeks, most probably using the message section of the pavlovia.org dashboard, emails, and warning the designer before they change the experiment status to RUNNING that they are using a generic version.
Certainly, the take-home message is that once you are satisfied with a given version of the library and with your experiment code, it is probably a good idea to “lock in” the library, by using a given version, rather than using the latest, generic version, which is susceptible to change.
Alain