Build the Mutt-inspired Ratatui application shell and UI state model in apps/tui.
Scope
Implement a responsive sidebar/main-pane layout with contextual help, status line and bottom prompt/command line.
Model browser, viewer, editor, dialog, help, command and locked modes without encoding storage rules.
Run the Crossterm event loop, resize handling, periodic UI ticks and asynchronous storage results without blocking input.
Enter and restore terminal raw/alternate-screen state safely on normal exit, error and panic.
Define a central UI action registry consumed by keyboard help and command mode.
Acceptance criteria
State-machine tests cover every legal mode transition and reject stale asynchronous results.
Layout tests cover narrow, normal and wide terminals with clear minimum-size behavior.
Terminal state is restored after every exit path.
The shell contains no repository, encryption, Git, OTP or entry parsing logic.
Prerequisites
Milestone 01 complete, including structured entry documents and authentication leases.
## Objective
Build the Mutt-inspired Ratatui application shell and UI state model in `apps/tui`.
## Scope
- Implement a responsive sidebar/main-pane layout with contextual help, status line and bottom prompt/command line.
- Model browser, viewer, editor, dialog, help, command and locked modes without encoding storage rules.
- Run the Crossterm event loop, resize handling, periodic UI ticks and asynchronous storage results without blocking input.
- Enter and restore terminal raw/alternate-screen state safely on normal exit, error and panic.
- Define a central UI action registry consumed by keyboard help and command mode.
## Acceptance criteria
- State-machine tests cover every legal mode transition and reject stale asynchronous results.
- Layout tests cover narrow, normal and wide terminals with clear minimum-size behavior.
- Terminal state is restored after every exit path.
- The shell contains no repository, encryption, Git, OTP or entry parsing logic.
## Prerequisites
Milestone 01 complete, including structured entry documents and authentication leases.
hugo
added this to the 02 - Mutt-style terminal UI milestone 2026-08-09 19:10:31 +00:00
Added a responsive Ratatui shell with sidebar/main layouts for narrow, normal, and wide terminals, plus minimum-size handling, status, contextual help, and prompt lines.
Added explicit browser, viewer, editor, dialog, help, command, and locked modes with validated transitions and safe overlay return behavior.
Added a central action registry shared by key dispatch, contextual help, and command metadata.
Added a nonblocking 250 ms event loop and an in-process background executor for typed storage results; generation tokens reject stale and duplicate completions.
Added guarded terminal initialization/restoration covering normal return, errors, initialization failure, and panic.
Startup configuration loading uses the crates/storage API; apps/tui contains no repository access, domain parsing, or external-process launch.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Build the Mutt-inspired Ratatui application shell and UI state model in
apps/tui.Scope
Acceptance criteria
Prerequisites
Milestone 01 complete, including structured entry documents and authentication leases.
Implemented in commit
42e6a82and pushed to main.Implementation:
Verification: