Skip to content

feat(agent-gui): add input history navigation #2320

Description

@devRickyyy

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions