New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Injected script execution delay in IE devtools and Firebug #814
Comments
Apparently this also happens with Firebug! |
Possible ways forward here:
(2) and (3) seem like a lot. It may be worth just going with a hard decision on (1), and documenting this carefully for users. |
I also stumbled upon this issue with Firebug. For me first option (asking developers not to use firebug) seems a lot to be asked from developers. Sadly it looks like I'm not migrating from RequireJS to SystemJS if this will be the "solution" from SystemJS. As i'm not adding any globals myself (probably they have crept in through some dependency that I haven't figured out) I really hope that You'll find some time for decent solution. |
I think I might be hitting this issue too. Here's an app that runs in firefox without devtools, then fails to run with devtools: Same app works in all other browser I've tested- chrome, edge, mobile safari, safari. Another app has an unrelated bug that only impacts firefox but I can't debug it because of this ^^^. |
I'm thinking it may make sense to introduce a special mode here: System.config({
globalEvaluationScope: false
}); Such a mode would then use default eval for evaluation, with the caveat that We can then carefully document these evaluation features and note this debugging catch strongly somewhere. |
I've implemented this in c9ef9e6. This way |
Awesome! |
Thanks @guybedford! When could we expect the next release of systemjs? I'd like to give it a try :) |
Released in SystemJS 0.19.5. |
As i have some libs with AMD and other with system, it seems now there is similar problem with system module format:
|
@atsu85 that sounds like a separate issue. If you can perhaps post steps to reproduce that would help to help! |
Hi @guybedford, unfortunately it looks like proposed solution doesn't work(at least not always) with Firebug, and i still get
even with SystemJS 0.19.5. To show that proposed fix doesn't work, i've created dedicated branch for this issue: To run the app You need NodeJS and to run few commands on command line - see: |
|
Argh, wrong issue - still looking into this one! |
Shame, i already started cheering because of email from the previous message. @guybedford, any progress on this one? Have You managed to reproduce this issue? |
@atsu85 I finally managed to follow the install instructions here, and the app seems to work fine on that branch without any errors. Did you try to run |
Hi @guybedford, git clone git@github.com:atsu85/skeleton-navigation.git && \
cd skeleton-navigation && \
git checkout systemjs#814-stillNotResolved && \
npm install && \
jspm install && \
jspm dl-loader --latest && \
gulp watch that produced output shown here: including
and when i opened http://localhost:9000 with Firefox when firebug was disabled, then everything worked as expected on both computers, but when i enabled Firebug on Win 8.1 PC, i saw again this error in my main PC:
And to make sure, that I'm really using current latest version of SystemJS, i verified from firebug network and scripts tag, that systemjs.js file contains expected version:
For some reason the other computer (win7) was using SystemJS v0.18.17 instead of v0.19.5 even after rerunning So my initial thought is that it looks like this bug is a regression since v0.18.17 and it is still not fixed in v0.19.5 (at least it looks like it is not fixed for Windows 8.1 with FireFox 41.0.2 and enabled Firebug 2.0.13, but i'm not 100% sure). However, I don't understand why different PC's get different versions of SystemJS? I'll try to look into this issue again in few hours, but if You have any hints, i'd gladly listen them :) |
Argh, sorry, I guess I should have checked you were adding the |
I didn't quite understand what You meant with Your last comment. Did You suspect that i didn't add The only change in the branch called "#814-stillNotResolved" (compared to master) was related to adding Are You saying that i'm doing smth wrong? Did You try to reproduce the issue with enabled Firebug with my sample branch? |
Yes I just wanted to double check that you didn't overlook adding the config. Is IE devtools still not working also? Thanks for the follow-ups, I will take another detailed look at this when I can. |
It is working with IE(Edge) devtools, but not with Firebug. |
Update: my Win7 PC got different version of systemjs because jspm was globally installed (different versions on different PC's) and systemjs version depends directly on jspm version. I found out that SystemJS v0.19.0 works(that comes through jspm 0.16.6), but SystemJS v0.19.1 (that comes with jspm 0.16.7) and SystemJS v0.19.5 don't work. @guybedford if You really didn't manage to reproduce the issue with enabled Firebug, then what was your globally installed jspm version (and systemjs version used in the application) that failed to reproduce this bug? |
thanks @guybedford |
I use meteor with systemjs, implement
error. If I remove global Have any idea? |
@TsumiNa I tested this out including |
Well, so my odyssey ends here, after several issus about karma, karma-systemjs, jspm and coverage :D |
The script injection approach in https://github.com/systemjs/systemjs/blob/master/lib/global-eval.js#L77 is breaking down when the devtools are open only with a large number of executions in IE11 and Edge in angular/angular#4260.
This breakdown seems to be that there may be some internal limit to how many scripts IE can process at once before it stops executing them with the devtools. It is also worth checking if these executions are always synchronous or if that property is breaking down as well.
It may be possible to resolve the issue through some queueing mechanism for execution, which should be investigated.
On the other hand, we can reduce the number of executions running through this mode by only applying the injected execution mode for global and AMD executions which expect top-level variable assignment to be global assignment.
The text was updated successfully, but these errors were encountered: