Any novem invocation that inherits a non-TTY stdin which stays open blocks forever — presumably it's looking there for a piped value.
That's bad in CI and agent contexts mainly because it's silent: some commands hang, and piped writes appear to succeed while writing nothing.
timeout 10 novem -p my-plot -r name < <(sleep 30); echo $? # 124, hung
printf '1: 0 bg red' | novem -p my-plot -w config/colors # looks fine, writes nothing
I lost several -w writes to the second form before noticing the values never landed. Workaround is < /dev/null on every call.
Suggestion: only read stdin when the command actually expects a value there, or when stdin is not a TTY and data is already available.
Still present on 0.6.3.
Any
noveminvocation that inherits a non-TTY stdin which stays open blocks forever — presumably it's looking there for a piped value.That's bad in CI and agent contexts mainly because it's silent: some commands hang, and piped writes appear to succeed while writing nothing.
I lost several
-wwrites to the second form before noticing the values never landed. Workaround is< /dev/nullon every call.Suggestion: only read stdin when the command actually expects a value there, or when stdin is not a TTY and data is already available.
Still present on 0.6.3.