launchdarkly / react-client-sdk

LaunchDarkly Client-side SDK for React.js
Other
79 stars 67 forks source link

Internet Explorer 11 isn't supported on >= 2.27.0 #174

Closed corbinhughes closed 1 year ago

corbinhughes commented 1 year ago

Is this a support request? No

Describe the bug Proxy usage introduced in 2.27.0 broke IE11 (and it doesn't seem to be polyfillable, at least not by proxy-polyfill since it rejects setPrototypeOf traps).

To reproduce Use react-client-sdk >= 2.27.0 with IE11

Expected behavior I'm not actually sure, since I don't know if IE11 support was dropped on purpose or not :).

The reference page loosely implies IE11 is supported as long as the outlined functionalities are polyfilled, but it also states "can be used in all major browsers," which doesn't really include IE11. If proxy also needs to be polyfilled, I'd expect the documentation to mention it in the list of polyfills (especially given the most popular polyfill for it won't work). Or, if IE11 is indeed no longer supported, that being officially documented would also be nice.

Logs N/A

SDK version 2.29.3

Language version, developer tools N/A

OS/platform Internet Explorer 11

Additional context

I'm essentially after clarification if IE11 support was dropped on purpose or if it is indeed a bug that recent versions don't support IE11.

A large factor motivating this concern is that the EOL for 2.26.x is 2023-08-31, at which point we are very likely still going to be supporting IE11, leaving us on an unsupported react-client-sdk version.

yusinto commented 1 year ago

Thanks for submitting this. We are investigating this and have filed internally as 180751.

yusinto commented 1 year ago

This has been fixed in 2.29.4 and also 3.0.1.

corbinhughes commented 1 year ago

Thanks!

MidnightLightning commented 1 year ago

Using "launchdarkly-react-client-sdk": "2.29.4" in my package.json file caused yarn to update to launchdarkly-js-client-sdk@2.24.2 and launchdarkly-js-sdk-common@3.8.2, but then attempting to load a page in IE11 still generates a "'Proxy' is undefined" in the LDProvider component in my environment.