commandTimeout property

Duration commandTimeout
final

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;