feat(frontend): detect @sprixe/bridge and route launches to native MAME#218
Merged
privaloops merged 1 commit intomainfrom Apr 26, 2026
Merged
feat(frontend): detect @sprixe/bridge and route launches to native MAME#218privaloops merged 1 commit intomainfrom
privaloops merged 1 commit intomainfrom
Conversation
At kiosk boot, BridgeClient.probe() pings http://127.0.0.1:7777/health with a 200 ms timeout. If the local bridge daemon is alive, wheel selections POST the ROM ZIP to /launch and the frontend hides itself to let MAME take the screen. An SSE subscription on /events brings the browser back to the foreground when MAME quits (or surfaces a toast if it dies). If the probe fails (web build, dev on Mac, no Pi), the frontend keeps its embedded TS engine path — same UI, same code, no separate bundle. This PR only handles the launch / exit lifecycle. Pause / save / quit from the phone remote do not yet propagate to MAME — that needs the uinput injection layer wired in PR 3 alongside the systemd unit and the MAME config generation.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
At kiosk boot, BridgeClient.probe() pings http://127.0.0.1:7777/health
with a 200 ms timeout. If the local bridge daemon is alive, wheel
selections POST the ROM ZIP to /launch and the frontend hides itself
to let MAME take the screen. An SSE subscription on /events brings
the browser back to the foreground when MAME quits (or surfaces a
toast if it dies).
If the probe fails (web build, dev on Mac, no Pi), the frontend keeps
its embedded TS engine path — same UI, same code, no separate bundle.
This PR only handles the launch / exit lifecycle. Pause / save / quit
from the phone remote do not yet propagate to MAME — that needs the
uinput injection layer wired in PR 3 alongside the systemd unit and
the MAME config generation.