Skip to content
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

TODOMVC fails on Safari #401

Closed
LeanderK opened this issue Dec 16, 2019 · 4 comments
Closed

TODOMVC fails on Safari #401

LeanderK opened this issue Dec 16, 2019 · 4 comments

Comments

@LeanderK
Copy link

@LeanderK LeanderK commented Dec 16, 2019

I can't interact with it, not sure if safari is not supported yet or if it's an regression. I have the following errors in my console:

[Error] Unhandled Promise Rejection: TypeError: first argument must be an ArrayBufferView or an ArrayBuffer (evaluating 'WebAssembly.instantiate(req.bufferSource, importObject)')
	(anonymous function) (todomvc.js:975)
	asyncFunctionResume
	(anonymous function)
	promiseReactionJob
[Error] Failed to load resource: the server responded with a status of 404 () (learn.json, line 0)

For the second error it wants to load: https://www.tweag.io/wasm-todomvc/learn.json (which results in a 404)

@TerrorJack

This comment has been minimized.

Copy link
Member

@TerrorJack TerrorJack commented Dec 17, 2019

Thanks for reporting. I managed to reproduce the same issue with midori, will investigate some time.

@TerrorJack

This comment has been minimized.

Copy link
Member

@TerrorJack TerrorJack commented Dec 17, 2019

Since I don't have a darwin device with safari, I used Epiphany Technology Preview on linux, version number 3.35.2-32-g6d83ac8f4. Two problems are discovered:

  • WebAssembly.instantiateStreaming is not supported. It works with Chromium and Firefox and we assumed it to be present in all browser targets.
  • BigInt is not supported.

The first problem can be easily worked around, but not the second one, since BigInt is used extensively throughout our runtime. Judging from the Test262 report about BigInt, only 5% of tests pass with JavaScriptCore, so the conclusion is: our generated code doesn't work with safari now, and will remain so for some more time. This is an upstream issue.

@TerrorJack TerrorJack added the wontfix label Dec 17, 2019
@TerrorJack TerrorJack closed this Dec 17, 2019
@LeanderK

This comment has been minimized.

Copy link
Author

@LeanderK LeanderK commented Dec 17, 2019

so, assuming safari implements BigInt, the demo should work? After some googling it seems that apple is working on BigInt (it may already be available in the tech-preview? Some functionality related to BigInt is mentioned)

@TerrorJack

This comment has been minimized.

Copy link
Member

@TerrorJack TerrorJack commented Dec 17, 2019

Yes it should. And here's a link to the webkit bigint tracking issue: https://bugs.webkit.org/show_bug.cgi?id=179001

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.