Cms: Vuex/Plugin Store not working in IE11

Created on 6 Oct 2018  路  3Comments  路  Source: craftcms/cms

Description

While porting a plugin to VueJS I noticed it will no longer work in IE11 (which is still officially supported by Craft). Further investigation revealed an error message in the console:

[vuex] vuex requires a Promise polyfill in this browser.

This also means that the Plugin Store does not work since it uses Vue/Vuex.

Recommendations

Add a Promise polyfill or drop official support for IE11.

Steps to reproduce

  1. Use IE11.
  2. Open Control Panel and navigate to Plugin Store.

Additional info

  • Craft version: 3.0.26.1
  • Browser: IE11
bug plugin store normal

Most helpful comment

Unfortunately this isn鈥檛 going to be as easy as I thought it鈥檇 be, because even with the polyfill, IE11 doesn鈥檛 support the newer CSS Grid standard like Edge and other browsers do, and we鈥檙e running into additional Vue issues as well. We鈥檙e going to be moving more aspects of the Control Panel over to Vue in the coming 3.x releases, so we鈥檙e just going to drop the IE11 support instead. It only has 1% adoption nowadays, probably much less for Craft CP users.

All 3 comments

I鈥檓 able to reproduce this. We鈥檒l get it fixed!

Unfortunately this isn鈥檛 going to be as easy as I thought it鈥檇 be, because even with the polyfill, IE11 doesn鈥檛 support the newer CSS Grid standard like Edge and other browsers do, and we鈥檙e running into additional Vue issues as well. We鈥檙e going to be moving more aspects of the Control Panel over to Vue in the coming 3.x releases, so we鈥檙e just going to drop the IE11 support instead. It only has 1% adoption nowadays, probably much less for Craft CP users.

@brandonkelly it seems reasonable to sunset ie11 for a developer's tool -- I'm interested to see how far it's dropped down worldwide for general use, where the figures do yet seem different from the 1%. There used to be a huge bubble in Asia, now apparently reduced.

As to whether Craft developer tools have need for polyfills with Vue and modern framework build-outs, I suspect they do. There are other platforms with issues you are probably in a position to support, such as older iPhones and iPads which can't have latest iOS but continue to provide quite useful life.

When I began with this area, the things I was hitting let me get away with just es6-promise. Now there's more, and it's pretty much a moving target, like all in js-land.

Prompted by your item here, I looked yesterday around a current Vue project, and what Babel was doing for me. A lot, starting with Promise, and it's automatic, tunable very easily for browser age/variety with a couple of simple config lines. No more 'remarkable to grok' Babel config required.

In fact, it's defaulted in, with the latest vue-cli (3), which has a lot of great improvements on Vue life, not to say other js vitality. It automatically makes webpack config so that will be as easy as it can get, while as far as I can see is able also to be completely flexible for any exception/addition items -- I've got a few. Others are jumping on board to be included or used with it -- Vuetify the latest run into.

So seems something you/ @benjamindavid may become interested in looking at, though I have the idea he already will have, being always quite sharp on things. If we can't each of us be always seeing it all, assured... ;)

Was this page helpful?
0 / 5 - 0 ratings