Updating Issues with 1.22

  • Last time with (the excellent) 1.21 update it took many days work to get our existing code to work again. The issue was mostly syntax changes and older functions that had been replaced or renamed.

    This (also excellent) 1.22 update is also causing quite a number of malfunctions. It would be really helpful Klaus if you could point out where to start looking for changes that need to be made to our existing code. This is the current version using 1.21.2 With the new 1.22 version as you can see there seems to be a lot of work to be done to get it functioning as before.

    I imagine the indications of what needs to be changed are somewhere in the release notes but I would really appreciate a few quick tips as to what the most fundamental changes are.

    This is what I can see at the moment:-
    WARNING: There is already a blocking lookto(), the current call will be skipped!

    Code
    WARNING: tween() - layer[menu1].alpha doesn't exist!  [3x]WARNING: tween() - layer[infopanel].height doesn't exist!WARNING: tween() - layer[infopanelitem].height doesn't exist!WARNING: tween() - layer[infotranslate].y doesn't exist!WARNING: tween() - layer[menu1].alpha doesn't exist!
  • i had the tween issue as well and noticed that my code didn't init the value before tweening in 1.21 already.

    after a quick fix in my code, the warning was gone. but no crashes involved.

    Klaus :

    what happens if eg. layer[menu1].alpha is unset (null) and gets tweened to 0.5 ?

    is the tween ignored ? and was that the same in 1.21 ?

  • Hi,

    there are no fundamental changes that would require adoptions...
    And compatibility always has a very high value during development!
    Incompatible changes are only made, when not avoidable. And when things get renamed, the old name is typically still supported.

    Can you please point to the differences in your case?
    Or to thing that required changes?
    How to see/test the 'crash'?

    When there are compatibility problems, maybe they can be addressed.

    About the lookto() warning - that was the same as in version 1.21. It happens can calling a 'blocking' lookto() from 'outside the krpano event queue processing'. There was actually no change there...

    About the tween() warning - the warning is indeed new, it happens when trying to tween a variable that doesn't exist yet. It indicates a main/root problem in the application logic that should get fixed.

    Version 1.21 was slightly different here - even when a variable didn't exist, the tween was still running (with start value of 0.0), but it wasn't able to actually set the value - only existing variables could be set by tween. But it was possible that the variable could come into existence during the tween runtime. But in this case the initial value of the new variable is not used, instead the tween keeps running from the 0.0 start value to the given target value.

    Due my experience, the old behavior with the possibility to tween non-existing variables, had caused more sometimes strange and hard to understand problems. Doing it 'right' and allowing only to tween variables that are really already defined, should make more sense in the long term.

    So as summary - correct code should still be working when updating, only code that was on edge of undefined behavior, could behave differently.

    Best regards,
    Klaus

  • I do apologise for referring to the failures in functionality as crashes, Klaus. That's not correct it's just that the site as you can see behaves quite differently if you run the same code using 1.21 and 1.22. I have no idea whether my code was badly constructed or not, but it was working as I intended before and now it's doing something quite different.

    I can certainly go through and look for tweens that have been called without an initial value and hopefully that will solve all of the issues that I'm experiencing.

  • I've actually repaired those uninitialised tweens. It doesn't change the fact that the site functioning very differently when the same code is being loaded with version 1.21 and 1.22..

    There must be something else in the basic viewer code which has changed, meaning that the existing code is being interpreted differently. I will probably spend many hours hunting for the changes but it would be very helpful to have some tips as to what might be fundamentally different in how it executes existing code since the last version.

  • first thing: the plugins you use are from 1.20 and do not match the used krpano 1.22

    this is for sure problematic and you should replace the krpano plugins folder with the one from 1.22

    That's an interesting point, thanks for mentioning it. Do the plug-ins really change from one version to the next and if they do, would they work differently and change the overall function?

  • There were not fundamentally changes and code isn't interpreted differently.

    If you want, you can send me your example (not encrypted of course) and I can take a quick look. It can be only a very minor thing, maybe really related to tween calls...

    At the moment, I'm just going to do a little bit of experimenting to see what is different. If I get very stuck I may well take you up on your kind offer, Klaus.

  • Do the plug-ins really change from one version to the next and if they do, would they work differently and change the overall function?

    yes they change ofc as well over time. no they are not changing the overall function, and they will be backwards compatible. but they expect to run with the version they were built for. the license is maybe just used for the new three.js plugin.. (?) ... you can try to remove it.

  • Hi,

    the plugins are typically compatible, but updating is recommend of course.

    About upgrade notice - did you maybe include the webvr2.xml? See:
    krpano.com - Plugins - XML Extensions

    Btw - there is actually a bug related to String operations, maybe that also affects your case:

    klaus.krpano
    November 4, 2024 at 2:33 PM

    Best regards,
    Klaus

  • Regarding the new plug-ins it seems that if you replace them after you've upgraded your license you need to upgrade your license again.

    ------

    On the issue of the different behaviour in a conditional code execution I'm relieved not to be the only one who is affected. Not sure how quickly you're planning to bring out a new version but until then would you recommend that we don't upgrade until the next release?

    Is there a way that we can avoid this problem just by writing our code slightly differently.? I would really like to utilise the other excellent advances in version 1.22

  • Regarding the new plug-ins it seems that if you replace them after you've upgraded your license you need to upgrade your license again.

    No... that's not related...

    Not sure how quickly you're planning to bring out a new version

    As soon as possible, in the next days, maybe even today or tomorrow.
    The string-handling bug from the other thread has been already fixed, but I'm still working on some other issues (not related here). If you want you can contact me also my mail for a quick test if that fix works in your case.

  • Just to explain this plug-in issue. I upgraded my KR pano js to 1.22 and the demo warning in my site disappeared. The plug-ins the site was referencing were from 1.20. As soon as I replaced even one of the plug-in files from the 1.22 plug-ins folder the demo warning appeared again. The solution to this was to upgrade the JS file again and then the demo warning disappeared.

    Edited once, last by nicoclark (November 7, 2024 at 6:58 AM).

  • Just to explain this plug-in issue. I upgraded my KR pano js to 1.22 and the demo warning in my site disappeared. The plug-ins the site was referencing were from 1.20. As soon as I replaced even one of the plug-in files from the 1.22 plug-ins folder the demo warning appeared again. The solution to this was to upgrade the JS file again and then the demo warning disappeared.

    Sounds like cache related on your side.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!