Amplitude-JavaScript
Amplitude-JavaScript copied to clipboard
Amplitude-js 8.21.4 breaks compatibility with safari 12
8.21.4 includes a new version of filter-obj that uses the Optional chaining operator. This is not supported on safari 12 https://caniuse.com/mdn-javascript_operators_optional_chaining
Expected Behavior
The lib is usable for users on safari 12
Current Behavior
Our app crashes on users with ios 12 and safari 12
Possible Solution
Revert dependency upgrades in 8.21.4 ? Add meassaures to ensure compatibility
Steps to Reproduce
- Include 8.21.4 as a dependency in a simple next js app
- Deploy app
- Open app in safari 12 (I recommend browserstack)
- The app will not load, since it is not able to parse the javascript
Environment
- JS SDK Version: 8.21.4
- Installation Method: npm dependency i next js app
- Browser and Version: Safari 12
This is using next 12.3.1.
It seems to only be a problem when using next.js . Using CRA it works.
No next.js here. /node_modules/amplitude-js/amplitude.js
bundled with my code and minified with uglify-js 3.16.1. Fails on if (descriptor?.enumerable) {
in a function called includeKeys
. Reverting to amplitude-js 8.21.3 fixed the issue. iOS 12.5.7 (highest available for iPod Touch - the unfortunately-discontinued, reasonably-priced QA device a.k.a. "phone for your kid").
We having the same problem , do you have any other alternatives, or is there any progress on this ?