Repository navigation
fix(dev): clear outcome for setup.sh on non-interactive input - #511
Merged
Merged
Conversation
Under set -e, read returning non-zero on closed or non-TTY stdin made dev/setup.sh exit 1 with no message. Fail with actionable options instead, and add --skip-ibex for documented non-interactive runs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
islandbitcoin
pushed a commit
that referenced
this pull request
Sep 15, 2026
…tion Issue b74079d1. Backend defect 8c8eb0c6 (report c8385a3d): on a stack set up without Ibex credentials, new-phone registration can fail after identity/account persistence and leave an account with no wallets; reproduced at 7bde387 on a warm stack, which rules out the startup race. A retried login returning a token is not evidence of usable onboarding. DEV.md Quick Start now carries that limitation next to the skip option (Enter at the prompt on main; --skip-ibex from PR #511 when merged), links the defect, and says the test login is subject to it. No claim that valid sandbox credentials make registration succeed. Text only. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…setup.sh - read returns non-zero on EOF even when it populated the variable (final line with no trailing newline). `printf 'id\nsecret' | ./dev/setup.sh` previously failed with the no-input hint despite having the secret. Treat a populated variable as success on both prompts. - Commit the validation harness as test/bats/dev-setup.bats: runs the real script with stubbed node/yarn/docker and temp HOME/CONFIG_PATH/cwd. Covers closed stdin, --skip-ibex, piped id+secret (with and without trailing newline), Enter-to-skip, and pre-existing .env.local. Picked up by the existing `make bats` / bats.yml workflow. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
Problem
dev/setup.shruns underset -euo pipefail. When stdin is closed or not a TTY,readat the Ibex prompt hits EOF, returns non-zero, and the script exits 1 with no message (Tester docs sweep, 2026-09-14).Change
read(client ID or secret) now fails with an actionable message: re-run interactively, create.env.local, or pass--skip-ibex. No partial.env.localgets written.--skip-ibexflag: skips the prompt with the existing warning, so non-interactive runs have a documented safe path..env.localand the overrides, and the secret still isn't echoed.DEV.mdQuick Start covers non-interactive runs.Validation (commit 343f19f)
Ran in a temp copy of the repo with stubbed
docker/yarnand tempHOME/CONFIG_PATH. No shared Docker or real services were touched.</dev/null).env.local--skip-ibexwith closed stdin.env.localand overrides written.env.localwith closed stdinexpect), Enterexpect), client ID and secretbash -n dev/setup.shis clean. There are no TypeScript or GraphQL changes, so tsc, eslint, and sdl checks don't apply.🤖 Generated with Claude Code