chain-studio/lib
flemming-it 2bc556e0f5 feat(studio): ChainProgressBar - value and sign of life, kept apart
A waiting user asks two questions that a plain LinearProgressIndicator
answers as one: how far along is it, and is anything still happening.
The widget keeps them apart - the value may stand still for minutes
while a highlight driven by 'busy' keeps crossing the bar, so a
stalled percentage no longer reads as a frozen app.

Also: glides to new values over 600 ms so the polling interval behind
it stays invisible, refuses to walk backwards, renders indeterminate
rather than an empty bar when no value is known, stops animating once
the work ends, and honours reduce-motion.

Eight guards in test/progress_bar_test.dart cover each of those rules.
Writing them found a real defect: with busy: false the late-final
controller was first constructed inside dispose(), where the ticker's
context lookup is already unsafe.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-09-08 13:20:19 +02:00
..
data chore: 0.82.0 — switcher-rebuild changelog, anchor caption, capture harness 2026-08-28 00:28:02 +02:00
l10n chore: 0.82.0 — switcher-rebuild changelog, anchor caption, capture harness 2026-08-28 00:28:02 +02:00
pages feat(flows): sealed-aware flow list — hub sample flag, own dir, sample import 2026-08-28 00:11:55 +02:00
theme fix(shell): daemon-start and health-poll auth handling; policy panel freshness 2026-07-15 05:50:24 +02:00
widgets feat(studio): ChainProgressBar - value and sign of life, kept apart 2026-09-08 13:20:19 +02:00
main.dart feat(workspace): one global switcher anchor in the shell sidebar 2026-08-28 00:00:06 +02:00