[eas-cli] metadata:pull: print --non-interactive hint before overwrite prompt#3693
Open
Maples7 wants to merge 1 commit into
Open
[eas-cli] metadata:pull: print --non-interactive hint before overwrite prompt#3693Maples7 wants to merge 1 commit into
Maples7 wants to merge 1 commit into
Conversation
…e prompt The overwrite confirmation in metadata:pull is invisible-by-default when stdout is piped (e.g. `eas metadata:pull | tee log`) and unanswerable when running inside an integrated terminal that does not surface stdin (CI pseudo-tty, AI-agent terminal wrappers). The current behavior is indistinguishable from a hang. Print an explicit dim hint immediately before confirmAsync so a stuck invocation is self-explanatory. Refs expo#3691
|
Subscribed to pull request
Generated by CodeMention |
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.
Why
The overwrite confirmation in
eas metadata:pullis unanswerable in a number of common environments and indistinguishable from a hang:process.stdin.isTTY === true, soEASNonInteractiveFlag's autodetect doesn't trigger, and there is no human to typey.eas metadata:pull | tee log): the prompt is often hidden behind the spinner/pipe.nohupwithout< /dev/null.The fix in #3691 is split into three suggestions; this PR ships the smallest one (suggestion 2) — print an explicit hint immediately before the confirm — because it's a pure log addition with no behavioral change to the default flag autodetect. The other two suggestions in the issue (auto-non-interactive when
!process.stdout.isTTY, default-overwrite for matchingappId) are larger UX/behavior changes and are best discussed in the issue thread before being merged.Refs #3691. Closes #3691.
How
Add one
Log.log(chalk.dim('Tip: pass --non-interactive to auto-overwrite ... without prompting.'))line indownloadMetadataAsyncimmediately beforeconfirmAsync. Stays inside theelsebranch so it does not print under--non-interactive. Useschalk.dimto match the muted style of other hint lines in the codebase.Test Plan
Added two unit tests in
packages/eas-cli/src/metadata/__tests__/download.test.ts:Full metadata suite still passes (
yarn test src/metadata→ 15 suites, 189 tests, 187 baseline + 2 new).yarn typecheckclean.yarn lintclean (0 errors; pre-existing warning count unchanged).Manual smoke test (against my own ASC project):
/changelog-entry chore [eas-cli] Print a
--non-interactivehint before themetadata:pulloverwrite prompt so stuck invocations under piped stdout / agent terminals are self-explanatory.