[RESOLVED] Meteor site no longer works on iOS 9 Safari


#1

Hi guys,

I’ve got a live, critical app that renders a completely blank page in iOS 9 Safari. No problems on iOS 8 or desktop browsers. If I open up the console, I see errors:

(I have to paste a screenshot, Safari’s console won’t let me copy)

And this:

I have another app I’ve built based on Meteor+React, and it works fine in iOS 9 so far.

I’m panicking. What’s going on? I assume some package I’m using is not iOS 9 friendly…


#2

List of packages in use:

accounts-password              1.1.1  Password support for accounts
accounts-ui                    1.1.5  Simple templates to add login widgets t...
aldeed:autoform                5.4.1* Easily create forms with automatic inse...
aldeed:collection2             2.3.3* Automatic validation of insert and upda...
aldeed:simple-schema           1.3.3  A simple schema validation object with ...
anti:fake                      0.4.1  Random text and data generator
fastclick                      1.0.3  Faster touch events on mobile
ffxsam:timestamp-log           1.0.1  Server-side console logging with timest...
fortawesome:fontawesome        4.4.0  Font Awesome (official): 500+ scalable ...
grigio:babel                   0.1.7* Write javascript ES6 in your Meteor app
http                           1.1.0  Make HTTP calls to remote servers
iron:router                    1.0.9  Routing specifically designed for Meteor
johnantoni:meteor-picturefill  2.3.3   A responsive image polyfill for <pictu...
jquery                         1.11.3_2  Manipulate the DOM using CSS selectors
less                           1.0.14  The dynamic stylesheet language
manuelschoebel:ms-seo          0.4.1  Easily config SEO for your routes
meteor-platform                1.2.2  Include a standard set of Meteor packag...
meteorhacks:cluster            1.6.9  Clustering solution for Meteor with loa...
meteorhacks:kadira             2.23.0* Performance Monitoring for Meteor
mizzao:bootboxjs               4.4.0  Programmatic dialog boxes using Twitter...
momentjs:moment                2.10.6  Moment.js (official): parse, validate,...
okgrow:analytics               0.3.0  Complete Google Analytics, Mixpanel, KI...
reactive-var                   1.0.5  Reactive variable
spiderable                     1.0.7  Makes the application crawlable to web ...
swiper:swiper                  3.0.8  iDangero.us Swiper (official) - lightwe...
twbs:bootstrap                 3.3.5  The most popular front-end framework fo...
zimme:active-route             2.3.1* Active route helpers

#3

Also strange: on localhost, it works great. Once I push live, it fails. There’s some other aspect at play here.

So I set up a brand new project and added all the same packages and deployed it, and it works fine. So there must be something in my code that’s not right. Would Kadira Debug help me trace this?


#4

Bingo. I reverted all ES6 in my project to ES5, and now it works. It’s something with grigio:babel for sure.

I would strongly recommend people not use that package if you want to be compatible with iOS 9.


#5

I hit this a few months ago when the iOS 9 beta builds came out. Filed a bug on the repo. Sorry this caught you too.


#6

Did you ever figure out which feature of ES6 causes the package to bomb? If not, I’m gonna run some tests now to figure it out. But the package is deprecated and probably won’t be fixed, I imagine…? I’ve flagged it on Atmosphere as broken.


#7

Update manually grigio:babel@0.1.8, and it will work fine, they pushed fix few days ago, we had same issue yesterday:)


#8

Yep! I saw that, updated my app, and it works great now. :slight_smile: And unflagged the package as well. I’m not sure how flagging works exactly, does it take more than one person to flag before it’s marked as flagged? I still see it as being flagged, so I’m assuming others have flagged it.


#9

Most likely and because it’s flagged is not auto updating:))), so it is quite frustrating.


#10

Weird, I ran meteor update in my app’s folder and it updated to the latest version just fine.