Textbox ONLY writing RTL!

URL of experiment: Pavlovia

Description of the problem:
I feel like I am losing my mind. I am trying to make new versions of some experiments that already function well on pavlovia (and were made in version 2021.2.0). These new versions simply need to be in a different language, so some text and audio files are changed, and they are being made in the newest version of PsychoPy. Since today (29.02.24) the textboxes in these experiments will only work in a Right-To-Left way (i.e. if I type ‘hello’, presented on the screen is ‘olleh’). The weird thing is, yesterday I implemented a textbox in another experiment in the most recent version of PsychoPy and it works as expected (Pavlovia, if it helps). Can any of the developers (@Becca @thomas_pronk @jon) shed light on what is going on? I am under time pressure to get these working as soon as possible, and wasn’t anticipating so many new problems. I would really appreciate your support.

Is there any chance you’ve accidentally switched the setting?

or flipped horizintally,

or given it a negative X size?

Hi! Thanks so much for the quick response. I don’t think I have done any of those things… here are my screen shots in case I am missing something:



(I even tried playing around with all those options, in case I could trick it into flipping back…but without success)

Are you using this version? There were a lot of bug fixes and textboxes in particular have come on a lot. If you want to use 2021 then go for 2021.2.3

No, strangely enough the textboxes work in that version, but the one I am having trouble with is the most recent version. In the experiment settings in builder view I left version blank, and on pavlovia it says “platform version: 2023.2.2”.
I have a python conflict now with the 2021 version, so I can’t just stay in that version.

Try 2022.2.5

Thanks for the suggestion, @wakecarter. Unfortunately I don’t seem to be able to change the version. When I set the version to another one in Experiment Settings (in this case 2022.2.5) and then push it to Pavlovia, the platform version on the experiment’s pavlovia page does not change (even after switching to inactive, and back to piloting) but the experiment will no longer run (“initialising the experiment” message). The error is this issue with MIME-Typs (“text/html”) that is described here "Loading module was blocked because of a disallowed MIME type (“text/html”)" Back then I had to go back to an even earlier version of psychopy to get it to work. Is the only way to get a stable version of psychopy to go back to a 2021 version?!

Edit: I just tried going back version-by-version and i can get it to sync and show a version change up to 2023.2.1 but from 2023.2.0 I get stuck on “initialising” and the MIME-Type issue described above. Any ideas why that might be?

Apologies for the multiple posts, but I discovered what is causing the problem. In a code component, I convert the text entered by the participant to upper case, using this code in the Each Frame tab:
textbox.text=textbox.text.toUpperCase();
(I want all letters to be presented in upper case, regardless of how they entered the letters).
When I comment out that line, the text box behaves as it should - printed Left-to-Right, but not in upper case. Any ideas for an alternative code that will do what I want without reversing the direction of the text? And how can I register this issue so it is fixed at some point?
Thanks again for your support today. :slight_smile:

Try

if textbox.text != newText:
     newText = textbox.text.toUpperCase()
     textbox.text = newText;

You’ll need to put newText = ‘’ in Begin Routine

Thanks for the suggestion. When I implement this, the letters are presented in upper case, but again in right-to-left. That is, if I write h-e-l-l-o, presented on the screen is OLLEH. So it really seems to be a bug with the implementation of the command text.toUpperCase().

That’s a good idea. Try print(newText) / console.log(newText); and check the developer console to see if that’s the issue.