flow run: a declined confirmation stops the flow; --apply --yes confirms write steps

confirm() prints 'declined: <reason>' and exits 3 whenever the answer is no or nobody can answer (not a
terminal without --yes, serve without the owner's dialog), so no command reports success after declining.
flow run stops at such a step with 'step N declined: <reason>' (status declined), never ok. flow run
--apply --yes passes --yes to write steps only; --yes without --apply is refused. Pitfall 24.
This commit is contained in:
CRTkafa 2026-10-12 08:44:56 +08:00
parent 5fbb9e63e3
commit 366362d62b
12 changed files with 116 additions and 19 deletions

View file

@ -2,6 +2,14 @@
## Unreleased
- Fix (`flow run`, every confirming command): a declined confirmation is no longer a success. `confirm()` prints
`declined: <reason>` and exits 3 when the owner answers no, when there is no terminal and no `--yes`, or under
`serve` without the owner's dialog; `flow run` stops at that step with "step N declined: <reason>" (status
`declined`), never "ok". `flow run --apply --yes` is the owner's approval for the run: write steps get `--yes`
(reads, waits and owner steps do not); `--yes` without `--apply` is refused. Commands that went on with a partial
write after a declined part (`play products` prices, `testflight testers --invite`, `distribute --submit-review`)
now exit 3 too. Pitfall 24.
- Fix (`apple build`, `play build`, Capacitor): a native build no longer ships old web assets silently. New
`build.prebuild` (per store `apple.prebuild` / `play.prebuild`): a shell command run in the project root before the
archive / bundle (e.g. `npm run build && npx cap sync`; printed, output streamed, nonzero exit stops the build,