Script Module Find Replace Environment Bug?

I developed some script modules as a test with a package myFuncs under app. I then tested the various modules via script in components. When testing was complete, I decided to ‘clean up’ the script by creating a more descriptive package name. I created a new package called ‘dragFuncs’, then copied and pasted the various script modules from myFuncs into dragFuncs. I then proceeded to do a global Find/Replace in the component scripts using app.myFuncs as the find with app.dragFuncs as the replace. All went as expected and replacement was done. I then deleted the myFuncs package. I saved the project. Then went back into find/replace to make sure all replacements were done. Searching for app.myFuncs returned no results, searching for app.dragFuncs returned results as expected. I then published the project and updated the client and encountered issues. When using components that had called app.myFuncs but now were calling app.dragFuncs, the client was throwing an error that app.myFuncs was not found. I then proceeded to go back into the designer and try it at that level. I did another find on app.myFuncs and received the result that app.myFuncs was not found. I then ran the project in the designer choosing a component that errored in the client and the error occured. I then went into the script for a component that the error occured on and could find no references to app.myFuncs. Having no better ideas at this point, I copied the script line that now contained app.dragFuncs to the clipboard and deleted the line in the script and saved the project. After the save, I went back into the script and pasted the line from the clipboard and saved the project. Retested and all ran fine. There was no longer an error that app.myFuncs could not be found. Upon further testing, it appears that some components worked fine without the copy/paste business, others did not. The thing to remember is that app.myFuncs could not be found anywhere using find, but was still somehow referenced in bytecode. I proceeded to manually do the copy/paste on all affected components, saved, and published. All worked fine after that.

Just to make sure, when you did a search/replace you searched all windows, all scripts, etc and not just the ones opened?

It was a global search replace. The anamoly was evidenced with the specific lines in the script… where app.myFuncs did not exist on the offending line, but app.dragFuncs did. The error was stating app.myFuncs was not found yet the line had no reference to app.myFuncs at that point.

I was able to partially reproduce the issue (designer errors, but no client errors). Which version of Ignition are you using?

7.5.3 (b1163)

The client error occured in ‘new version available’ on a running client. Perhaps it does not happen on the client side if you launch a client after the update as opposed to updating a running client.

Ok, good, I tested using 7.5.3 as well. I tested in the same way that you did, with a client already running that needed to be updated, and it worked ok. I’ll put a bug report in our system for this.