#17141 closed defect (fixed)
[regression] cached templates no longer used
Reported by: | bozzolini | Owned by: | Rawld Gill |
---|---|---|---|
Priority: | blocker | Milestone: | 1.9.1 |
Component: | BuildSystem | Version: | 1.9.0 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
We recently updated from version 1.8.3 to 1.9.0. Our custom widgets that use dijit/form elements are not working in IE10 anymore (but working in other browsers FF20.0, GC26.0). Somehow IE10 requests the HTML templates for the dijit/form widgets. These are normally not available in a production environment as I understand.
After a quick compare of dojo v1.9.0 dijit/form/Button.js and dojo v1.8.3 dijit/form/Button.js we noticed that the require({cache:{[...] was moved to the bottom. Does Internet Explorer have a problem with that?
Attachments (1)
Change History (15)
Changed 7 years ago by
Attachment: | ie10_networkcapture.png added |
---|
comment:1 Changed 7 years ago by
Component: | Dijit - Form → Dijit |
---|---|
Owner: | changed from Douglas Hays to bill |
Status: | new → assigned |
comment:2 Changed 7 years ago by
Component: | Dijit → BuildSystem |
---|---|
Milestone: | tbd → 1.9.1 |
Summary: | IE10 requesting dijit/form/template HTML files → [regression] cached templates no longer used |
Regression from builder change in [31250]. I don't think it has anything to do with IE10 per se, because of the differences in Button.js that you mentioned.
comment:3 Changed 7 years ago by
Owner: | changed from bill to Rawld Gill |
---|
comment:5 Changed 7 years ago by
Priority: | undecided → blocker |
---|
comment:7 Changed 7 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:8 Changed 7 years ago by
Both patch versions :
--> https://github.com/dojo/util/commit/89bf2786e322323293f52917223aa24db7649951
and
--> https://github.com/dojo/util/commit/783da4030bf9e727bfb4fc874b59f77521545264
break Util !
The error you get (while building) is :
js: "<eval'ed string>#1(Function)#1(eval)", line 335: uncaught JavaScript runtime exception: TypeError: Cannot find function computeAliases in object function (a1, a2, a3) { return contextRequire(a1, a2, a3, module, result); } . at <eval'ed string>#1(Function)#1(eval):335 at <eval'ed string>#1(Function)#1(eval):231 at <eval'ed string>#1(Function)#1(eval):83
It crashed when processing the doh.profile.js file.
(The line number is not a reference to one of my files.) (I used the Java version of the compiler.)
Any ideas ?
comment:9 follow-up: 10 Changed 7 years ago by
I don't know what you mean by "break util". Util is a directory. If you are saying that the build command (build.sh ...) gets an exception, you'll need to be more specific, since it works for me.
comment:10 Changed 7 years ago by
Replying to bill:
I don't know what you mean by "break util". Util is a directory. If you are saying that the build command (build.sh ...) gets an exception, you'll need to be more specific, since it works for me.
Yes, sorry I should've been more precise, I meant build.sh.
-> If I go in the util folder and
git checkout 1.8.3
then
./build.sh
I get NO errors.
-> If I go in the util folder and
git checkout 783da4030bf9e727bfb4fc874b59f77521545264
or
git checkout 89bf2786e322323293f52917223aa24db7649951
(the names of the two patches containing the fix to this ticket) then
./build..sh
the build launches, but while processing all the ressources, when it tries to process doh.profile.js, I get the following error :
js: "<eval'ed string>#1(Function)#1(eval)", line 335: uncaught JavaScript runtime exception: TypeError: Cannot find function computeAliases in object function (a1, a2, a3) { return contextRequire(a1, a2, a3, module, result); } . at <eval'ed string>#1(Function)#1(eval):335 at <eval'ed string>#1(Function)#1(eval):231 at <eval'ed string>#1(Function)#1(eval):83
Don't hesitate if you want more informations !
comment:11 Changed 7 years ago by
Well, first of all, build.sh is not in the util/ directory, but rather the util/buildscripts directory. Second, calling build.sh without any arguments doesn't make sense. It just prints a help message:
mac:buildscripts bill$ ./build.sh NAME build.sh - a convenience wrapper around the Dojo Build Application SYNOPSIS path/to/build.sh [--help] [--bin environment] [build system options] DESCRIPTION build.sh is a shell script that wraps the Dojo Build Application located at /util/build/main.js to simplify executing the application in various, selectable, Javascript environments. Currently both node.js and Java are supported.
comment:12 Changed 7 years ago by
My build.sh script is outside the util folder and runs the following commands :
myConfig = "app/run" myProfile = "profiles/app.profile.js" myReleaseDir = "myRelaseDir" cd util/buildscripts java -Xms256m -Xmx256m -cp ../shrinksafe/js.jar:../closureCompiler/compiler.jar:../shrinksafe/shrinksafe.jar org.mozilla.javascript.tools.shell.Main ../../dojo/dojo.js baseUrl=../../dojo load=build --require "$myConfig" --profile "$myProfile" --releaseDir "$myReleaseDir" $@
comment:13 Changed 7 years ago by
Obviously, we can't debug based on that description, because we don't have your app.profile.js, nor the files it's referencing. If you can come up with a test case that used to work but now fails, let us know.
comment:14 Changed 6 years ago by
I have the same problem when requiring form widgets dynamically. I added require to define but to no avail. IE wants to request the templates, which are not there.
Network trace in IE10 Debug Window