You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remix only runs in browsers that support ES Modules.
The linked page shows iOS on Safari supports ES Modules as of version 11.0
Actual Behavior
I'm having a hard time finding an 11.0 browser for testing but there are syntax errors in both 11.2 and 11.3
iOS 11.3
JS Syntax error in the console (from optional chaining?)
I believe this is from the optional chaining operator (which [isn't in Safari until 13.4](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining#browser_compatibility))
JS Syntax error in the console (from optional catch binding and spread in object literals?)
I believe this is from the use of optional catch binding
which isn't available until iOS 11.3
It's not shown in the above screenshot, but in my own app I've seen this error
Unexpected token: '...'. Expected a property name.
I believe this is from using spread in object literals which also isn't supported until 11.3
Suggested / requested changes
I'm not sure if Remix should change the source files to avoid using these patterns or do transforms to change the distributed code, but it should be possible to use Remix in iOS 11.0 without syntax errors.
Also, is there a way to add tests/checks for this to prevent regressions?
The text was updated successfully, but these errors were encountered:
@machour I've seen that ticket (I mentioned this there)
However, that ticket references iOS 12 and some newer features than this ticket. To achieve the documented browse support Remix needs to run in iOS 11.0.
This ticket mentions more syntax errors and the and the places in remix which cause them. Perhaps that ticket could be updated to include the information from here?
@jfsiii we have your latest comment there + a reference to this issue, it should be ok.
Team is planning on adding support for browserlist, which should allow everyone to fine-tune compatibility 👌🏼
What version of Remix are you using?
1.8
Steps to Reproduce
Visit a Remix app in iOS 11
e.g. create one with
npx create-remix@latest
and browse it on https://browserstack.comExpected Behavior
The site looks and functions as normal. No JS errors in the console
Why do I expect this?
https://remix.run/docs/en/v1/guides/browser-support says
The linked page shows iOS on Safari supports ES Modules as of version
11.0
Actual Behavior
I'm having a hard time finding an
11.0
browser for testing but there are syntax errors in both11.2
and11.3
iOS 11.3
JS Syntax error in the console (from optional chaining?)
https://github.com/search?q=repo%3Aremix-run%2Fremix+%22%3F.data%22+path%3A%2F%5Epackages%5C%2F%2F&type=code&l=packages%2F
https://github.com/search?q=repo%3Aremix-run%2Fremix+%22%3F.formMethod%22+path%3A%2F%5Epackages%5C%2F%2F&type=code&l=packages%2F
iOS 11.2
JS Syntax error in the console (from optional catch binding and spread in object literals?)
which isn't available until iOS 11.3
It's not shown in the above screenshot, but in my own app I've seen this error
I believe this is from using spread in object literals which also isn't supported until 11.3
Suggested / requested changes
I'm not sure if Remix should change the source files to avoid using these patterns or do transforms to change the distributed code, but it should be possible to use Remix in iOS 11.0 without syntax errors.
Also, is there a way to add tests/checks for this to prevent regressions?
The text was updated successfully, but these errors were encountered: