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

Actively de-support IE9 #40

Closed
kitsonk opened this Issue Apr 19, 2016 · 5 comments

Comments

Projects
None yet
4 participants
@kitsonk
Member

kitsonk commented Apr 19, 2016

Originally, Dojo 2 planned to support IE9. There are several challenges though to continue to support it:

  • Flexbox is non existent, affecting planned widget layout
  • Pushstate isn't supported, affecting the features of routing
  • Lack of classList support (though dojo/dom doesn't depend on that anyways)

Therefore we should consider actively de-supporting it, meaning we stop testing against it and we try to remove code/feature tests we know are only working around IE9.

@kitsonk kitsonk added the discussion label Apr 19, 2016

@kitsonk kitsonk added this to the 2016.04 milestone Apr 19, 2016

@kfranqueiro

This comment has been minimized.

Show comment
Hide comment
@kfranqueiro

kfranqueiro Apr 19, 2016

Member

More on classList:

IIRC, we ultimately didn't rely on classList in dojo/dom in order to accommodate using addClass/etc. in SVG elements as well, but according to @jason0x43, IE is the only browser that doesn't seem to support that in that context. Unfortunately this extends even to IE11, and IE11 also doesn't support multi-parameter add and remove or sending a boolean to toggle, so there is still a case for dojo/dom to have addClass/etc. functions that do not rely on classList.

I suppose we could perhaps consider separating them to their own module for the benefit of people who don't need to target browsers that don't support it, but I dunno if the eventual tree-shaking build aspect makes that moot anyway.

FWIW but perhaps irrelevant, I had also thought I originally saw that TS's SVGElement type didn't include classList, but it seems as if now classList is part of Element, which SVGElement extends. (Ref: https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.dom.d.ts#L2955-L2956)

Meanwhile, one of the first headaches I had with IE9 was the lack of Float32Array for a simple fround shim in core. The "else" part of the ternary in https://github.com/dojo/core/blob/c5f70a6/src/math.ts#L92-L110 exists solely for IE9, so we could remove some code in that area (and the accompanying has test, since this is all it's used for).

Member

kfranqueiro commented Apr 19, 2016

More on classList:

IIRC, we ultimately didn't rely on classList in dojo/dom in order to accommodate using addClass/etc. in SVG elements as well, but according to @jason0x43, IE is the only browser that doesn't seem to support that in that context. Unfortunately this extends even to IE11, and IE11 also doesn't support multi-parameter add and remove or sending a boolean to toggle, so there is still a case for dojo/dom to have addClass/etc. functions that do not rely on classList.

I suppose we could perhaps consider separating them to their own module for the benefit of people who don't need to target browsers that don't support it, but I dunno if the eventual tree-shaking build aspect makes that moot anyway.

FWIW but perhaps irrelevant, I had also thought I originally saw that TS's SVGElement type didn't include classList, but it seems as if now classList is part of Element, which SVGElement extends. (Ref: https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.dom.d.ts#L2955-L2956)

Meanwhile, one of the first headaches I had with IE9 was the lack of Float32Array for a simple fround shim in core. The "else" part of the ternary in https://github.com/dojo/core/blob/c5f70a6/src/math.ts#L92-L110 exists solely for IE9, so we could remove some code in that area (and the accompanying has test, since this is all it's used for).

@kitsonk

This comment has been minimized.

Show comment
Hide comment
@kitsonk

kitsonk Apr 19, 2016

Member

FWIW but perhaps irrelevant, I had also thought I originally saw that TS's SVGElement type didn't include classList, but it seems as if now classList is part of Element, which SVGElement extends. (Ref: https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.dom.d.ts#L2955-L2956)

I think they have started adopting the "living standard" when requested for these things, which defines it on Element instead of relying on what came out of ChakraCore. That does mean there are still going to be large holes when dealing with some parts of the DOM across browsers (and ergo the need for a toolkit or library to plaster over the cracks!)

Member

kitsonk commented Apr 19, 2016

FWIW but perhaps irrelevant, I had also thought I originally saw that TS's SVGElement type didn't include classList, but it seems as if now classList is part of Element, which SVGElement extends. (Ref: https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.dom.d.ts#L2955-L2956)

I think they have started adopting the "living standard" when requested for these things, which defines it on Element instead of relying on what came out of ChakraCore. That does mean there are still going to be large holes when dealing with some parts of the DOM across browsers (and ergo the need for a toolkit or library to plaster over the cracks!)

@kitsonk

This comment has been minimized.

Show comment
Hide comment
@kitsonk

kitsonk Apr 26, 2016

Member

Ok, we have had this open long enough. Will resolve this. We will actively desupport IE9 for Dojo 2. I will try to get issues open for the things we need to remove.

Member

kitsonk commented Apr 26, 2016

Ok, we have had this open long enough. Will resolve this. We will actively desupport IE9 for Dojo 2. I will try to get issues open for the things we need to remove.

@kitsonk kitsonk closed this Apr 26, 2016

@kitsonk kitsonk referenced this issue Apr 27, 2016

Closed

Remove IE9 from testing configuration #37

10 of 11 tasks complete

@kitsonk kitsonk modified the milestones: 2016.04, 2017.12 Oct 9, 2017

@kitsonk kitsonk added the beta4 label Oct 9, 2017

@kitsonk kitsonk reopened this Oct 9, 2017

@kitsonk

This comment has been minimized.

Show comment
Hide comment
@kitsonk

kitsonk Oct 9, 2017

Member

It was brought up that we might want to re-consider supporting IE9.

Member

kitsonk commented Oct 9, 2017

It was brought up that we might want to re-consider supporting IE9.

@dylans

This comment has been minimized.

Show comment
Hide comment
@dylans

dylans Feb 26, 2018

Member

Closing this again, we really don't want to add support for IE9/IE10 when other frameworks are actively removing their support for IE9/IE10 in newer releases.

Member

dylans commented Feb 26, 2018

Closing this again, we really don't want to add support for IE9/IE10 when other frameworks are actively removing their support for IE9/IE10 in newer releases.

@dylans dylans closed this Feb 26, 2018

@dylans dylans added this to the 2018.02 milestone Feb 26, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment