feat(project): Run on Device — one click from code to the embedded emulator - #68
Merged
Conversation
…ulator The mobile core loop's RUN step, without Android Studio/Xcode: the status-bar project badge (now clickable, with a play glyph) and a new 'Run on Device' workbench command build + launch the detected app in a live terminal via RunAndDebug — interactive, so flutter's hot-reload keys work. run_on_device_command composes the right invocation per stack and the device the user is viewing (panel.active_device): flutter run -d <serial|udid>; npx react-native run-android / run-ios --udid <udid>; Expo apps (is_expo probe on package.json) go through npx expo run:android|run:ios. No device defaults to Android and lets the tool's own picker/errors surface in the terminal. cwd is the workspace; the terminal tab is titled 'Run · <stack> · <platform>'. Non-mobile workspaces get an info message from the palette command (the badge is hidden anyway). Command matrix + expo probe unit-tested.
dev-josias
added a commit
that referenced
this pull request
Jul 2, 2026
Bump 0.3.1 -> 0.3.2 (Cargo.toml workspace / umide.spec / Info.plist + Cargo.lock), flip the docs badge, add the v0.3.2 changelog entry, and refresh the README + landing feature lists and CLAUDE.md status. Ships: the Device Logs panel (#66/#67 — native logcat + iOS unified log live in the bottom dock, with the critical non-UTF-8 stream-death fix), Run on Device (#68 — status-bar badge runs the detected RN/Flutter/Expo app on the viewed device), and AI project-context injection (#65).
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.
The mobile core loop's RUN step, without Android Studio/Xcode: the status-bar project badge is now clickable (▶ glyph) and a new Run on Device palette command builds + launches the detected app in a live, interactive terminal (
RunAndDebug→ flutter's hot-reload keys work).Command matrix (
run_on_device_command, unit-tested)flutter run -d <serial>flutter run -d <udid>npx react-native run-androidnpx react-native run-ios --udid <udid>is_expoprobe)npx expo run:androidnpx expo run:iosThe target platform follows the device you're viewing (
panel.active_device); no device defaults to Android and lets the tool's own picker surface in the terminal.cwd= workspace; the tab is titledRun · <stack> · <platform>. Non-mobile workspaces get an info message (badge is hidden anyway).Live-verified on macOS (screenshots in session)
Opened a scratch RN workspace → status bar showed React Native ▶ → click → a
Run · React Native · iOSterminal opened runningnpxin the workspace (interactive prompt visible) — targeting iOS because the booted iPhone 16 sim was the active device: the precedence chain (badge → detection → active device → command → terminal) proven end to end.8 project tests green;
cargo fmt --all; clippy clean.