agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq,
agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq ,
dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu
http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan
BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama
Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga
BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai
Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah
Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai
Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs
Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games
Comments
Hi!
That is weird I just tried and with my studies I get the usual result data. If you could give me a study link I can maybe see what is going on with your study.
Best,
Kristian
Thanks! Here is the link for one study: https://jatos.mindprobe.eu/publix/3Xscf9iYOVB
and here for another: https://jatos.mindprobe.eu/publix/Ogwf5tqOJYN
Edit: I just tested the second link and the problem also occurred for me:
Hi! I tried the second study link. I clicked through pictures for 10 min but it doesn't seem to end. I've never seen any result data being sent. Are they meant to be sent continuously during the experiment or all at once in the end. Should I have seen result data being sent? If yes, then there is a problem with the study, because I can't see any HTTP POST request sending data. If no, can you give me a link to a study that is a bit shorter, max 5 min?
Hi, yeah sorry, could have thought about that. I set up a minimal test study here: https://jatos.mindprobe.eu/publix/3DwS4LaeR43
I just checked and data is also not available on the server. Data is transferred after the demographics form.
For the previous studies, data is transferred towards the end of the experiments.
P.S.: The studies are built using lab.js and data is transferred through the data transmission plugin.
Are you sure that it worked before? I tested your study link and monitored the network traffic (see attached screenshot). There is not a single POST request sending result data to the JATOS server. If the experiment doesn't send result data the JATOS server can't do much.
I'm not an expert in lab.js and I don't know what might be the culprit here.
I just tested it with a lab.js study of mine and they send result data to the server. So far, I think the problem is more on the client side's code, your experiment.
I also noticed that it can also be a HTTP PUT, not only a POST.
First, thanks a lot for looking into it. Yes, it was definitely working before. I have three live studies for which data was collected until before the update and data ceased to come in afterwards.
I think I have narrowed down the problem, though. As I said, I am using the data transmission plugin in lab.js. Since the update, there seems to be an incompatibility with this plugin. Internally, the plugin uses this code:
"code": "const transmitPlugins = this.parents[0].plugins.plugins\n .filter(p => p instanceof lab.plugins.Transmit)\n\nif (transmitPlugins.length > 0) {\n // If a transmitPlugin is available,\n // pull out its options and transfer the data\n const ds = this.options.datastore\n const tp = transmitPlugins[0]\n ds.transmit(\n tp.url,\n { ...tp.metadata, payload: 'full' },\n { headers: tp.headers, encoding: tp.encoding },\n ).then(\n () => this.end('transmission successful')\n ).catch(\n () => this.end('transmission failed')\n )\n} else if ('jatos' in window) {\n // If JATOS is available, send data there\n jatos.submitResultData(\n this.options.datastore.exportJson(),\n () => this.end('transmission successful'),\n () => this.end('transmission failed')\n )\n} else {\n this.end('no compatible backend')\n}"
When I use the following snippet manually, it still doesn't work:
if('jatos' in window){jatos.submitResultData(this.options.datastore.exportJson(), () => this.end('transmission successful'), () => this.end('transmission failed'))} else {this.end('no compatible backend')}
However, if I remove the check for jatos in window, it works.
jatos.submitResultData(this.options.datastore.exportJson(), () => this.end('transmission successful'), () => this.end('transmission failed'))
I can send you the study versions if you wish to take a closer look. But the problem may perhaps be that jatos is no longer detected in window?
Best,
Marcel
Hi Marcel,
Your investigation actually helped a lot. I think I know now what is happening. I did some housecleaning of the jatos.js and turned var into const or let where ever possible. jatos.js is pretty old, it was written 10 years ago (and extended over time) but it uses an old JavaScript that wasn't standardized yet and let and const weren't a thing (it also uses jQuery's deferred because Promises didn't exist yet). So one of the changes were to change the whole jatos object from
var jatos = { ... }to
const jatos = { ... }. It's supposed to be safer, one cannot overwrite a const object accidentally and so on. But, it also does not create a global window property. And for this property your lab.js plugin apparently tests with:
if('jatos' in window). So, now we have the reason for your study not working, but how do we go on from here? I see two possibilities: 1) change jatos.js back and use var at least for the jatos object, or 2) change the lab.js plugin's code to use a different test, something like
if (typeof jatos != "undefined")I strongly want JATOS and jatos.js to be backwards compatible but I also want to keep it to modern programming standards.
For the time being you can add this line to your code.
window.jatos = jatos;It attaches the jatos object to the window object manually and now the lab.js plugin should see it with
'jatos' in windowand continue to send result data to the JATOS server.Best,
Kristian
Hi Kristian,
glad that is figured out! Yes, sounds good. window.jatos = jatos is definitely a good workaround for the moment (in the meantime I have simply been using the manual code and not the plugin to continue data collection, but I will try this for the next study).
I agree with the notion to keep JATOS up to modern programming standards. Perhaps it would be a good idea for you to reach out to Felix Henninger and suggest adjusting the code for the data transmission plugin appropriately?
Best,
Marcel