Skip to content

[eas-cli] Import simulator session configuration - #4672

Merged
gwdp merged 1 commit into
gwdp/simulator-control-interactivefrom
gwdp/simulator-start-import
Oct 19, 2026
Merged

gwdp merged 1 commit into
gwdp/simulator-control-interactivefrom
gwdp/simulator-start-import

Conversation

@gwdp

@gwdp gwdp commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Why

Reuse simulator startup and setup without repeating a long command.

How

simulator:start --import <file> follows normal startup and prints the ready preview URL before importing actions. Progress names each completed, failed or skipped step. CLI values override saved settings. Interactive local egress connects before actions; detached/JSON local-egress setup is rejected before creation. Setup failure stops the new session. Android supports start settings only.

Test Plan

Codex: 679 simulator tests, production build, changed-file lint and formatting passed after rebasing. Earlier hosted QA used six owned EAS sessions for JSON/interactive/non-interactive starts, overrides, local egress, file readback, control import/menu, setup failure and cancellation; that run found and fixed JSON preflight diagnostics. Those sessions/workers are terminal. A new owned hosted run verified preview-before-import output, three completed steps (including tap), terminal restoration and session cleanup. The broader hosted matrix was not rerun. Native Copy with the hardware keyboard off remains a recorded limitation; camera/capture/Android and fleet acceptance are outside that run. CI runs separately.

Hosted QA and limits · Start/egress video · Interactive control video

Imported configuration and real local egress

Updated start/import terminal output

Preview URL before import progress

Hosted output capture and validation

Hosted QA at exact tip a9b06e163: a real JSON start completed five imported actions after readiness. A separate real startup failed at action 2, retained action 1, exited 1 with one JSON object and stopped: true, stopped its new session/worker, preserved the prior dotenv byte-for-byte and left that prior session running. The unpublished local merge dc6bfa8d6 also contains all four feedback fixes; its eight hosted control/import/menu groups and 711 local simulator/help tests passed. Merge conflict resolutions were validated locally and have not been published to this stack.

Authorship and LLM use

Gabe chose reusable configuration and actions after readiness. Codex implemented it; local Stanley, Will, security and Devin reviews informed overrides, ordering and cleanup fixes. Codex ran the hosted QA and fixed its JSON preflight finding. Codex rebased this draft above control import and preserved setup cancellation and the new preview-error handling. After Gabe reported startup output ordering, Codex moved the ready instructions ahead of import and verified the change locally and on a fresh hosted session. Final human code review pending.

— Codex

@gwdp
gwdp added this pull request to stack #4645 October 17, 2026 08:21
@gwdp

gwdp commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor Author

Codex implemented saved start settings and post-readiness actions, addressed local Claude/Devin review findings, and ran six owned real EAS sessions against the exact native stack artifact. Hosted QA covered all three start modes, local egress to a service on this machine, startup arguments/deep links, files, control import/menu, failure and cancellation cleanup. It found and fixed import-preflight text on JSON stdout in 1b0114c. All 657 simulator tests, typecheck/build/lint/format and current-head CI pass. All six sessions/workers are terminal and temporary services are stopped. Native disabled-keyboard Copy remains a documented limitation; final human review and current-head Devin review are pending.

Hosted evidence and limits

— Codex

@gwdp

This comment has been minimized.

@devin-ai-integration

This comment has been minimized.

devin-ai-integration[bot]

This comment was marked as resolved.

@codecov

codecov Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.53903% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.53%. Comparing base (a71c976) to head (a9b06e1).

Files with missing lines Patch % Lines
packages/eas-cli/src/commands/simulator/index.ts 92.96% 10 Missing ⚠️
packages/eas-cli/src/simulator/hostActions.ts 93.34% 1 Missing ⚠️
packages/eas-cli/src/simulator/startConfig.ts 98.22% 1 Missing ⚠️
Additional details and impacted files
@@                        Coverage Diff                        @@
##           gwdp/simulator-control-import    #4672      +/-   ##
=================================================================
+ Coverage                          75.45%   75.53%   +0.09%     
=================================================================
  Files                               1056     1059       +3     
  Lines                              52453    52662     +209     
  Branches                           11507    11577      +70     
=================================================================
+ Hits                               39573    39774     +201     
- Misses                             11888    11896       +8     
  Partials                             992      992              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gwdp

This comment has been minimized.

@devin-ai-integration

This comment has been minimized.

@gwdp

This comment has been minimized.

@devin-ai-integration

Copy link
Copy Markdown

Starting Devin Review.

Devin Review

@gwdp

This comment has been minimized.

@devin-ai-integration

Copy link
Copy Markdown

Starting Devin Review.

Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

@gwdp
gwdp force-pushed the gwdp/simulator-start-import branch from 1b0114c to 680acb0 Compare October 17, 2026 23:17
@gwdp

gwdp commented Oct 17, 2026

Copy link
Copy Markdown
Contributor Author

Updated 680acb014. Rebased at the top of the draft stack, preserving start/import behavior, cancellation and inherited preview-error guidance. All 676 simulator tests, production build, changed-file lint and formatting passed. Earlier hosted QA was not rerun for this revision. Still draft.

— Codex

@gwdp

gwdp commented Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

/devin review

Please review current head 680acb0 against its stack parent. Gabe requested another review round across the in-flight simulator command work. Review codebase conventions, lifecycle/error handling, cancellation and configuration preflight. The separate command feedback fixes are stacked in #4679; distinguish that follow-up from this layer.

— Codex

@devin-ai-integration

Copy link
Copy Markdown

Starting Devin Review.

Devin Review

@gwdp

gwdp commented Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

Fixed start/import output ordering in 6e8ae6a9c: normal readiness output and the preview URL now appear before the import heading and explicit completed/failed/skipped step results. JSON remains one final result; egress ordering and failure/cancellation cleanup are preserved.

All 679 simulator tests, production build, formatting and changed-file lint pass. The new ordering/status regressions failed before the change. A fresh hosted iOS session completed appearance.get, tap and hardwareKeyboard.get after printing its preview URL. CLI exit and terminal restoration passed; the QA session is stopped and its worker finished. Terminal capture and evidence. Your local easd is rebuilt. Still draft.

— Codex

@gwdp

gwdp commented Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

/devin review

Please review current head 6e8ae6a against its stack parent, including the new startup output ordering change. Check readiness/preview output before imported actions, completed/failed/skipped step reporting, JSON stdout, and egress/failure/cancellation cleanup. The previous review request targeted 680acb0; this request refreshes review for the new head. Human review pending.

— Codex

@devin-ai-integration

Copy link
Copy Markdown

Starting Devin Review.

Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

@gwdp

gwdp commented Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

/devin review

Please review current head 93f0f2d. Codex fixed the failed JSON import overwriting saved credentials by delaying the JSON-mode dotenv write until setup succeeds. Success and failure regressions fail against the previous head and pass here; all 672 simulator tests, production CLI build, typecheck, formatting and changed-file lint pass. Review output ordering, failed/canceled setup cleanup and credential persistence. No hosted rerun for this correction; human review pending.

— Codex

@devin-ai-integration

Copy link
Copy Markdown

Starting Devin Review.

Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

@gwdp

gwdp commented Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

/devin review

Please review head a9b06e1. Codex fixed Ctrl+C during the final JSON-mode dotenv write by rechecking cancellation before success output and using the existing stop/cleanup path. Both new regressions fail against the previous head and pass here; all 674 simulator tests, CLI build, typecheck, formatting and changed-file lint pass. Please check cancellation across every awaited startup boundary and confirm the earlier credential-preservation fix remains correct. No hosted rerun; human review pending.

— Codex

@devin-ai-integration

Copy link
Copy Markdown

Starting Devin Review.

Devin Review

@gwdp

gwdp commented Oct 18, 2026

Copy link
Copy Markdown
Contributor Author

Hosted QA at exact tip a9b06e163: a real JSON start completed five imported actions after readiness. A separate real startup failed at action 2, retained action 1, exited 1 with one JSON object and stopped: true, stopped its new session/worker, preserved the prior dotenv byte-for-byte and left that prior session running. The unpublished local merge dc6bfa8d6 also contains all four feedback fixes; its eight hosted control/import/menu groups and 711 local simulator/help tests passed. Merge conflict resolutions were validated locally and have not been published to this stack.

— Codex

@gwdp
gwdp force-pushed the gwdp/simulator-start-import branch from a9b06e1 to e679aab Compare October 19, 2026 04:48
Base automatically changed from gwdp/simulator-control-import to gwdp/simulator-control-interactive October 19, 2026 04:48
@gwdp
gwdp merged commit e679aab into main Oct 19, 2026
@gwdp
gwdp deleted the gwdp/simulator-start-import branch October 19, 2026 04:48
@github-actions

Copy link
Copy Markdown

✅ Thank you for adding a changeset!

@gwdp

gwdp commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

Codex pushed reordered heads before updating stack bases, causing GitHub to mark this PR merged into a feature branch. Its changes were not merged into main. Continued in replacement draft #4687.

— Codex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant