-
Notifications
You must be signed in to change notification settings - Fork 5
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
Built sims are failing in IE #153
Comments
Here is the Slack dialog where this was discussed and ultimately led me to create this issue:
|
Perhaps usage of RichText by accessibility triggered usage of himalaya, which is trying to call Array.from? |
Good theory. The previous dev version of Number Line: Integers runs fine in IE, the most recent one doesn't, and I added a |
It looks like this error occurred because of this build line:
and In |
I didn't have to update Wilder, I just rebuilt it (because it uses the spread operator in WilderModel). That fails in the same way. So it looks like the spread operator currently isn't supported by Babel by IE. I'm not sure how to handle this, but I'll mark for dev meeting. |
I think that the only reason it is breaking right now is because the spread operator is used very rarely. There are only 24 usages of |
@samreid and I found that this was an issue with not only the spread operator, but with the spread operator on an HTMLCollection, as is being done in AriaHerald. We think it isn't enough to just hand the case in himalaya, and it also isn't enough to change this usage in
Tagging @jonathanolson because he has investigated using babel polyfill before. Also, if we end up creating a single preload that has all preloads, perhaps we want to include all polyfills, including the requestAnimationFrame one that is in scenery. |
This is blocking some testing in phetsims/qa#456 |
Could you describe the reasoning? I have never had a need for the spread operator and would be OK saying it cannot be used if that resolves this issue. EDIT: Was answered during meeting, above comments illustrate this is far more than just usage of teh spread operator. |
@jonathanolson said it would be nice to look into the babel polyfills to accomplish this and potentially cover other cases we may need in the future. Babel has a way to select the parts you want for the polyfill. @jonathanolson volunteered to investigate implementing this via babel polyfill. If that works well, great! If that runs into trouble, our backup plan will be to add our own preload for the MDN Array.from polyfill. We have some sim publications coming up in mid-december. We will need a solution before then. We could implement the polyfill now as a (temporary?) workaround? UPDATE: Since we want to create RCs in the next couple of weeks, we decided to add the preload polyfill now. Then we can investigate babel polyfills at our convenience. |
@zepumph will create an issue to add the polyfill to PHET_CORE/polyfills or PHET_CORE/preloads |
The stop gap measure will be completed over in phetsims/chipper#817. Demoting priority on this issue. |
…pilation, converting to Array.from. See phetsims/perennial#153
@jonathanolson, @samreid, and I ran into this with the es6 module upgrade over in phetsims/chipper#899. When upgrading to Babel 7, this error occurred again. This time babel was needing a @jonathanolson anything else here? I think we can close but wanted to give you one more chance to look things over. |
This looks good to me. Should we discuss ways to (a) better debug this in the future on IE, or (b) ways to catch this specific error if it re-occurs? |
To me this issue is largely stemming from a Promise polyfill that eats up our errors silently. If we were able to see the error sooner, perhaps this would be caught easier. I also think a CT testing device devoted to built IE tests could be really nice. That way we don't have to wait for RC to catch these. Were you thinking of something more specific? Likely we should investigate core-js for our polyfill needs. Do you think that would have better error handling in its Promise implementation? |
We can just point IE towards CT and its results will show up! I think that might be on me, need to get remote desktop working. No clue on what would be good for the Promise implementation. |
I think that core-js would be the first place I would look. I created phetsims/chipper#911 for investigation.
I pinged over in phetsims/aqua#80 (comment) @jonathanolson, I'm ready to close. Over to you for a final inspection. |
Looks good to me. |
It was reported in phetsims/gravity-force-lab#192 that a built version of the GFL sim is failing to load. QA reports that they noticed the same thing with a recent dev version of Number Line: Integers. Based on the error output, it appears that something has changed with the build process recently that is causing ES6 features to end up in the build.
The text was updated successfully, but these errors were encountered: