It's considered bad practice to import your script libraries into other scripts in Ignition. It's possible they blocked it in 8.3 but not certain because I don't ever import libraries anywhere else. Reference the functions by their full name everywhere they're used and you'll probably be fine.
I have many library scripts and multiple projects. None of them broke when I upgraded to 8.3 ~ They are currently on 8.3.7
I have seen this exact error multiple times before when something is goofed in the library script itself. Look along the vertical scroll bar in the interval script for a red rectangle indicating an error:
Yes. if you see my first picture... all the scripts were there. There was no issue when i worked on this project on Ignition 8.1.X then after upgrading my Ignition to 8.3.6 all the sudden the issue came out like this.
What project is configured on the gateway as your gateway scripting project? As @pturmel said, these scripts will need to exist in this project or in a parent to this project for them to work in tag change scripts.
I just want to make sure that we are all understanding each other, because, at least to me it is unclear if you have this project set as the gateway scripting project or not.
Here is what we know about your set-up:
You are trying to use these scripts in a Tag Change Script.
The scripts are defined in the project.
There is no parent project for this project.
Because Tags operate outside of a projects scope, the project doesn't need to be running for the tag change to occur, you have to define them in a place that the Gateway knows where they are. This is the Gateway Scripting Project. If the project the scripts are defined in is not set as the gateway scripting project, then the tag system will not be able to locate the scripts which will generate the error you are seeing.
No clue what's is going on here. After i switched from OEE LP to OEE-Launch-Pad then it was working. I did some modification here and there, then now the problem comes back.
You should not be importing any project scripts into other scripts. Full Stop.
If you don't want the admittedly painful need to type out the fully qualified name each time you want to use it then you can just set a top level variable.
INTERVAL = long.path.to.your.script.interval
if someInterval == INTERVAL.HOUR:
#do something
Search the forum and you will find that importing project scripts as you are here opens you up to a whole host of potential issues.