Error after Wappler Update

Hello Everyone,

I recently updated my wappler to version 6.8.0 and a lot of the functions that were working previously in my project is not working anymore. Is there a way that I can go back to my previous version of wappler? My previous version was 6.1.2

People might have used the term "roll back" or "install previous version". You might be able to find a suitable answer searching for those keywords. HTH

What is not working? Can you show us?
Backup everything first, but have you hitted the "publish" button? Maybe something is missing on the server

If you are on PHP than probably this is your problem:

Most my custom javascript where I'm using dmx.parse did not work. For example I have a function which is using the following code

await dmx.parse(`shipmentPackages.replaceAt(${index}, (${JSON.stringify(newShipmentPackage)}))`);

This used to work before the update but is not anymore.
Another example is on a form select onChange, I'm setting the value of another input which is hidden, is also not working anymore. Also the .length was changed to .length() so I had to change everywhere i was using the length function. The updated didn't do it itself.

I'm using NodeJS

This was removed already long ago, the length was never officially supported but native properties were partially accessible in early App Connect like the length property of an arrays.

With the custom JavaScripts not working is difficult to tell without knowing more about how your app is structured. There were no major updates in the dmx.parse method itself, but components did get many updates. Did you update from App Connect 1 to 2?

If dmx.parse is not working correctly it is due to an incorrect expression. Often this happens if the app structure changed, if no scope is passed as a second parameter the expression is run in the app root and this means you have use the full component path in your expression if you want to access some data.

For example you have a serverconnect called sc1 on a content page which loaded some data from a database which you like to access. The code then probably looks like:

dmx.parse('content.sc1.data.query1')

Often the content part is forgotten, it comes from the main template page and is the view where the content page is loaded into and the app root is on the body node. The sc1 is the serverconnect component, data is the property where the remote data is loaded and query1 was the action step where the database query returned its data.

In your case it is difficult to say where shipmentPackages comes from, is it some custom data you've set yourself in global scope or in the app root or is it some component and where is that placed within the app structure. So without any further information it is difficult to give any useful answer.