1.12 update breaks Internet Explorer (dynamic-import 0.5.4)

After upgrading from 1.11 to 1.12, Internet Explorer 11 crashes on loading our app in the dynamic-load package with a syntax error at dynamic-import (521,18).

image

Downgrading to 1.11 makes it work again.

Not sure yet what the root cause is - will investigate further. I couldn’t see any major changes in the dynamic-import package so maybe it’s a babel thing?

1 Like

The method prefetchInChunks seems has changed to not be compatible with IE from

  function prefetchInChunks(modules, amount) {
    Promise.all(modules.splice(0, amount).map(function (id) {
      return module.prefetch(id);
    })).then(function () {
      if (modules.length > 0) {
        setTimeout(function () {
          prefetchInChunks(modules, amount);
        }, 0);
      }
    });
  }

to

function prefetchInChunks(modules, amount) {
    Promise.all(modules.splice(0, amount).map(function (id) {
      return new Promise(function (resolve, reject) {
        module.prefetch(id).then(resolve).catch(
          (err) => {
            // we probably have a : _ mismatch
            // what can get wrong if we do the replacement
            // 1. a package with a name like a_b:package will not resolve
            // 2. someone falsely imports a_package that does not exist but a
            // package a:package exists, so this one gets imported and its usage
            // will fail
            if (id.indexOf(METEOR_PREFIX) === 0) {
              module.prefetch(
                METEOR_PREFIX + id.replace(METEOR_PREFIX, '').replace('_', ':')
              ).then(resolve).catch(reject);
            } else {
              reject(err);
            }
          })
      });
    })).then(function () {
      if (modules.length > 0) {
        setTimeout(function () {
          prefetchInChunks(modules, amount);
        }, 0);
      }
    });
  }

Filed an issue:

It’s 2020 and people are still using Internet Explorer? Weird.

Weird, sad, but true. Almost 5% of our unauthenticated users are still on IE. :disappointed_relieved:

1 Like

also corporate users

we managed to convince a customer to no longer support the Internet explorer. Supporting the IE means investing in its preservation.

also i don’t think that “corporate users” are to blame: i noticed that most bigger corporate already have alternatives installed for their users. Some just don’t know better and still use this legacy browser.

best thing you can do is to just not support it anymore.

1 Like

This was an excuse 5 years ago. If they haven’t woken up in the meantime, they never will.

We should be encouraging adoption of Meteor that either operates in corporates, or companies that build on Meteor that sell to corporates. We shouldn’t ostracize customers/users based on their browser preferences or requirements.

Fix is on its way:

This is also an issue on the Samsung Browser (identified as legacy) on my phone I can browse my project on Chrome mobile but not with the Samsung browser which is the default browser on most Samsung phones.

1 Like