amaranth-lang/playground

Playground hangs during load on watchOS

Closed this issue · 2 comments

Ok, I mostly tried this as a joke (though not entirely, given that a JavaScript version of Prince of Persia runs on the Apple Watch), so this can probably get immediately closed as "WON'T FIX". Clearly, if Playground was able to run on an Apple Watch, it would be INSANE 😊

playground-watchOS-hang.mp4

Steps to Reproduce

  • Text yourself the link to Playground (https://amaranth-lang.org/play/)
  • Open the Messages App on your Apple Watch and click the Playground link
  • Click the Run button

Expected Results

  • Playground loads normally as on desktop & iOS browsers

Actual Results

  • Playground hangs and doesn't get as far as displaying the Python Output, Waveforms, and Generated Verilog tabs (though you can click on the Amaranth Source tab)

Testing Notes

  • Test device was Apple Watch Series 6 running watchOS 10.3.1
  • Version of Playground tested was whatever was current on Feb 28, 2024 @ 7:47pm PST
  • The video actually shows the second attempt; the initial load took several seconds

I'm kind of curious why it's broken.

It appears that the watchOS webview is a stripped-down WebKit implementation which does not have Wasm support. Wasm is an absolute requirement (I can't use an asm.js fallback for reasons) so there's nothing I can do to support watchOS.