Summary
Add shell-style input history navigation to the Agent conversation composer.
User goal
Let users quickly recall, edit, and resend their previous messages without copying text manually.
Acceptance criteria
- When the composer is empty, pressing
ArrowUp inserts the most recent user-sent text for the current conversation.
- Repeated
ArrowUp and ArrowDown navigate through the current conversation’s sent-message history.
- Navigating down past the newest history entry restores the empty-composer state.
- A recalled message remains editable and can be sent again.
- When the composer already has content, including multiline text,
ArrowUp/ArrowDown preserve normal caret navigation instead of entering history navigation.
- Do not intercept key events while an IME composition is active.
- Conversation switching must not leak history navigation state or text between conversations.
- Empty or non-text-only sends must have defined behavior and must not produce invalid recalled entries.
Implementation notes
- Keep sent-message history distinct from unsent composer drafts.
- Define a bounded retention policy and whether history persists after app restart; document the chosen behavior.
- Preserve the existing send flow and keyboard shortcuts.
Test coverage
Add automated coverage for:
- first / repeated up and down navigation
- returning to the draft/empty state
- editing and resending a recalled entry
- multiline caret behavior
- IME composition
- conversation switching and history isolation
Source
Product feedback: the composer should recall the previous user input when ArrowUp is pressed, with ArrowDown for reverse navigation.
Summary
Add shell-style input history navigation to the Agent conversation composer.
User goal
Let users quickly recall, edit, and resend their previous messages without copying text manually.
Acceptance criteria
ArrowUpinserts the most recent user-sent text for the current conversation.ArrowUpandArrowDownnavigate through the current conversation’s sent-message history.ArrowUp/ArrowDownpreserve normal caret navigation instead of entering history navigation.Implementation notes
Test coverage
Add automated coverage for:
Source
Product feedback: the composer should recall the previous user input when
ArrowUpis pressed, withArrowDownfor reverse navigation.