rivet
rivet copied to clipboard
[Bug]: Rivet's "Node" executor requires Rosetta 2 but doesn't prompt
What happened?
It appears that if you do not have Rosetta 2 installed on an M1/M2 Mac, and you attempt to use the Node executor, the "run" button never appears, and no errors or dialogs appear on screen. Digging into the Javascript console shows the error "Error running sidecar - Bad CPU type in executable (os error 86)".
It appears that Rivet's node binary is an Intel binary which requires Rosetta to be installed to work on M1/M2, but for some reason the "you need to install Rosetta" window isn't opening.
Potential resolutions would be:
- Provide an arm64 "Apple Silicon" binary in the app (which will assumedly require changes to the build process)
- Or, check if the user is on Apple Silicon (
uname -m) and if so, check if Rosetta is installed (stat /Library/Apple/usr/share/rosetta/rosetta) and if not, prompt the user to install it (or have a button offering to just install it by running/usr/sbin/softwareupdate --install-rosetta --agree-to-licenseor similar).
What was the expected functionality?
The run button does not appear if Node is selected as the executor and Node cannot run due to architecture incompatibility. No error messages or indicator appears, so the user doesn't know why the Run button isn't showing up.
Describe your environment
The user who first found this problem was on a 2021 14" MBP with M1 Pro and macOS 14.0
Relevant log output
Error running sidecar - Bad CPU type in executable (os error 86)
Relevant screenshots
Code of Conduct
- [X] I agree to follow this project's Code of Conduct