RetroArch web player not working
Is there an existing issue for this?
- [X] This is a bug in RetroArch frontend
- [x] I have searched the existing issues
Description
When opening https://web.libretro.com you can select cores. If you select "Gambatte" or "2048" you can't do anything else.
Executed in Google Chrome on Ubuntu.
Expected behavior
If 2048 is selected, that "Run" button becomes clickable, ,and for "Gambatte" that you can load content.
Steps to reproduce the bug
Open: https://web.libretro.com Try to run 2048 or Gambatte.
Version/Commit
Current web version
Bisect Results
No response
Check in the nightly version
I don't know
Platform & operating system
emscripten
Affected Cores
2048, Gambatte
Environment information
Google Chrome or Firefox on Ubuntu 24.04
Relevant log output
There is a error in Chrome (for Ubuntu) console:
"Error: EINVAL: Invalid ZIP file: Could not locate End of Central Directory signature."
I encountered the same problem on Mac.
Thank you for reporting. (A note: if assets were downloaded during an earlier visit to web.libretro.com, it is possible that web player still works in that browser.)
The respective code would download the assets split to 4 parts. Based on the original PR, the splitting is done based on size (30M), but at some point, the size has increased and now there are 5 parts. https://github.com/libretro/RetroArch/pull/15924
The fix can be done either in the .js code, adding bundle.zip.ae:
https://github.com/libretro/RetroArch/blob/a590c514f93ade66001a9357548520d1f3513807/pkg/emscripten/libretro/libretro.js#L192
or, probably better, do the split during the packaging differently, so that there are always 4 chunks:
split -n 4 bundle.zip bundle.zip.