• Adekunle James Adeniji's avatar
    feat(chat input): recall previous messages using Up Arrow (#2343) · ac309b61
    Adekunle James Adeniji 提交于
    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: 's avatarClaude Opus 4.5 <noreply@anthropic.com>
    ac309b61
名称
最后提交
最后更新
..
AgentConsentBanner.tsx 正在载入提交数据...
AttachmentsList.tsx 正在载入提交数据...
AuxiliaryActionsMenu.tsx 正在载入提交数据...
ChatActivity.tsx 正在载入提交数据...
ChatError.tsx 正在载入提交数据...
ChatErrorBox.tsx 正在载入提交数据...
ChatHeader.tsx 正在载入提交数据...
ChatInput.tsx 正在载入提交数据...
ChatMessage.tsx 正在载入提交数据...
CodeHighlight.tsx 正在载入提交数据...
ContextLimitBanner.tsx 正在载入提交数据...
DeleteChatDialog.tsx 正在载入提交数据...
DragDropOverlay.tsx 正在载入提交数据...
DyadAddDependency.tsx 正在载入提交数据...
DyadAddIntegration.tsx 正在载入提交数据...
DyadCodeSearch.tsx 正在载入提交数据...
DyadCodeSearchResult.tsx 正在载入提交数据...
DyadCodebaseContext.tsx 正在载入提交数据...
DyadDatabaseSchema.tsx 正在载入提交数据...
DyadDelete.tsx 正在载入提交数据...
DyadEdit.tsx 正在载入提交数据...
DyadExecuteSql.tsx 正在载入提交数据...
DyadGrep.tsx 正在载入提交数据...
DyadListFiles.tsx 正在载入提交数据...
DyadLogs.tsx 正在载入提交数据...
DyadMarkdownParser.tsx 正在载入提交数据...
DyadMcpToolCall.tsx 正在载入提交数据...
DyadMcpToolResult.tsx 正在载入提交数据...
DyadOutput.tsx 正在载入提交数据...
DyadProblemSummary.tsx 正在载入提交数据...
DyadRead.tsx 正在载入提交数据...
DyadRename.tsx 正在载入提交数据...
DyadSearchReplace.tsx 正在载入提交数据...
DyadStatus.tsx 正在载入提交数据...
DyadSupabaseProjectInfo.tsx 正在载入提交数据...
DyadSupabaseTableSchema.tsx 正在载入提交数据...
DyadThink.tsx 正在载入提交数据...
DyadTokenSavings.tsx 正在载入提交数据...
DyadWebCrawl.tsx 正在载入提交数据...
DyadWebSearch.tsx 正在载入提交数据...
DyadWebSearchResult.tsx 正在载入提交数据...
DyadWrite.tsx 正在载入提交数据...
FileAttachmentDropdown.tsx 正在载入提交数据...
FixAllErrorsButton.tsx 正在载入提交数据...
FreeAgentQuotaBanner.tsx 正在载入提交数据...
HistoryNavigation.tsx 正在载入提交数据...
HomeChatInput.tsx 正在载入提交数据...
LexicalChatInput.tsx 正在载入提交数据...
MessagesList.tsx 正在载入提交数据...
PromoMessage.tsx 正在载入提交数据...
RenameChatDialog.tsx 正在载入提交数据...
SelectedComponentDisplay.tsx 正在载入提交数据...
StreamingLoadingAnimation.tsx 正在载入提交数据...
SummarizeInNewChatButton.tsx 正在载入提交数据...
TodoList.tsx 正在载入提交数据...
TokenBar.tsx 正在载入提交数据...
UncommittedFilesBanner.tsx 正在载入提交数据...
VersionPane.tsx 正在载入提交数据...
monaco.ts 正在载入提交数据...
stateTypes.ts 正在载入提交数据...
types.d.ts 正在载入提交数据...