Expand description
Send-mail compose modal — multi-line vim-style editor + CLI send.
Two abstractions live here, mirroring the PR-UI-4 approvals split:
Editor— pure-state vim-style multi-line buffer.apply_keytakes aKeyEventand returns anEditorActionso the surrounding App can react to commands like “send” / “cancel” without the editor itself knowing about the message bus.MessageSender— write side.CliMessageSendershells out toteamctl send <agent> "<body>"(DM) orteamctl broadcast #<channel> "<body>"(broadcast), the same architectural discipline as PR-UI-4’sCliApprovalDecider. A directINSERT INTO messages …from the UI would silently sidestep the channel-ACL + ratelimit + delivery hooks the CLI already runs through.
Vim keybindings shipped in PR-UI-5: insert mode (i/a/o,
Esc back to Normal), Normal motions (h/j/k/l, arrows,
0/$), ex command shim (:w/:q/:wq), Ctrl+Enter to send,
Esc-Esc to cancel. Word motions (w/b) and line ops
(dd/yy/p) deferred to the PR-UI-7 polish cycle — flagged
in the PR description.