Skip to content

feat(web): recall sent prompts with ArrowUp in the composer #7951

Description

@sethwebster

Problem

Re-running or editing a recent prompt requires copying it from the timeline. Terminal-style ArrowUp and ArrowDown history would make this faster without adding another control.

The earlier request in #1777 is closed and locked. Its linked implementation, #4336, is still open, no longer applies cleanly to the current Lexical composer, and has three unresolved review findings.

Smallest useful behavior

  • ArrowUp on an empty composer recalls the latest sent prompt in the active thread.
  • Further ArrowUp presses move backward through sent prompts.
  • ArrowDown moves forward. Moving past the newest entry restores the unsent draft.
  • Editing a recalled prompt does not change the stored history entry.

Interaction constraints

  • Normal ArrowUp and ArrowDown editing continues inside multiline prompts.
  • Autocomplete menus keep their existing arrow-key behavior.
  • History does not run during IME composition, modified key presses, approvals, or pending user input.
  • History entries include the prompt text that the user saw, not terminal, element, preview, review, or provider-injected payloads.
  • The just-sent optimistic prompt is immediately available.
  • Switching threads does not replace that thread’s unsent draft with recalled text.

Scope

This is a web composer change. Desktop inherits the web client. Mobile has no hardware-arrow interaction to change. No provider or wire contract changes are needed.

Related: #1777 and #4336.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions