How to get updated versions of psychoJS library?

Description of the problem: I have an experiment that I think is experiencing the following issue in psychojs:, because ImageStim._estimateBoundingBox() throws an exception for the ImageStim in my experiment, with TypeError: this._size is undefined. It looks like this issue is fixed but when I try to run my experiment on, I still hit this error. What can I do to either workaround this error or get an updated version of the psychoJS library that contains this fix?

Hi there,

to my knowledge the psychojs library should be updated automatically - calling @thomas_pronk to validate.


Unfortunately, I don’t think that the library is updated. When I run the experiment through and follow the experiment in my browser’s development tools / debugger, I see that the pyschoJS library does not contain the fix for the above-referenced issue. You can see in the screenshot of the debugger that the highlighted region uses this._size (which is the bug) and not size as in the fix:

I’d appreciate any assistance!

This has to do with our development process; as we develop features and bugfixes, we create new versions of the library, but these are not yet available via Pavlovia. First they go through a range of checks and balances.

  • The user “thewhodidthis” made a copy of the PsychoJS repo (called a fork) to fix something.
  • Next, they made a pull request, which boils down to “please apply this change to the repo”
  • Then the senior developer reviews this request, and applies the fix, thus updating the repo
  • Finally, at some point, the repo gets compiled into a new version of the PsychoJS library, which is then made available on Pavlovia

The reason we do it like this is quality control; at each of these steps, someone performs all kinds of checks to ensure this change won’t break anything else. As consequence, it can take a bit longer before a change is applied, but the good news is; you’re sure that this fix is less likely to cause other problems :slight_smile:

Great to hear about the process. I am still confused though, because I see fixes for other issues that were committed later than this one have been deployed to pavlovia.

The fix for this issue was merged into psychoJS on October 9 in this commit: Merge pull request #177 from thewhodidthis/bf#176--image · psychopy/psychojs@c203524 · GitHub, and I don’t see that change deployed on pavlovia, as described in this thread.

A fix for a different issue that I am interested in was merged on October 27 in this commit Merge pull request #188 from pn2200/selectFromArray-fix · psychopy/psychojs@6965c81 · GitHub, and I see that change has been deployed on pavlovia, by looking at the util-2020.2.js, that is used by my experiment, in the debugger:

I happen to need both changes deployed so I can run my experiment, and I don’t quite understand what is going on. If there is a workaround, I’d be happy to implement it.

Hey @pn2200, no problem, could you share your repository with me so that I can add the latest PsychoJS build into your project? Thanks, s.

1 Like

@sotiri Thank you for the offer to help fix my experiment.

Can | ask that you just describe what you would do? I ask because I am not the only person who is experiencing this problem (there is at least one other person who has posted here about it) and they also would probably like to know the resolution, and because I want to be able to make the decision between carrying a patch to use the latest PsychoJS vs. waiting for it to be deployed to pavlovia.

Hello @pn2200,

With my apologies for the mishap, I have just fixed the issue with the bounding box of ImageStim.
You are absolutely correct that we typically port the fixes from the repository to the library in order, and as quickly as possible. On this occasion, a couple of wires crossed when I have to revert a particular change while pushing others.


1 Like

Thanks everyone for your help. I just tested my experiment on pavlovia and did not run into this issue. Thanks again, I really appreciate it!

1 Like