[eas-cli] Add eas simulator:feedback command - #4176
Conversation
|
Subscribed to pull request
Generated by CodeMention Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9796151c37
ℹ️ 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".
| if (jsonFlag) { | ||
| printJsonOnlyOutput({ id: session.id, status: session.status }); | ||
| } else { | ||
| Log.log(chalk.dim('Have feedback about EAS Simulator? Run `eas simulator:feedback`.')); |
There was a problem hiding this comment.
Include the stopped session ID in the feedback hint
When the session was selected with simulator:stop --id and .env.eas-simulator is absent or points to another session, following this hint submits feedback without the stopped session ID or attaches it to the wrong session. Include --id ${session.id} in the suggested command so feedback is reliably correlated with the session that was just stopped.
Useful? React with 👍 / 👎.
| ### 🎉 New features | ||
|
|
||
| - [eas-cli] Add Supabase integration foundation: GraphQL client, shared integration helpers, and provisioning utilities. ([#4130](https://github.com/expo/eas-cli/pull/4130) by [@gwdp](https://github.com/gwdp)) | ||
| - [eas-cli] Add `eas simulator:feedback` to send EAS Simulator feedback to the Expo team through `submit-expo-feedback`, attaching the active session ID. ([#XXXX](https://github.com/expo/eas-cli/pull/XXXX) by [@zvadaadam](https://github.com/zvadaadam)) |
There was a problem hiding this comment.
Replace the placeholder changelog link
If this entry reaches a release unchanged, the published changelog displays #XXXX and links users to the nonexistent /pull/XXXX page, eliminating the PR traceability provided by every neighboring entry. Replace both placeholders with the actual pull request number before merging.
Useful? React with 👍 / 👎.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
07a2177 to
657e6f2
Compare
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
✅ Thank you for adding the changelog entry! |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4176 +/- ##
==========================================
+ Coverage 63.19% 63.21% +0.02%
==========================================
Files 1021 1022 +1
Lines 46596 46632 +36
Branches 9826 9833 +7
==========================================
+ Hits 29444 29475 +31
- Misses 15698 15702 +4
- Partials 1454 1455 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Why
EAS Simulator has no feedback channel, and agents/users finishing a session are exactly the audience we want to hear from. This adds
eas simulator:feedback(aliassim:feedback, hidden like the rest of the experimentalsimulator:*group) so feedback lands with thesimulatorcategory and, once expo/expo#48782 is published, with the active session ID attached for correlation with session events.Companion PR: expo/expo#48782 (teaches
submit-expo-feedbackto detect the session fromEAS_SIMULATOR_SESSION_ID/.env.eas-simulator). A follow-up expo/skills PR will point theeas-simulatorskill at this command.How
The command is a thin, decoupled wrapper: it spawns
npx --yes submit-expo-feedback@latest --category simulatorwith inherited stdio, so the feedback CLI owns prompting, validation, auth (same~/.expo/state.json/EXPO_TOKEN), and submission — and every eas-cli user picks up feedback-CLI improvements without an eas-cli release. Nothing is installed into the user's project; npx keeps it in its own cache..env.eas-simulatorfrom its working directory (cwdis set to the project dir). The parent's only special job is--id, transported by injectingEAS_SIMULATOR_SESSION_IDinto the subprocess env. The command deliberately does not load the simulator dotenv into its own process — it never consumes the session itself, and the file also holds controller credentials.--subjectpasses through; non-interactive mode without a message fails fast with an actionable error before spawning; subprocess exit codes propagate via the samecatchoverride pattern assimulator:exec.simulator:stopnow prints a one-line hint pointing at the command (skipped for--json), andeas simulator --helpmentions it in its DESCRIPTION section.Test Plan
feedback.test.ts): spawn args/category,--subjectpassthrough, inherited-session passthrough,--idprecedence, no session-var leakage when unset, non-interactive error, and interactive prompting delegation. Full simulator suite: 56/56 pass;tsc, oxlint, and oxfmt clean.node packages/eas-cli/bin/run simulator:feedback --helprenders correctly (see command reference in the docs added in [submit-expo-feedback] Detect EAS Simulator sessions and split the bin/library entry points expo#48782).npx --yes submit-expo-feedback@latest --versiondownloads (~3 MB) and runs without prompting; warm runs take ~3.5s.🤖 Generated with Claude Code