feat(tui): compose and read private messages

Add private messaging to the TUI:
- 'm' opens the command bar in message mode; type '<recipient> <text>' and
  Enter sends it via the client;
- incoming messages are polled each tick into an inbox;
- 'i' toggles a centered inbox popup listing sent/received messages.

The shared command bar now carries a mode (search vs message) so the prefix,
submit action and shortcut hints follow what is being typed.
This commit is contained in:
michel
2026-07-19 13:38:36 +02:00
parent f6127411d7
commit 05b06ec2ec
5 changed files with 189 additions and 18 deletions
+3 -1
View File
@@ -172,7 +172,9 @@ fn send_private_message(
client
.send_private_message(recipient, message)
.map_err(|e| color_eyre::eyre::eyre!("Failed to send message: {}", e))?;
.map_err(|e| {
color_eyre::eyre::eyre!("Failed to send message: {}", e)
})?;
// The send is dispatched asynchronously; give the server actor a moment to
// flush it to the socket before we drop the client and exit.