• 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
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...
windowsSign.ts 正在载入提交数据...