-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
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
[docs] Drop IE 11 official support #41611
Conversation
b5173d2
to
2c8da32
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@iammminzzy Thank you for the pull request. Apart from the code updates, we should also remove the legacy
bundle build, as discussed in #41568 (refer to #41568 (comment)). Additionally, we need to remove ie 11
from the .browserslistrc
file. Perhaps we should also update the docs.
Thank you for your advice. Should I push these changes to this PR or can this PR be landed as an incremental improvement, since there are still many more things to handle to remove IE 11 support completely? |
This should be done in a single PR; otherwise, it might remain incomplete if not addressed in separate PRs. |
I’m happy to look into how the packages get built, but I feel like a core maintainer would be better positioned to address these things in a follow-up PR |
35978cf
to
c4c3e4c
Compare
@ZeeshanTamboli I followed the approach in #41568 and removed legacy bundle and updated the docs. Feel free to push any further updates to this PR. |
c4c3e4c
to
04168d1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There were many style-related references but I thought they were riskier to change, so I left those alone.
Could you try to replace them?
There was also
but changingmaterial-ui/packages/mui-material/src/Tabs/Tabs.js
Lines 423 to 425 in 0102a95
// IE11 support, replace with Number.isNaN // eslint-disable-next-line no-restricted-globals if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) { isNaN
toNumber.isNaN
seemed wrong despite what the comment says (I believetypeof indicatorStyle[startIndicator] === 'number'
should be used).
Why Number.isNaN
seems wrong from typeof number
?
Additionally, I wasn't sure if
stableSort()
was safe to drop because I'm not sure if 2020 browsers are meant to be supported:material-ui/docs/src/components/showcase/FolderTable.tsx
Lines 48 to 52 in 0102a95
// Since 2020 all major browsers ensure sort stability with Array.prototype.sort(). // stableSort() brings sort stability to non-modern browsers (notably IE11). If you // only support modern browsers you can replace stableSort(exampleArray, exampleComparator) // with exampleArray.slice().sort(exampleComparator) function stableSort<T>(array: readonly T[], comparator: (a: T, b: T) => number) {
I believe we can safely remove it. It's also included in a demo, and we are supporting browsers that fully support Array.prototype.sort()
.
@ZeeshanTamboli I’m curious as to why the scope of this PR has to keep increasing, when the author evidently intended to only help clean up some JS references. The original PR that updated |
@NMinhNguyen I believe we shouldn't remove the old code references until the browser support has been officially removed. If we ship the replaced code without actually removing the browser support, it could lead to potential issues. What's the guarantee that the removal of IE 11 browser will be in the same release as this? We need to ensure that the removal of IE 11 browser support coincides with this change.
It only updated the supported browsers list because the removal of IE 11 could be done separately. In my opinion, they were not interconnected.
If you want us to handle it, you can close this PR. |
There is a stated goal of removing IE11 support as part of v6, and it's relatively recent that the repo has switched from
What issues exactly? V6 states that IE11 is no longer supported, so any issues arising from not having polyfills for the native JS APIs that this PR introduces, are expected. |
The smallest possible scope of this PR is to update all docs to not mention IE 11 anymore. It's like a 10 lines removal. Closing #14420 requires updating all the code. So this could be one or many PRs, whatever is smoother. |
docs/data/material/getting-started/supported-platforms/supported-platforms.md
Outdated
Show resolved
Hide resolved
Sounds good, I think this PR should definitely have a limited scope and not close the linked issue, merely reference, which is what it did before @ZeeshanTamboli ’s edit. Let’s split out the JS reference changes into a separate PR that also doesn’t close the linked issue, merely reference. Finally, once all the IE references are removed (CSS etc.), then the issue can be closed in that PR. |
414e19d
to
c58af61
Compare
Thanks for your input, everyone! Please let me know if this is in a mergeable state now. |
55425f4
to
24de0fd
Compare
24de0fd
to
40b765f
Compare
40b765f
to
b86f14a
Compare
Signed-off-by: Olivier Tassinari <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't fully agree with the decision to separate it, but if that's what's been decided, then I'm okay with it. As a community contributor rather than a team member, my suggestions may not carry much weight. Anyway you have already created another PR to drop the code: #41709, so it's fine. 👍
I've identified two other places where we need to remove it:
-
From the
stickyHeader
prop of the Table component. You can find it here: Table Prop - stickyHeader. Once text is removed from the type definition, remember to runpnpm proptypes && pnpm docs:api
to update the Proptypes and API docs. -
Not directly related to Material UI, but we can also remove it from Joy UI:
@ZeeshanTamboli thanks for the pointers, I believe the API docs have now been updated too, so there shouldn't be any remaining references to IE in the v6 docs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Since it is a breaking change, I'd like to have others review it as well before merging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 I see no problem with splitting this.
This is the first step towards #14420. This PR official communicates that IE 11 is no longer supported. This is a breaking change.
More changes will be required to close the issue, but they won't be breaking changes in theory as IE 11 is no longer supported #41611 (comment).