Skip to main content
Release R3Async & StateIntermediate

FL04: Upload Progress & Cancellation

Determinate and indeterminate progress, cooperative cancellation, failure retry, and late-callback suppression

The Production Challenge

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.

The FL04 Architecture

Pure domain models, strictly monotonic chunk streaming, cooperative CancellationToken lifecycle cleanup, deliberate attempt increments on 503 retry, and screen-reader accessible Semantics.

Viewport Presets:
Scale:
Simulation mode: Local stream mockViewport: 390pxNo user files sent to network

Interactive Verification Invariants

1. Monotonic Byte Counters

Progress never decreases within an attempt. Transferred bytes increase monotonically until reaching target.

2. Indeterminate Streaming

Selecting live_event_telemetry.log switches the progress bar to indeterminate mode without inventing false percentages.

3. In-Flight Cancellation

Clicking Cancel aborts the repository stream immediately and guarantees zero late completion callbacks or memory leaks.

4. Deliberate 503 Retry Attempt

Enabling the 503 toggle simulates an HTTP server error. Clicking Retry resets progress and increments Attempt #2.