"TypeError: a.setBindPose is not a function" started occuring?

This just started occurring with scenes that have been working for a while

Babylon.js v4.2.0-alpha.30 - WebGL2

Is this something on our side or it is from
Babylon.js v4.2.0-alpha.30 - WebGL2


1 Like

It seems your loader package (babylonjs.loaders.min) is not up to date, you must get the 4.2.0 alpha.30 for it too.

This is what we are doing

<script src="https://preview.babylonjs.com/babylon.js" defer></script>
<script src="https://preview.babylonjs.com/loaders/babylonjs.loaders.min.js" defer></script>
<script src="https://preview.babylonjs.com/serializers/babylonjs.serializers.min.js" defer></script>

It really seems to be a browser cache.
I opened in a private mode and it appeared. I also force refresh.

But my clients would not open in private and force
refresh. Do you know if there anything we could do?

You can try:

<script src="https://preview.babylonjs.com/loaders/babylonjs.loaders.min.js?version=1" defer></script>

That will change the url to the babylonjs.loaders.min.js resource and so the browser should reload it from the web server and not from its cache.


Do you know of a way we can automate this.
When babylon releases a new version to change the page we are returning to our users so that all of them will refresh the cached version. Probably an email or a callback we could subscribe to and parse on the server?

The <script> tag above is not in a web page hosted on your server?

If it is, your users have only to browse this page again to get the updated version.

They did not and that’s why I created the issue.

We are serving the webpage and they were not receiving the new version of the babylonjs.loader.min.js. This is how we got the screenshot. Tried it on our machines. It was not working. Tried it in incognito with clear cache and it was working.

Did you try my suggestion above to add ?version=1 to the url?

It’s normally enough for web browsers to get the new version from the web server when browsing the page.

I can do it now. It will get the new version and from now one it will always get the version not from the browser cache, but from preview.babylonjs.com. This is when we use the ?version=1. In this way we lose the browser caching.

What I am thinking of is returning https://preview.babylonjs.com/loaders/babylonjs.loaders.min.js most of the time and when there is a new version return ?version1 for some time while the browser cache expires. But I guess, now that I am writing it, it will too much work.

Each time you want your users to retrieve the file from the web server, increase the value of version.

Note that ?version=XX is simply a string appended to the url to force the browser to retrieve the file from the server. You could add anything you want: ?text1, ?text43, ?sdfgsdxczsert. You simply need to make sure the full url with this appended string has never been used before, so the browser won’t be able to find it when looking up its cache.