feat(studio): integrate android playground into shell#2343
feat(studio): integrate android playground into shell#2343quanru wants to merge 1 commit intofeat/electron-playground-shellfrom
Conversation
Wire the Android playground runtime into the Studio Electron shell and expose it through a reusable playground panel, with supporting changes to android-playground, playground-app, and visualizer.
Deploying midscene with
|
| Latest commit: |
a72809a
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://56caf026.midscene.pages.dev |
| Branch Preview URL: | https://feat-studio-android-playgrou.midscene.pages.dev |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a72809aded
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| return; | ||
| } | ||
|
|
||
| const nextBootstrap = await window.studioRuntime.restartAndroidPlayground(); |
There was a problem hiding this comment.
Catch restart IPC failures before forcing booting state
This callback sets bootstrap to booting and then awaits window.studioRuntime.restartAndroidPlayground() without error handling. If the IPC call rejects (for example when main-process restart propagates a shutdown error), the promise is unhandled and the provider never transitions to an error state, so the Studio UI can remain stuck in the booting screen. Wrap this await in try/catch and set phase: 'error' on failure.
Useful? React with 👍 / 👎.
Summary
playground-appwith a controller split (ai-config, auto-create, selectors) and a dedicated conversation panelandroid-playgroundscrcpy server with preview-status tracking and a timeout helper, plus unit coveragelaunch-electron-prod.mjs,runtime-env.mjs) and matching testsvisualizerdocs/plan/for the Studio playground integrationTest plan
pnpm run lintnpx nx test studionpx nx test android-playgroundnpx nx test playground-appnpx nx test visualizer