feat(AI设计): 支持输入框回车发送

需求:AI 设计输入框监听 Enter 并发送消息。

实现:复用现有发送链路,保留 Shift+Enter 换行并保护输入法组合状态;补充聚焦回归测试。
This commit is contained in:
2026-08-06 16:46:19 +08:00
parent 7b23cce67a
commit 4980894017
3 changed files with 91 additions and 5 deletions

View File

@@ -0,0 +1,51 @@
# Task: 支持 AI 设计输入框回车发送
## Identity
- Task ID: 20260806-design-enter-send-b83f
- Mode: Feature
- Branch: codex/design-enter-send-b83f
- Worktree: D:\Datas\OthersProjects\makelore-design-enter-send-b83f
- Base commit: 7b23cce67a1b9e61a48d89dedbd088d37b10ecd4
- Owner: codex
- Status: Completed
## Scope
- 让 AI 设计输入框在非输入法组合状态下按 Enter 直接发送。
- 保留 Shift+Enter 输入换行,并同步更新快捷键提示。
- 增加回车发送、换行和输入法保护的回归测试。
## Intent And Constraints
- 复用现有 `handleSend`不改变消息、Quote 确认与任务创建链路。
- 中文输入法候选确认期间的 Enter 不得误发消息。
- 改动仅限 AI 设计页及其聚焦测试,不触碰原主工作区中的未归属改动。
## Plan
1. 调整输入框键盘事件判定与可见快捷键提示。
2. 覆盖 Enter、Shift+Enter 和 IME composition 三种行为。
3. 执行聚焦测试、类型检查、Lint 与 Vite 构建。
## Outcome
- AI 设计输入框现在按 Enter 即可发送,继续复用既有消息与结构化 Quote 确认逻辑。
- Shift+Enter 保留多行输入;输入法组合状态下按 Enter 不会误发。
- 输入框下方提示已更新为 `Enter 发送 · Shift+Enter 换行`
## Verification
- `vitest run tests/unit/image-canvas-page.test.tsx`21 passed。
- `tsc --noEmit`:通过。
- `eslint src/pages/ImageCanvas/index.tsx tests/unit/image-canvas-page.test.tsx`:通过。
- `vite build`:通过,仅有既有动态导入与 chunk 体积警告。
- 全仓 `eslint .`:未通过,命中本任务之外的既有问题:`src/components/layout/MainLayout.tsx` effect 内同步 setState、`tests/unit/chat-command-dialogs.test.tsx` 未使用变量,以及 6 个既有 warning。
## Follow-ups
- 后续可单独清理全仓既有 Lint 基线问题,不阻塞本次交互修复。
## Promotion Candidates
- None recorded.