pygame-web/pygbag

No Safari/Chrome iOS 12-13-14, but works on 15-16

pmp-p opened this issue · 2 comments

pmp-p commented

It seems on some safari versions ( mobile ?) automatic media startup fails and block whole startup process when it's not the whole WASM engine ! ( iOS <15 )

The actual process is :

  1. load an empty.ogg sound and try to play it, catching exception to set a lock.
  2. repeat until unlock media play success while displaying the prompt in loading screen ( template default.tmpl )
  3. continue and give hand to python code (main.py).

for safari it probably should be:

  1. detect safari and do nothing if matching.
  2. Display a prompt in loading screen, wait for a mouse click (same event for one finger touch )
  3. continue and give hand to python code (main.py).

This would not work if navigator user agent is faked, but unlikely to happen on iOS.

pmp-p commented

please report iOS/OSX version status

Opera 101 (BigSur) : OK

Safari 17 (Snonoma) : Wasm/Webgl OK , ume fail

iOS 16 : Wasm/Webgl OK , ume fail
iOS 15 (iphone13) : Wasm/Webgl OK , ume fail
iOS 14 (iphone12) : invalid Wasm build
iOS 13 (iphone11) : invalid Wasm build
iOS 12 (iphone6) : invalid Wasm build

pmp-p commented

ume fixed for Safari 15, tested on iphone/ipad
keeping it open for safari 13/14 as it may just be a wasm compilation flag problem. But don't expecpt much it is very time consumming to debug.

note chrome is also affected since apparently it share something with safari on iOS