commandTimeout property
How long to wait for start, stop or a StackCommand before giving up
on it. StackCommand.timeout overrides this per command.
It bounds the wait, not the process. Nothing is killed when this expires:
a docker compose up interrupted half way through leaves the stack in an
indeterminate state, and flutterware does not own the command well enough
to make that call. What it does end is flutterware's claim on the stack
— without which one command that never returns takes every later one with
it, because a transition in flight is what refuses the next.
So the default is generous rather than tight: ten minutes is longer than
any bring-up that is actually working and short enough that a session
recovers on its own. A command that is meant to run forever — logs --follow — wants a StackCommand.timeout of a few seconds instead, and
really wants a streaming kind, which does not exist yet.
Implementation
final Duration commandTimeout;