ADR-003-Synchronous-TUI-Async-Operations
ADR 003: Blocking UI During Async Transport
Date: 2026-03-31
Status: Accepted (v1 specific)
Context:
The main.rs event loop uses tokio for async data fetching and API submissions. Managing true background async in a TUI requires complex channels and shared state to prevent UI freezing while waiting for network responses.
Decision:
For v1, fetch_dynamic_options and handle_submit calls are awaited inline, effectively blocking the UI thread during network operations.
Consequences:
Acceptable tradeoff for v1 velocity. Filesystem writes are near-instantaneous, and API calls enforce a strict 5-second timeout. True non-blocking UI is deferred to a future epic.
See also System-Architecture-Overview, ratatui, and sprint-6-integration-report.