FL04: Upload Progress & Cancellation
Determinate and indeterminate progress, cooperative cancellation, failure retry, and late-callback suppression
Unchecked upload flows leak network sockets on unmount, crash with late setState calls, emit non-monotonic progress jumps, and invent misleading percentages on unknown stream lengths.
Pure domain models, strictly monotonic chunk streaming, cooperative CancellationToken lifecycle cleanup, deliberate attempt increments on 503 retry, and screen-reader accessible Semantics.
Interactive Verification Invariants
Progress never decreases within an attempt. Transferred bytes increase monotonically until reaching target.
Selecting live_event_telemetry.log switches the progress bar to indeterminate mode without inventing false percentages.
Clicking Cancel aborts the repository stream immediately and guarantees zero late completion callbacks or memory leaks.
Enabling the 503 toggle simulates an HTTP server error. Clicking Retry resets progress and increments Attempt #2.