feat(chat input): recall previous messages using Up Arrow (#2343)
Closes #1999
<!-- devin-review-badge-begin -->
---
<a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2343">
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open with Devin">
</picture>
</a>
<!-- devin-review-badge-end -->
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Introduces terminal-style history recall in the chat input using a
zero-width trigger and the mentions menu.
>
> - New `HistoryNavigation` plugin listens for `ArrowUp` on empty input
to insert `HISTORY_TRIGGER` and open a history menu; `Escape` clears it
> - Integrates `messageHistory` from `ChatInput` (per-chat user
messages, newest first) into `LexicalChatInput`; home input passes an
empty history
> - Extends mentions to support history items under `HISTORY_TRIGGER`,
customizes menu item rendering, and strips the trigger from the external
value sync/onChange flow
> - Adds comprehensive Playwright e2e tests for opening, navigating,
selecting (Enter/mouse), closing (Escape), and guard cases (non-empty
input, empty history), plus normal message sending after closing
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ea2a9298c6dc7e72a6cc1d3b044a4b6bcacf5bb4. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Recall previous user messages in the chat input using the Up Arrow. This
adds a simple history menu that lets you quickly reuse past prompts
without leaving the input.
- **New Features**
- Press Up Arrow in an empty input to open a history menu (only if
history exists).
- Navigate with Arrow keys, select with Enter or mouse click, and close
with Escape. Defaults to the most recent item.
- Integrates with Lexical via an invisible trigger, and won’t open when
the input has content.
- Pulls user-only messages per chat for history; includes end-to-end
tests covering open, navigation, selection, closing, and guard cases.
<sup>Written for commit d87bc2f712a69f411c3046e9376099656326bca1.
Summary will update on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
---------
Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
正在显示
e2e-tests/chat_history.spec.ts
0 → 100644
请
注册
或者
登录
后发表评论